Chat

Chat met AI in je eigen app of klantenservicesysteem, met streaming-antwoorden en de mogelijkheid om gesprekken over te dragen aan een medewerker, te beëindigen en te beoordelen.

POST /v1/chat

{
  "message": "有没有 400 美元以内的潜水表?",
  "conversation_id": null,
  "user": {"id": "u_123", "name": "李四", "email": "li@example.com", "ip": "85.214.132.117", "language": null},
  "stream": false
}
  • Als je geen conversation_id meestuurt, wordt een nieuw gesprek aangemaakt; je ontvangt het in de respons en stuurt het bij volgende berichten mee.
  • user geef je rechtstreeks vanuit je server aan ons door (de aanroeper met de API Key is betrouwbaar); alleen als je dit meestuurt, kunnen we bestellingen opzoeken.
  • Standaard antwoordtaal: geef je user.language mee (zoals de, zh-CN, pt-BR), dan gebruiken we die; anders geef je user.ip mee en bepalen we de taal op basis van de locatie; geef je geen van beide mee, dan gebruiken we de standaardtaal uit de backend. Als de klant in het gesprek om een andere taal vraagt, volgen we de wens van de klant.
  • Bij stream: false geven we {"conversation_id", "message", "status", "products"} terug; als message null is, betekent dit dat het gesprek door een medewerker wordt behandeld en het bericht aan een medewerker is overgedragen.
  • Bij stream: true geven we SSE terug; de gebeurtenissen staan in de onderstaande tabel.
Gebeurtenis typeInhoud
user_messageOpgeslagen bericht van de gebruiker
deltaEen stuk tekst text van het antwoord; voeg deze in volgorde samen
productsDoor de AI gevonden productkaarten
languageDe klant heeft om een andere antwoordtaal gevraagd; language is de nieuwe taalcode
statusWijziging van de gespreksstatus (bijvoorbeeld overdracht aan een medewerker)
replaceVervang het volledige tot nu toe ontvangen antwoord door text (bij een fout wordt het vervangen door een fallbacktekst)
queued_for_humanHet gesprek wacht op een medewerker; er is geen AI-antwoord
doneHet uiteindelijk opgeslagen bericht en de gespreksstatus
errorEr is een fout opgetreden

Overige endpoints

MethodePadOmschrijving
GET/v1/conversationsLijst van gesprekken, ?status=&end_user_id=
GET/v1/conversations/{id}/messagesGesprek en alle berichten
POST/v1/conversations/{id}/messagesJe klantenservice-systeem antwoordt als medewerker: {"content", "agent_name"}; het gesprek komt daarna meteen in de status ‘menselijke behandeling’
POST/v1/conversations/{id}/statusActie van de klantenservice: {"status": "ai"} geeft het gesprek terug aan de AI, {"status": "closed"} beëindigt het gesprek
POST/v1/conversations/{id}/closeDe klant beëindigt het gesprek in je app; als het al is beëindigd, wordt ook succes geretourneerd
POST/v1/conversations/{id}/ratingBeoordeling door de klant nadat het gesprek is beëindigd: {"rating": "good" | "bad", "comment": "可选,最多 500 字"}; de beoordeling kan worden gewijzigd

Gespreksstatus: ai (AI antwoordt), pending_human (wacht op een medewerker), human (in behandeling bij een medewerker), closed (beëindigd).

In een gesprek staan ook: closed_by wie het gesprek heeft beëindigd (customer klant, agent medewerker, ai de AI beëindigt het nadat de klant heeft aangegeven geen andere vragen te hebben), rating / rating_comment / rated_at de beoordeling van de klant.

Gesprek beëindigen: Bovenin de webwidget staat de knop ‘Gesprek beëindigen’ (met tweede bevestiging); in de WeChat-miniprogramma wordt het gesprek ook beëindigd als de klant ‘stop’ stuurt; wanneer in ‘Botinstellingen’ de optie ‘AI beëindigt gesprekken automatisch’ aan staat, neemt de AI afscheid en beëindigt het gesprek zodra de klant duidelijk aangeeft geen andere vragen te hebben. Na afloop vraagt de webwidget de klant te beoordelen met tevreden / ontevreden en eventueel een bericht achter te laten; in WeChat wordt de klant gevraagd met 1 of 2 te antwoorden; daarna is een nieuw bericht van de klant een nieuw gesprek.

Toewijzing na overdracht aan een medewerker: In ‘Botinstellingen’ kies je de toewijzingsmethode — toewijzen aan de medewerker met de minste actieve gesprekken (standaard), om de beurt toewijzen, of medewerkers laten zelf oppakken. Automatische toewijzing gaat alleen naar medewerkers die ‘Online’ hebben gekozen en de backendpagina open hebben staan; elke medewerker heeft een maximumaantal gelijktijdige gesprekken (in te stellen op de pagina ‘Team’); als de toegewezen medewerker niet binnen de ingestelde tijd (standaard 2 minuten) reageert, wordt het gesprek opnieuw toegewezen. In het gesprek is assigned_member_id de toegewezen medewerker, assigned_at het toewijzingstijdstip en handoff_at het tijdstip van overdracht aan een medewerker. Als alle medewerkers vol zitten, komen klanten in de wachtrij en laat de webwidget zien hoeveel mensen er voor hen staan.

Openingstijden en berichten achterlaten: Wanneer je in ‘Botinstellingen’ openingstijden inschakelt, komen klanten buiten openingstijden niet in de wachtrij wanneer ze aan een medewerker worden overgedragen; in de webwidget verschijnt een formulier om een bericht achter te laten (naam, e-mail of telefoon, vraag). In WeChat en bij gesprekken via de open API vraagt de AI de klant om een bericht achter te laten; hetzelfde geldt tijdens openingstijden wanneer er geen medewerker online is. Berichten die worden achtergelaten, genereren een ticket; wanneer een medewerker antwoordt, wordt het antwoord in het oorspronkelijke gesprek geplaatst als dat nog niet is beëindigd, en als de klant een e-mailadres heeft achtergelaten, wordt er ook namens de winkel een e-mail gestuurd. Als berichten alleen naar jouw systeem worden gepusht (bij de overdrachtsmethode is ‘Naar mijn systeem pushen’ gekozen), wordt er geen rekening gehouden met openingstijden.

Was deze pagina nuttig?

Laatst bijgewerkt: