Rozmowa

Prowadź rozmowy z AI w swojej aplikacji lub systemie obsługi klienta — z odpowiedziami strumieniowymi oraz przekazywaniem rozmowy do konsultanta, jej zakończeniem i oceną.

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
}
  • Jeśli nie przekażesz conversation_id, zostanie utworzona nowa konwersacja; jej identyfikator zostanie zwrócony w odpowiedzi i należy go dołączać do kolejnych wiadomości.
  • user przekazuje nam bezpośrednio Twój serwer (wywołujący z API Key jest uznawany za zaufanego); tylko gdy go przekażesz, możemy sprawdzić zamówienia.
  • Domyślny język odpowiedzi: jeśli przekażesz user.language (np. de, zh-CN, pt-BR), zostanie on użyty; w przeciwnym razie przekaż user.ip, a my ustalimy język na podstawie lokalizacji; jeśli nie przekażesz żadnego z nich, użyty zostanie domyślny język z panelu. Jeśli klient w rozmowie poprosi o zmianę języka, decyduje jego prośba.
  • Gdy stream: false, zwracane jest {"conversation_id", "message", "status", "products"}; message ma wartość null, co oznacza, że konwersacja jest obsługiwana przez człowieka, a wiadomość została przekazana do konsultanta.
  • Gdy stream: true, zwracane są zdarzenia SSE; opis znajdziesz w tabeli poniżej.
Zdarzenie typeZawartość
user_messageZapisana wiadomość klienta
deltaFragment tekstu odpowiedzi text; łącz fragmenty w podanej kolejności
productsKarty produktów znalezione przez AI
languageKlient poprosił o zmianę języka odpowiedzi; language to nowy kod języka
statusZmiana statusu konwersacji (np. przekazanie do człowieka)
replaceZastąpienie całej otrzymanej odpowiedzi tekstem text (w razie błędu zastępuje ją komunikat awaryjny)
queued_for_humanKonwersacja jest obsługiwana przez człowieka; brak odpowiedzi AI
doneOstatecznie zapisana wiadomość i status konwersacji
errorBłąd

Inne endpointy

MetodaŚcieżkaOpis
GET/v1/conversationsLista konwersacji, ?status=&end_user_id=
GET/v1/conversations/{id}/messagesKonwersacja i wszystkie wiadomości
POST/v1/conversations/{id}/messagesTwoja obsługa klienta odpowiada jako konsultant: {"content", "agent_name"}; konwersacja od razu przechodzi w stan obsługi przez człowieka
POST/v1/conversations/{id}/statusDziałanie po stronie obsługi klienta: {"status": "ai"} przekazuje z powrotem do AI, {"status": "closed"} kończy konwersację
POST/v1/conversations/{id}/closeKlient kończy konwersację w Twojej aplikacji; jeśli została już zakończona, również zwracany jest sukces
POST/v1/conversations/{id}/ratingOcena klienta po zakończeniu konwersacji: {"rating": "good" | "bad", "comment": "可选,最多 500 字"}; można ją zmienić

Statusy konwersacji: ai (odpowiada AI), pending_human (oczekuje na człowieka), human (obsługa przez człowieka), closed (zakończona).

W konwersacji znajdują się też: closed_by — kto zakończył (customer — klient, agent — konsultant, ai — AI zakończyło, gdy klient zgłosił brak dalszych pytań), rating / rating_comment / rated_at — ocena klienta.

Zakończenie konwersacji: w nagłówku okna na stronie znajduje się przycisk „Zakończ konwersację” (z dodatkowym potwierdzeniem); w mini-programie WeChat klient może również zakończyć, wysyłając „Zakończ”. Gdy w „Ustawieniach bota” włączysz „AI automatycznie kończy konwersację”, AI żegna się i kończy konwersację, jeśli klient jasno stwierdzi, że nie ma dalszych pytań. Po zakończeniu okno na stronie prosi klienta o ocenę „zadowolony / niezadowolony” i pozwala pozostawić komentarz; w WeChat klient jest proszony o odpowiedź 1 lub 2. Późniejsza wiadomość od klienta rozpoczyna nową konwersację.

Przydzielanie po przekazaniu do człowieka: w „Ustawieniach bota” wybierz sposób przydzielania — do konsultanta z najmniejszą liczbą aktywnych konwersacji (domyślnie), przydzielanie na zmianę albo samodzielne odbieranie przez konsultantów. Automatyczne przydzielanie obejmuje tylko konsultantów, którzy wybrali „online” i mają otwartą stronę panelu; każdy ma limit równoczesnych rozmów (ustawiany na stronie „Zespół”). Jeśli przydzielony konsultant nie odpowie w ustalonym czasie (domyślnie 2 minuty), rozmowa zostanie przekazana komuś innemu. W konwersacji assigned_member_id to przydzielony konsultant, assigned_at to czas przydzielenia, a handoff_at to czas przekazania do człowieka. Gdy wszyscy są zajęci, klienci czekają w kolejce, a okno na stronie pokazuje, ile osób jest przed nimi.

Godziny pracy i zostawianie wiadomości: po włączeniu godzin pracy w „Ustawieniach bota”, gdy klient chce przekazania do człowieka poza godzinami pracy, nie trafia do kolejki; w oknie na stronie pojawia się formularz wiadomości (imię/nazwa, e-mail lub telefon, pytanie), a w rozmowach w WeChat i przez Open API AI prosi klienta o pozostawienie wiadomości. To samo dotyczy sytuacji, gdy w godzinach pracy nie ma żadnego konsultanta online. Pozostawiona wiadomość tworzy zgłoszenie. Gdy konsultant odpowiada, a pierwotna konwersacja nie została jeszcze zakończona, odpowiedź trafia do konwersacji; jeśli klient podał e-mail, wiadomość zostanie wysłana także e-mailem w imieniu sklepu. Gdy wiadomości są przekazywane wyłącznie do Twojego systemu (przy wyborze sposobu przekazania „Przekaż do mojego systemu”), godziny pracy nie są brane pod uwagę.

Czy ta strona była pomocna?

Ostatnia aktualizacja: