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_idmeestuurt, wordt een nieuw gesprek aangemaakt; je ontvangt het in de respons en stuurt het bij volgende berichten mee. usergeef 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.languagemee (zoalsde,zh-CN,pt-BR), dan gebruiken we die; anders geef jeuser.ipmee 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: falsegeven we{"conversation_id", "message", "status", "products"}terug; alsmessagenullis, betekent dit dat het gesprek door een medewerker wordt behandeld en het bericht aan een medewerker is overgedragen. - Bij
stream: truegeven we SSE terug; de gebeurtenissen staan in de onderstaande tabel.
Gebeurtenis type | Inhoud |
|---|---|
user_message | Opgeslagen bericht van de gebruiker |
delta | Een stuk tekst text van het antwoord; voeg deze in volgorde samen |
products | Door de AI gevonden productkaarten |
language | De klant heeft om een andere antwoordtaal gevraagd; language is de nieuwe taalcode |
status | Wijziging van de gespreksstatus (bijvoorbeeld overdracht aan een medewerker) |
replace | Vervang het volledige tot nu toe ontvangen antwoord door text (bij een fout wordt het vervangen door een fallbacktekst) |
queued_for_human | Het gesprek wacht op een medewerker; er is geen AI-antwoord |
done | Het uiteindelijk opgeslagen bericht en de gespreksstatus |
error | Er is een fout opgetreden |
Overige endpoints
| Methode | Pad | Omschrijving |
|---|---|---|
| GET | /v1/conversations | Lijst van gesprekken, ?status=&end_user_id= |
| GET | /v1/conversations/{id}/messages | Gesprek en alle berichten |
| POST | /v1/conversations/{id}/messages | Je klantenservice-systeem antwoordt als medewerker: {"content", "agent_name"}; het gesprek komt daarna meteen in de status ‘menselijke behandeling’ |
| POST | /v1/conversations/{id}/status | Actie van de klantenservice: {"status": "ai"} geeft het gesprek terug aan de AI, {"status": "closed"} beëindigt het gesprek |
| POST | /v1/conversations/{id}/close | De klant beëindigt het gesprek in je app; als het al is beëindigd, wordt ook succes geretourneerd |
| POST | /v1/conversations/{id}/rating | Beoordeling 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:
