Mode Webhook
Mode Webhook
L'Agent GPTBots prend actuellement en charge trois modes de réponse aux messages : blocking, streaming et webhook. Lorsque les développeurs utilisent le mode webhook pour recevoir les messages de réponse, les réponses IA ainsi que les réponses humaines seront soumises à l'URL webhook spécifiée.
| Mode de réponse | Types de messages pris en charge |
|---|---|
| blocking | Réponses IA |
| streaming | Réponses IA |
| webhook | Réponses humaines, Réponses IA |
Méthode de requête
POST
Endpoint
Veuillez configurer votre adresse de réception des messages sur la page Agent - Intégration - API - webhook.
Authentification
Consultez la section Présentation de l'API pour les instructions d'authentification.
Requête
Exemple de requête
curl -X POST 'YOUR_API_URL' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe",
"message_id": "65a4ccfC7ce58e728d5897e0",
"output": [
{
"from_component_branch": "1",
"from_component_name": "Nom du composant",
"content": {
"text": "Bonjour, puis-je vous aider ?",
"audio": [
{
"audio": "http://gptbots.ai/example.mp3",
"transcript": "Le contenu transcrit de l'audio"
}
]
}
}
],
"usage": {
"tokens": {
"total_tokens": 29,
"prompt_tokens": 19,
"prompt_tokens_details":
{
"audio_tokens": 0,
"text_tokens":0
},
"completion_tokens": 10,
"completion_tokens_details":
{
"reasoning_tokens": 0,
"audio_tokens": 0,
"text_tokens": 0
}
},
"credits": {
"total_credits":0.0, //invite + réponse
"text_input_credits": 0.0,
"text_output_credits": 0.0,
"audio_input_credits": 0.0,
"audio_output_credits": 0.0
}
}
}'
curl -X POST 'YOUR_API_URL' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe",
"message_id": "65a4ccfC7ce58e728d5897e0",
"output": [
{
"from_component_branch": "1",
"from_component_name": "Nom du composant",
"content": {
"text": "Bonjour, puis-je vous aider ?",
"audio": [
{
"audio": "http://gptbots.ai/example.mp3",
"transcript": "Le contenu transcrit de l'audio"
}
]
}
}
],
"usage": {
"tokens": {
"total_tokens": 29,
"prompt_tokens": 19,
"prompt_tokens_details":
{
"audio_tokens": 0,
"text_tokens":0
},
"completion_tokens": 10,
"completion_tokens_details":
{
"reasoning_tokens": 0,
"audio_tokens": 0,
"text_tokens": 0
}
},
"credits": {
"total_credits":0.0, //invite + réponse
"text_input_credits": 0.0,
"text_output_credits": 0.0,
"audio_input_credits": 0.0,
"audio_output_credits": 0.0
}
}
}'
Ce bloc de code dans la fenêtre flottante
En-têtes de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ou Basic ${token} | Si l'authentification est activée, utilisez Authorization: Bearer OU Basic ${token} pour la vérification de l'appel. Optionnel si l'authentification est désactivée. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
| conversation_id | string | Identifiant unique de la conversation. |
| message_id | string | Identifiant unique d'un message spécifique dans une conversation. |
| create_time | long | Horodatage de la génération du message. |
| output | Tableau JSON | Contenu de la réponse de l'Agent IA. |
| from_component_branch | string | Branche FlowAgent. |
| from_component_name | string | Nom du composant amont dans FlowAgent. |
| content | object | Contenu du message de réponse de l'Agent IA, comprend actuellement les types de messages text et audio. |
| usage | object | Consommation d'utilisation. |
| tokens | Tableau JSON | Nombre total de tokens consommés par l'Agent dans cette conversation. |
| total_tokens | integer | Nombre total de tokens consommés pour l'entrée + la sortie dans cette conversation. |
| prompt_tokens | integer | Nombre total de tokens consommés pour l'entrée dans cette conversation. |
| completion_tokens | integer | Nombre total de tokens consommés pour la sortie dans cette conversation. |
| prompt_tokens_details | object | Détail de la consommation de tokens pour l'entrée dans cette conversation. |
| completion_tokens_details | object | Détail de la consommation de tokens pour la sortie dans cette conversation. |
| credits | object | Nombre total de crédits consommés par l'Agent dans cette conversation. |
| text_input_credits | double | Crédits consommés pour les messages texte en entrée dans cette conversation. |
| text_output_credits | double | Crédits consommés pour les messages texte en sortie dans cette conversation. |
| audio_input_credits | double | Crédits consommés pour les messages audio en entrée dans cette conversation. |
| audio_output_credits | double | Crédits consommés pour les messages audio en sortie dans cette conversation. |
Réponse
Exemple de réponse
{
"code": 200,
"msg": "succès"
}
{
"code": 200,
"msg": "succès"
}
Ce bloc de code dans la fenêtre flottante
