DM Champ Docs

Summaries API

Två typer av AI-genererade sammanfattningar finns tillgängliga via API:et:

  • Chattsammanfattningar — en kort återblick av en kontakts konversation, genererad på begäran. Samma sak som sammanfattningskontrollen i en chatt (se Chattsammanfattning).

  • Dagliga sammanfattningar — den dagliga sammanställningen av alla dina konversationer som Dagliga sammanfattningar skapar varje morgon: statistik, ett markdown-block per sektion och eventuella uppgifter som AI:n skapat utifrån den.

  • Bas-URLhttps://api.dmchamp.com/v1

  • Autentisering — din API-nyckel (se Autentisering). En begränsad nyckel behöver sektionen Summaries.

  • Fel & paginering — se Fel & Paginering

Alla exempel nedan visar frågeformuläret ?apiKey= i cURL och headern X-API-Key i JavaScript och Python — båda fungerar på alla slutpunkter.


Generera en chattsammanfattning

POST /summaries — skicka kontaktens phoneNumber (med landsnummer) eller email; en av de två krävs.

AI:n läser kontaktens senast avslutade konversation, eller den som fortfarande är öppen om ingen har avslutats än, och skriver en återblick av den. Återblicken lagras på kontakten (den visas under Sammanfattningar i kontaktpanelen i appen) och returneras i svaret, så att du kan skicka den vidare direkt till ett CRM, en Slack-kanal eller ett e-postmeddelande.

Kostnad: samma som ett AI-svar på agentens AI-kvalitetsnivå — Pro 1 kredit, Max 0,25, Mini 0,15; med din egen Anthropic-nyckel ansluten kostar Pro 0. Förfrågan nekas innan något genereras om saldot inte täcker kostnaden.

cURL

curl -X POST "https://api.dmchamp.com/v1/summaries?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber": "+31612345678"}'

JavaScript

const res = await fetch("https://api.dmchamp.com/v1/summaries", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ email: "jane@example.com" }),
});
const { summary } = await res.json();

Python

import requests

r = requests.post(
    "https://api.dmchamp.com/v1/summaries",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"phoneNumber": "+31612345678"},
)
print(r.json()["summary"])

Svar

{
  "success": true,
  "message": "Chat summary generated successfully",
  "summary": "Jane asked about the 10-session package for her two children (ages 6 and 9) and preferred Saturday mornings. She booked a trial lesson for Saturday at 10:00 and wants to know whether siblings get a discount."
}
Status Betydelse
400 Varken phoneNumber eller email skickades.
404 Ingen kontakt matchar, kontakten har ingen konversation än, eller konversationen har inga meddelanden. Kroppens message anger vilket.
500 Genereringen misslyckades (till exempel på grund av otillräckliga krediter).

Automatiseringsrecept: boknings-e-post med återblick. I en automatisering för utlösaren Tid bokad, lägg till ett HTTP-förfrågningssteg som anropar denna slutpunkt med ${trigger.contact.phone_number} (eller kontaktens e-post), följt av ett E-poststeg som infogar summary från HTTP-stegets svar tillsammans med en länk till chatten (din apps adress följt av /chats/ och kontakt-ID:t från utlösaren). Ditt team får kontexten för bokningen i samma e-postmeddelande, utan att behöva öppna inkorgen.

Läsa sammanfattningar i efterhand. Det finns ingen slutpunkt som listar lagrade chattsammanfattningar. Spara texten från svaret om du behöver den senare, eller generera den igen (varje anrop debiteras).

Alternativ: via kontakt-ID

POST /summaries/chat-summary med {"contactId": "..."} utför samma generering för en kontakt vars ID du redan har. Den bekräftar endast framgång ({"success": true, "data": "Chat summary generated successfully"}) och returnerar inte texten, så använd POST /summaries när du vill ha själva återblicken. En teammedlem vars nyckel är begränsad till sina tilldelade kontakter får 404 för en kontakt utanför det omfånget.


Hämta en daglig sammanfattning

GET /summaries/daily/{date}date är YYYY-MM-DD. Returnerar sammanfattningen för den dagen, eller null under summary när ingen har genererats än, plus din sektionskonfiguration.

cURL

curl "https://api.dmchamp.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"

Svar

{
  "success": true,
  "data": {
    "summary": {
      "date": "2026-09-08",
      "status": "completed",
      "generated_at": "2026-09-09T05:02:11.000Z",
      "stats": {
        "total_conversations": 42,
        "total_messages_sent": 310,
        "total_messages_received": 268,
        "human_alerts": 3,
        "bookings": 5,
        "new_contacts": 11,
        "sales": 2
      },
      "sections": {
        "wins_losses_improvements": "## Wins\n- ...",
        "tasks_action_items": "- Call Jane back about the sibling discount",
        "human_alerts_reviews": "...",
        "sentiment_analysis": "...",
        "booked_meetings_sales": "..."
      },
      "contact_map": { "Jane Doe": "uid_whatsapp_31612345678" },
      "auto_tasks": [],
      "created_task_ids": []
    },
    "section_configs": [
      { "id": "wins_losses_improvements", "name": "Wins, Losses & Improvements", "enabled": true, "position": 0 }
    ]
  }
}
  • statuspending, generating, completed eller failed (med error inställt). Poll-anropa denna slutpunkt efter en återskapning tills den läser completed.
  • sections — en markdown-sträng per sektion, nycklad efter sektions-id. De fem standardsektionerna är wins_losses_improvements, tasks_action_items, human_alerts_reviews, sentiment_analysis och booked_meetings_sales; sektioner du lägger till under Konfigurera på sidan Dagliga sammanfattningar får ett custom_…-id. Namn och ordning återspeglas i section_configs.
  • contact_map — visningsnamn till kontakt-ID, så att du kan göra om namnen i texten till länkar.
  • auto_tasks / created_task_ids — de åtgärdspunkter som AI:n extraherade och de uppgifter den skapade från dem (när Skapa uppgiftskort från åtgärdspunkter är aktiverat).
Status Betydelse
400 date är inte YYYY-MM-DD, eller ligger i framtiden.
403 Dagliga sammanfattningar är avstängt för kontot.

Föredrar du push framför polling? Webhook-händelsen Daglig sammanfattning skapad levererar samma nyttolast i samma ögonblick som en morgonsammanfattning är klar.


Återskapa en daglig sammanfattning

POST /summaries/daily/{date}/regenerate — startar en ny generering för den dagen i bakgrunden och returnerar omedelbart med status: "generating" och tom sections. Poll-anropa GET /summaries/daily/{date} tills den är klar. Samma regler gäller som för länken Försök igen i appen.

Valfri brödtext {"deleteTasks": false} behåller uppgifterna som den föregående körningen skapade; som standard raderas de och återskapas från den nya sammanfattningen. Skicka ett faktiskt booleskt värde — strängen "false" ignoreras och behandlas som standardvärdet.

curl -X POST "https://api.dmchamp.com/v1/summaries/daily/2026-09-08/regenerate?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deleteTasks": false}'

Snabbreferens

Uppgift Slutpunkt
Generera en chattsammanfattning och hämta texten POST /summaries
Generera en chattsammanfattning via kontakt-ID (ingen text returneras) POST /summaries/chat-summary
Läs en dags sammanfattning GET /summaries/daily/{date}
Återskapa en dags sammanfattning POST /summaries/daily/{date}/regenerate