API pentru rezumate
Două tipuri de rezumate scrise de AI sunt disponibile prin API:
-
Rezumate chat — o recapitulare scurtă a conversației unui contact, generată la cerere. Este același lucru cu controlul de rezumat dintr-un chat (vezi Rezumat chat).
-
Rezumate zilnice — sinteza zilnică a tuturor conversațiilor tale pe care Rezumate zilnice o generează în fiecare dimineață: statistici, un bloc markdown per secțiune și orice sarcini pe care AI-ul le-a creat pe baza acestora.
-
URL de bază —
https://api.dmchamp.com/v1 -
Autentificare — cheia ta API (vezi Autentificare). O cheie cu domeniu limitat necesită secțiunea
Summaries. -
Erori și paginare — vezi Erori și paginare
Toate exemplele de mai jos arată forma de interogare ?apiKey= în cURL și antetul X-API-Key în JavaScript și Python — oricare dintre ele funcționează pe fiecare endpoint.
Generarea unui rezumat de chat
POST /summaries — trimite phoneNumber al contactului (cu prefixul țării) sau email; unul dintre cele două este obligatoriu.
AI-ul citește cea mai recentă conversație închisă a contactului sau pe cea care este încă deschisă, dacă nu a fost închisă niciuna, și scrie o recapitulare a acesteia. Recapitularea este stocată în profilul contactului (apare sub Rezumate în panoul de contact din aplicație) și este returnată în răspuns, astfel încât să o poți redirecționa direct către un CRM, un canal Slack sau un e-mail.
Cost: același ca pentru un răspuns AI la nivelul de calitate AI al Agentului — Pro 1 credit, Max 0.25, Mini 0.15; cu propria cheie Anthropic conectată, Pro costă 0. Cererea este refuzată înainte de a fi generat ceva dacă soldul nu acoperă costul.
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"])
Răspuns
{
"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 | Semnificație |
|---|---|
400 |
Nu a fost trimis nici phoneNumber, nici email. |
404 |
Nu există niciun contact corespondent, contactul nu are încă nicio conversație sau conversația nu are mesaje. Câmpul message din corp explică motivul. |
500 |
Generarea a eșuat (de exemplu, credite insuficiente). |
Rețetă de automatizare: e-mail de programare cu recapitulare. Într-o automatizare cu declanșatorul Programare efectuată, adaugă un pas de Cerere HTTP care apelează acest endpoint cu
${trigger.contact.phone_number}(sau adresa de e-mail a contactului), apoi un pas de E-mail care insereazăsummarydin răspunsul pasului HTTP împreună cu un link către chat (adresa aplicației tale urmată de/chats/și ID-ul contactului din declanșator). Echipa ta primește contextul programării în același e-mail, fără a deschide inbox-ul.
Citirea rezumatelor. Nu există un endpoint care să listeze rezumatele de chat stocate. Păstrează textul din răspuns dacă ai nevoie de el mai târziu sau generează-l din nou (fiecare apel este facturat).
Alternativă: după ID-ul contactului
POST /summaries/chat-summary cu {"contactId": "..."} efectuează aceeași generare pentru un contact al cărui ID îl deții deja. Acesta confirmă doar succesul ({"success": true, "data": "Chat summary generated successfully"}) și nu returnează textul, deci folosește POST /summaries atunci când dorești recapitularea propriu-zisă. Un membru al echipei a cărui cheie este limitată la contactele alocate primește 404 pentru un contact din afara acelui domeniu.
Obținerea unui rezumat zilnic
GET /summaries/daily/{date} — date este YYYY-MM-DD. Returnează rezumatul pentru acea zi sau null sub summary atunci când nu a fost generat încă niciunul, plus configurația secțiunilor tale.
cURL
curl "https://api.dmchamp.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"
Răspuns
{
"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,completedsaufailed(cuerrorsetat). Interogați acest endpoint după o regenerare până când starea devinecompleted.sections— un șir markdown per secțiune, identificat prin ID-ul secțiunii. Cele cinci secțiuni standard suntwins_losses_improvements,tasks_action_items,human_alerts_reviews,sentiment_analysisșibooked_meetings_sales; secțiunile pe care le adăugați în Configurare pe pagina Rezumate zilnice primesc un IDcustom_…. Numele și ordinea sunt reflectate însection_configs.contact_map— nume afișat către ID de contact, astfel încât să puteți transforma numele din text în linkuri.auto_tasks/created_task_ids— elementele de acțiune extrase de AI și sarcinile create din acestea (când Creează carduri de sarcini din elementele de acțiune este activat).
| Status | Semnificație |
|---|---|
400 |
date nu este YYYY-MM-DD sau este în viitor. |
403 |
Rezumatele zilnice sunt dezactivate pentru cont. |
Preferați un push în locul interogării? Evenimentul webhook Rezumat zilnic creat livrează același payload în momentul în care un rezumat de dimineață este finalizat.
Regenerarea unui rezumat zilnic
POST /summaries/daily/{date}/regenerate — pornește o generare nouă pentru ziua respectivă în fundal și returnează imediat status: "generating" și un sections gol. Interogați GET /summaries/daily/{date} până când se finalizează. Se aplică aceleași reguli ca pentru linkul Încearcă din nou din aplicație.
Corpul opțional {"deleteTasks": false} păstrează sarcinile create de rularea anterioară; în mod implicit, acestea sunt șterse și recreate din noul rezumat. Trimiteți o valoare booleană reală — șirul "false" este ignorat și tratat ca valoare implicită.
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}'
Referință rapidă
| Sarcină | Endpoint |
|---|---|
| Generați un rezumat al chatului și obțineți textul | POST /summaries |
| Generați un rezumat al chatului după ID-ul de contact (nu se returnează text) | POST /summaries/chat-summary |
| Citiți rezumatul unei zile | GET /summaries/daily/{date} |
| Regenerați rezumatul unei zile | POST /summaries/daily/{date}/regenerate |