Zusammenfassungs-API
Über die API sind zwei Arten von KI-generierten Zusammenfassungen verfügbar:
-
Chat-Zusammenfassungen — eine kurze Zusammenfassung der Konversation eines Kontakts, die bei Bedarf erstellt wird. Dies entspricht dem Zusammenfassungs-Steuerelement in einem Chat (siehe Chat-Zusammenfassung).
-
Tägliche Zusammenfassungen — der tägliche Überblick über alle Ihre Konversationen, den Tägliche Zusammenfassungen jeden Morgen erstellt: Statistiken, ein Markdown-Block pro Abschnitt und alle Aufgaben, die die KI daraus erstellt hat.
-
Basis-URL —
https://api.dmchamp.com/v1 -
Authentifizierung — Ihr API-Schlüssel (siehe Authentifizierung). Ein bereichsbeschränkter Schlüssel benötigt den Abschnitt
Summaries. -
Fehler & Paging — siehe Fehler & Paginierung
Alle nachstehenden Beispiele zeigen die ?apiKey=-Abfrageform in cURL und den X-API-Key-Header in JavaScript und Python – beides funktioniert an jedem Endpunkt.
Chat-Zusammenfassung generieren
POST /summaries — senden Sie die phoneNumber des Kontakts (mit Ländervorwahl) oder die email; einer der beiden Werte ist erforderlich.
Die KI liest die zuletzt geschlossene Konversation des Kontakts oder diejenige, die noch offen ist, falls noch keine geschlossen wurde, und schreibt eine Zusammenfassung. Die Zusammenfassung wird beim Kontakt gespeichert (sie erscheint unter Zusammenfassungen im Kontaktbereich der App) und in der Antwort zurückgegeben, sodass Sie sie direkt an ein CRM, einen Slack-Kanal oder eine E-Mail weiterleiten können.
Kosten: dieselben wie für eine KI-Antwort auf der KI-Qualitätsstufe des Agenten — Pro 1 Credit, Max 0,25, Mini 0,15; bei Verwendung Ihres eigenen Anthropic-Schlüssels kostet Pro 0. Die Anfrage wird abgelehnt, bevor etwas generiert wird, wenn das Guthaben nicht ausreicht.
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"])
Antwort
{
"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 | Bedeutung |
|---|---|
400 |
Weder phoneNumber noch email wurde gesendet. |
404 |
Es wurde kein Kontakt gefunden, der Kontakt hat noch keine Konversation oder die Konversation enthält keine Nachrichten. Der message im Body gibt an, welcher Fall vorliegt. |
500 |
Generierung fehlgeschlagen (z. B. nicht genügend Credits). |
Automatisierungsrezept: Buchungs-E-Mail mit Zusammenfassung. Fügen Sie in einer Automatisierung beim Auslöser Termin gebucht einen HTTP-Anfrage-Schritt hinzu, der diesen Endpunkt mit
${trigger.contact.phone_number}(oder der E-Mail-Adresse des Kontakts) aufruft, gefolgt von einem E-Mail-Schritt, der diesummaryaus der Antwort des HTTP-Schritts zusammen mit einem Link zum Chat einfügt (die Adresse Ihrer App gefolgt von/chats/und der Kontakt-ID aus dem Auslöser). Ihr Team erhält den Kontext der Buchung in derselben E-Mail, ohne den Posteingang öffnen zu müssen.
Zusammenfassungen erneut lesen. Es gibt keinen Endpunkt, der gespeicherte Chat-Zusammenfassungen auflistet. Bewahren Sie den Text aus der Antwort auf, wenn Sie ihn später benötigen, oder generieren Sie ihn erneut (jeder Aufruf wird berechnet).
Alternative: nach Kontakt-ID
POST /summaries/chat-summary mit {"contactId": "..."} führt dieselbe Generierung für einen Kontakt durch, dessen ID Sie bereits besitzen. Es bestätigt nur den Erfolg ({"success": true, "data": "Chat summary generated successfully"}) und gibt den Text nicht zurück. Verwenden Sie daher POST /summaries, wenn Sie die Zusammenfassung selbst benötigen. Ein Teammitglied, dessen Schlüssel auf zugewiesene Kontakte beschränkt ist, erhält 404 für einen Kontakt außerhalb dieses Bereichs.
Tägliche Zusammenfassung abrufen
GET /summaries/daily/{date} — date ist YYYY-MM-DD. Gibt die Zusammenfassung für diesen Tag zurück oder null unter summary, wenn noch keine generiert wurde, zuzüglich Ihrer Abschnittskonfiguration.
cURL
curl "https://api.dmchamp.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"
Antwort
{
"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,completedoderfailed(mit gesetztemerror). Fragen Sie diesen Endpunkt nach einer Neugenerierung ab, bis ercompletedanzeigt.sections— ein Markdown-String pro Abschnitt, identifiziert durch die Abschnitts-ID. Die fünf Standardabschnitte sindwins_losses_improvements,tasks_action_items,human_alerts_reviews,sentiment_analysisundbooked_meetings_sales; Abschnitte, die Sie unter Konfigurieren auf der Seite „Tägliche Zusammenfassungen“ hinzufügen, erhalten einecustom_…-ID. Namen und Reihenfolge werden insection_configswiedergegeben.contact_map— Anzeigename zu Kontakt-ID, damit Sie die Namen im Text in Links umwandeln können.auto_tasks/created_task_ids— die von der KI extrahierten Aktionspunkte und die daraus erstellten Aufgaben (wenn Aufgabenkarten aus Aktionspunkten erstellen aktiviert ist).
| Status | Bedeutung |
|---|---|
400 |
date ist nicht YYYY-MM-DD oder liegt in der Zukunft. |
403 |
Tägliche Zusammenfassungen sind für das Konto deaktiviert. |
Bevorzugen Sie Push statt Polling? Das Daily Summary Created Webhook-Ereignis liefert denselben Payload in dem Moment, in dem eine morgendliche Zusammenfassung fertiggestellt wird.
Tägliche Zusammenfassung neu generieren
POST /summaries/daily/{date}/regenerate — startet eine neue Generierung für diesen Tag im Hintergrund und kehrt sofort mit status: "generating" und leerem sections zurück. Fragen Sie GET /summaries/daily/{date} ab, bis der Vorgang abgeschlossen ist. Es gelten dieselben Regeln wie für den Link Erneut versuchen in der App.
Der optionale Body {"deleteTasks": false} behält die Aufgaben bei, die beim vorherigen Durchlauf erstellt wurden; standardmäßig werden diese gelöscht und aus der neuen Zusammenfassung neu erstellt. Senden Sie einen echten Boolean — der String "false" wird ignoriert und als Standard behandelt.
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}'
Kurzübersicht
| Aufgabe | Endpunkt |
|---|---|
| Chat-Zusammenfassung generieren und Text abrufen | POST /summaries |
| Chat-Zusammenfassung nach Kontakt-ID generieren (kein Text zurückgegeben) | POST /summaries/chat-summary |
| Zusammenfassung eines Tages lesen | GET /summaries/daily/{date} |
| Zusammenfassung eines Tages neu generieren | POST /summaries/daily/{date}/regenerate |