Summaries API
To typer AI-genererede resuméer er tilgængelige via API’en:
-
Chatresuméer — et kort referat af én kontakts samtale, genereret efter behov. Det samme som resumé-kontrollen i en chat (se Chatresumé).
-
Daglige resuméer — det daglige overblik over alle dine samtaler, som Daglige resuméer opretter hver morgen: statistik, én markdown-blok pr. sektion og eventuelle opgaver, som AI’en har oprettet ud fra det.
-
Base URL —
https://api.dmchamp.com/v1 -
Godkendelse — din API-nøgle (se Godkendelse). En begrænset nøgle kræver sektionen
Summaries. -
Fejl og paginering — se Fejl og paginering
Alle eksempler herunder viser ?apiKey= forespørgselsformen i cURL og X-API-Key headeren i JavaScript og Python — begge virker på alle slutpunkter.
Generer et chatresumé
POST /summaries — send kontaktens phoneNumber (med landekode) eller email; en af de to er påkrævet.
AI’en læser kontaktens senest afsluttede samtale, eller den der stadig er åben, hvis ingen er afsluttet endnu, og skriver et referat af den. Referatet gemmes på kontakten (det vises under Resuméer i kontaktpanelet i appen) og returneres i svaret, så du kan videresende det direkte til et CRM-system, en Slack-kanal eller en e-mail.
Pris: det samme som ét AI-svar på agentens AI-kvalitetsniveau — Pro 1 kredit, Max 0,25, Mini 0,15; med din egen Anthropic-nøgle tilsluttet koster Pro 0. Anmodningen afvises, før noget genereres, hvis saldoen ikke dækker det.
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 | Betydning |
|---|---|
400 |
Hverken phoneNumber eller email blev sendt. |
404 |
Ingen kontakt matcher, kontakten har endnu ingen samtale, eller samtalen har ingen beskeder. Brødtekstens message angiver hvilken. |
500 |
Generering mislykkedes (f.eks. ikke nok kreditter). |
Automatiseringsopskrift: booking-e-mail med referat. I en automatisering på udløseren Aftale booket, tilføj et HTTP-anmodning-trin, der kalder dette endepunkt med
${trigger.contact.phone_number}(eller kontaktens e-mail), derefter et E-mail-trin, der indsættersummaryfra HTTP-trinets svar sammen med et link til chatten (din apps adresse efterfulgt af/chats/og kontakt-ID’et fra udløseren). Dit team får konteksten for bookingen i den samme e-mail uden at skulle åbne indbakken.
Læsning af resuméer. Der findes intet endepunkt, der viser gemte chatresuméer. Gem teksten fra svaret, hvis du skal bruge den senere, eller generer den igen (hvert kald faktureres).
Alternativ: via kontakt-ID
POST /summaries/chat-summary med {"contactId": "..."} udfører den samme generering for en kontakt, hvis ID du allerede har. Den bekræfter kun succes ({"success": true, "data": "Chat summary generated successfully"}) og returnerer ikke teksten, så brug POST /summaries, når du ønsker selve referatet. Et teammedlem, hvis nøgle er begrænset til deres tildelte kontakter, får 404 for en kontakt uden for dette område.
Hent et dagligt resumé
GET /summaries/daily/{date} — date er YYYY-MM-DD. Returnerer resuméet for den dag, eller null under summary, når intet er genereret endnu, 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 }
]
}
}
status—pending,generating,completedellerfailed(mederrorindstillet). Forespørg dette endpoint efter en gendannelse, indtil det læsercompleted.sections— én markdown-streng pr. sektion, sorteret efter sektions-id. De fem standardsektioner erwins_losses_improvements,tasks_action_items,human_alerts_reviews,sentiment_analysisogbooked_meetings_sales; sektioner, du tilføjer under Konfigurer på siden Daglige resuméer, får etcustom_…-id. Navne og rækkefølge gentages isection_configs.contact_map— visningsnavn til kontakt-id, så du kan omdanne navnene i teksten til links.auto_tasks/created_task_ids— de handlingspunkter, som AI’en har udtrækket, og de opgaver, den har oprettet ud fra dem (når Opret opgavekort fra handlingspunkter er slået til).
| Status | Betydning |
|---|---|
400 |
date er ikke YYYY-MM-DD, eller ligger i fremtiden. |
403 |
Daglige resuméer er slået fra for kontoen. |
Foretrækker du push frem for polling? Webhook-begivenheden Daily Summary Created leverer den samme payload i det øjeblik, et morgenresumé er færdigt.
Gendan et dagligt resumé
POST /summaries/daily/{date}/regenerate — starter en ny generering for den pågældende dag i baggrunden og returnerer med det samme med status: "generating" og tomt sections. Forespørg GET /summaries/daily/{date}, indtil det er fuldført. De samme regler gælder som for linket Prøv igen i appen.
Valgfri body {"deleteTasks": false} beholder de opgaver, som den forrige kørsel oprettede; som standard slettes de og oprettes på ny ud fra det nye resumé. Send en reel boolean — strengen "false" ignoreres og behandles som standardværdien.
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}'
Hurtig reference
| Opgave | Endpoint |
|---|---|
| Generer et chatresumé og hent teksten | POST /summaries |
| Generer et chatresumé efter kontakt-id (ingen tekst returneres) | POST /summaries/chat-summary |
| Læs et dagsresumé | GET /summaries/daily/{date} |
| Gendan et dagsresumé | POST /summaries/daily/{date}/regenerate |