Your AI Connector Docs

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.youraiconnector.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.youraiconnector.com/v1/summaries?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber": "+31612345678"}'

JavaScript

const res = await fetch("https://api.youraiconnector.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.youraiconnector.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ă summary din 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.


Citește cele mai recente rezumate ale conversațiilor pentru mai multe contacte

POST /contacts/summaries/latest — trimite până la 500 de ID-uri de contact și primește înapoi cel mai recent rezumat al conversației fiecărui contact într-un singur apel. Nu se generează nimic, deci nu costă credite. Aceasta este citirea din spatele coloanei Rezumat AI din exportul CSV al contactelor.

{ "contactIds": ["contact_abc123", "contact_def456"] }

Răspuns

{
  "success": true,
  "summaries": {
    "contact_abc123": {
      "summary": "Asked for a quote for 20 units, prefers delivery next week.",
      "end_date_time": "2026-09-15T14:02:11.000Z"
    }
  }
}

Un contact care nu are încă un rezumat, nu se află în contul tău sau este în afara contactelor vizibile ale unui membru al echipei este pur și simplu omis din summaries. ID-urile trebuie să fie unice, iar o listă cu mai mult de 500 de elemente va fi refuzată cu 400: împarte-o în loturi. Un membru al echipei are nevoie de cel puțin permisiunea Vizualizare pentru Mesaje.

curl -X POST "https://api.youraiconnector.com/v1/contacts/summaries/latest?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contactIds": ["contact_abc123", "contact_def456"]}'

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.youraiconnector.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, completed sau failed (cu error setat). Interogați acest endpoint după o regenerare până când starea devine completed.
  • sections — un șir markdown per secțiune, identificat prin ID-ul secțiunii. Cele cinci secțiuni standard sunt wins_losses_improvements, tasks_action_items, human_alerts_reviews, sentiment_analysis și booked_meetings_sales; secțiunile pe care le adăugați în Configurare pe pagina Rezumate zilnice primesc un ID custom_…. Numele și ordinea sunt reflectate în section_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.youraiconnector.com/v1/summaries/daily/2026-09-08/regenerate?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deleteTasks": false}'

Referință rapidă

Sarcină Endpoint
Generează un rezumat al conversației și obține textul POST /summaries
Generează un rezumat al conversației după ID-ul contactului (nu se returnează text) POST /summaries/chat-summary
Citește cel mai recent rezumat al conversației pentru până la 500 de contacte POST /contacts/summaries/latest
Citește rezumatul unei zile GET /summaries/daily/{date}
Regenerează rezumatul unei zile POST /summaries/daily/{date}/regenerate