Service Manuel
Lorsque vous choisissez Webhook comme méthode d'accès au service manuel, vous devez d'abord mettre en place un service Webhook dans votre environnement serveur. Vous devez fournir les trois interfaces suivantes conformément aux spécifications afin de recevoir les demandes de service manuel, les messages utilisateur et les réponses du service client manuel. GPTBots fournit également deux interfaces pour recevoir les réponses du service client et les instructions de clôture de conversation.
Remarques importantes :
- Vous devez vous assurer que votre service Webhook fonctionne correctement, car il impacte directement le bon fonctionnement du service d'assistance humaine.
- Si "Occupé" s'affiche après le lancement de l'assistance humaine, cela signifie que votre service Webhook dysfonctionne.
- Si "Connexion en cours" s'affiche après le lancement de l'assistance humaine, cela signifie que votre service Webhook fonctionne normalement.
- Après avoir initié avec succès une demande de service d'assistance humaine :
- Vous devez appeler l'interface Répondre au message utilisateur (https://api.gptbots.ai/v1/human/message/receive) pour répondre à l'utilisateur avec au moins un message afin d'établir la connexion de la conversation.
- Si vous ne répondez pas au message de l'utilisateur dans le délai d'attente configuré (timeout par défaut 60 secondes), la conversation d'assistance humaine sera automatiquement terminée.
Recevoir la notification de demande de conversation avec un agent humain
Lorsqu'un utilisateur final initie une demande de service humain, GPTBots transmet cette demande à votre service Webhook. Un code de statut de réponse 200 de votre service d'interface indique la création réussie de la conversation de service humain.
Méthode de requête
POST
Endpoint
https://your_domain/conversation/establish
Exemple de requête
curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \
-H 'Content-Type: application/json' \
-d '{
"body": [
{
"text": "human service",
"message_type": "QUESTION"
},
{
"text": "",
"message_type": "ANSWER"
}
],
"timestamp": 1742265090895,
"email": "bob@gmail.com",
"conversation_id": "67d8db020fa31d1ef64f53dg",
"bot_id": "665d88b03ce2b13cf2d573454",
"user_info": {
"phone": null,
"email": "bob@gmail.com",
"user_id": "KDslas",
"anonymous_id": "652face5184b30540a6ea7fe"
}
}'
Remarque : Le
conversation_iddans ce corps de requête sert uniquement à identifier l'ID unique pour les scénarios de conversation de service humain, ce qui est différent de l'ID unique généré par Créer un ID de conversation pour les scénarios de conversation Agent.
Paramètres de la requête
| Paramètre | Type | Description |
|---|---|---|
| conversation_id | string | ID de conversation pour les scénarios de service client humain (différent des IDs de conversation Agent), doit être transmis à GPTBots dans l'interface de réponse du service client |
| timestamp | long | Horodatage |
| string | E-mail de l'utilisateur, certains systèmes de service manuel nécessitent un e-mail pour fournir les services correctement | |
| bot_id | string | ID de l'Agent (anciennement bot) |
| body | list<Object> | Corps du message |
| body.message_type | string | Type de message, QUESTION/ANSWER |
| body.text | string | La question posée par le client pour le service client manuel et son contexte |
| user_info | object | Informations utilisateur |
| user_info.phone | string | Numéro de téléphone de l'utilisateur, disponible uniquement lors du passage au service client manuel via WhatsApp |
| user_info.email | string | E-mail de l'utilisateur, disponible lorsque l'utilisateur saisit son e-mail |
| user_info.user_id | string | ID utilisateur. Identifiant unique défini par les développeurs d'entreprise pour l'identité utilisateur, paramétré par les développeurs pour un ID anonyme spécifique |
| user_info.anonymous_id | string | ID anonyme. Lorsqu'un utilisateur initie une conversation avec l'Agent sur des plateformes de canal non-API, le système génère un ID anonyme contenant les informations de la plateforme de canal selon la plateforme utilisée par l'utilisateur |
Remarques sur le champ
- Lors de l'initiation d'un service manuel via iframe/Share/Bubble Widget, l'utilisateur doit renseigner son e-mail. Vous pouvez également personnaliser l'e-mail utilisateur pour éviter de demander à l'utilisateur de saisir un e-mail.
- Lors de la demande de service manuel via des plateformes tierces telles que WhatsApp/Telegram/livechat, l'e-mail par défaut utilisé est support@gptbots.ai. Pour livechat, vous pouvez personnaliser l'e-mail utilisateur.
- Lors de la demande de service manuel via API, le champ
Réponse
| Paramètre | Type | Description |
|---|---|---|
| code | int | Code de réponse |
| message | string | Détails |
Interface de chat
En utilisant le conversation_id créé, envoyez le message de l'utilisateur au service client manuel.
Méthode de requête
POST
Endpoint
Paramètres de la requête
| Paramètre | Type | Description |
|---|---|---|
| conversation_id | string | ID de conversation, doit être transmis à GPTBots dans l'interface de réponse du service client |
| timestamp | long | Horodatage |
| body | string | Message de l'utilisateur |
Réponse
| Paramètre | Type | Description |
|---|---|---|
| code | int | Code de réponse |
| message | string | Détails |
Interface de clôture de conversation
Lorsqu'une conversation utilisateur expire ou que l'utilisateur Agent ferme activement la conversation, cette interface est appelée pour clôturer la conversation.
Méthode de requête
POST
Endpoint
https://your_domain/conversation/close
En-tête de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${token} | Utilisez Authorization: Bearer ${token} pour l'authentification. Obtenez le token depuis la page de clé API. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Paramètres de la requête
| Paramètre | Type | Description |
|---|---|---|
| conversation_id | string | ID de conversation, doit être transmis à GPTBots dans l'interface de réponse du service client |
| timestamp | long | Horodatage |
| type | string | Type de clôture, TIMEOUT (clôture pour expiration) / USER_CLOSED (fermeture active par l'utilisateur) |
Réponse
| Paramètre | Type | Description |
|---|---|---|
| code | int | Code de réponse |
| message | string | Détails |
Répondre aux messages utilisateur
Lorsque vous choisissez webhook comme méthode d'intégration du service humain, GPTBots fournit une interface pour répondre aux messages utilisateur. Cette interface permet aux agents du service client humain d'envoyer du contenu de message aux utilisateurs.
Méthode de requête
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/human/message/receive
En-tête de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${token} | Utilisez Authorization: Bearer ${token} pour l'authentification. Obtenez le token depuis la page de clé API. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Paramètres de la requête
| Paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| conversation_id | string | ID de conversation, transmis dans l'interface de création de conversation et l'interface de chat, à transmettre tel quel | true |
| timestamp | long | Horodatage | true |
| body | string | Contenu de la réponse du service client manuel | true |
Réponse
| Paramètre | Type | Description |
|---|---|---|
| code | int | Code de réponse |
| message | string | Détails |
Le service client manuel clôture la conversation
Lorsque vous choisissez webhook comme méthode d'accès au service manuel, le service client manuel fourni par GPTBots peut clôturer activement la conversation si nécessaire. Après la clôture, l'utilisateur ne recevra plus de messages du service client, sauf s'il initie à nouveau une conversation de service client manuel.
Méthode de requête
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/human/close
En-tête de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${API Key} | Utilisez Authorization: Bearer ${API Key} pour l'authentification. Obtenez la clé API depuis la page de clé API. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Paramètres de la requête
| Paramètre | Type | Description |
|---|---|---|
| conversation_id | string | ID de conversation, doit être transmis à GPTBots dans l'interface de réponse du service client |
| timestamp | long | Horodatage |
Réponse
| Paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| conversation_id | string | ID de conversation, transmis dans l'interface de création de conversation et l'interface de chat, à transmettre tel quel | true |
| timestamp | long | Horodatage | true |
