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-URL —
https://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 infogarsummaryfrå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 }
]
}
}
status—pending,generating,completedellerfailed(mederrorinställt). Poll-anropa denna slutpunkt efter en återskapning tills den läsercompleted.sections— en markdown-sträng per sektion, nycklad efter sektions-id. De fem standardsektionerna ärwins_losses_improvements,tasks_action_items,human_alerts_reviews,sentiment_analysisochbooked_meetings_sales; sektioner du lägger till under Konfigurera på sidan Dagliga sammanfattningar får ettcustom_…-id. Namn och ordning återspeglas isection_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 |