Obtenir les détails des messages de la conversation
Obtenir les détails des messages de la conversation
Récupérez tous les détails des messages d'une conversation en utilisant le paramètre conversation_id. La réponse inclut message_id, les requêtes utilisateur, les types de messages, le contenu des messages, les horodatages des messages, et plus encore.
Méthode de requête
GET
Endpoint
https://api-${endpoint}.gptbots.ai/v2/messages
Authentification
Consultez la Présentation de l'API pour les instructions d'authentification.
Requête
Exemple de requête
curl -X GET 'https://api-${endpoint}.gptbots.ai/v2/messages?conversation_id=xxxxxx&page=1&page_size=100' \
-H 'Authorization: Bearer ${API Key}'
curl -X GET 'https://api-${endpoint}.gptbots.ai/v2/messages?conversation_id=xxxxxx&page=1&page_size=100' \
-H 'Authorization: Bearer ${API Key}'
Ce bloc de code dans la fenêtre flottante
En-têtes de la requête
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${API Key} | Utilisez Authorization: Bearer ${API Key} pour l'authentification. Obtenez votre clé API depuis la page de clé API. |
Paramètres de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| conversation_id | string | Oui | Identifiant de la conversation. |
| page | int | Oui | Numéro de la page à demander. |
| page_size | int | Oui | Nombre d'éléments par page, jusqu'à 100. |
Réponse
Exemple de réponse
{
"total": 2,
"conversation_content": [
{
"message_id": "645dd86906931c4a9e0ffb1f",
"parent_message_id": "545dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "neutral",
"role": "user",
"content": [
{
"branch_content": [
{
"type": "text",
"text": "J'ai téléchargé 2 fichiers image, veuillez effectuer l'OCR et retourner 2 enregistrements json."
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "jpeg",
"name": "TAXI1",
"size": 1024
},
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2",
"size": 1024
}
]
},
{
"type": "audio",
"audio": [
{
"url": "https://gptbots.ai/example.mp3",
"format": "mp3",
"name": "exemple1 audio",
"size": 1024
}
]
},
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "exemple pdf",
"size": 1024
}
]
}
]
}
]
},
{
"message_id": "745dd86906931c4a9e0ffb1f",
"parent_message_id": "645dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "positive",
"role": "assistant",
"content": [
{
"from_component_branch": "1",
"branch_content": [
{
"type": "text",
"text": "Bonjour, puis-je vous aider ?"
},
{
"type": "audio",
"audio": [
{
"url": "http://gptbots.ai/example.mp3",
"transcript": "Contenu texte transcrit de l'audio"
}
]
}
]
},
{
"from_component_branch": "2",
"branch_content": [
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "exemple pdf"
}
]
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2"
}
]
}
]
}
]
}
],
"audio_record_url": "https://gptbots.ai/record/full-call.mp3",
"user_sender": {
"channel_type": "Channel::Whatsapp",
"user_id": "+66812345678",
"profile": { "name": "John Doe" },
"additional_attributes": {},
"provider": "whatsapp_cloud",
"phone_number": "+66900000000"
}
}
{
"total": 2,
"conversation_content": [
{
"message_id": "645dd86906931c4a9e0ffb1f",
"parent_message_id": "545dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "neutral",
"role": "user",
"content": [
{
"branch_content": [
{
"type": "text",
"text": "J'ai téléchargé 2 fichiers image, veuillez effectuer l'OCR et retourner 2 enregistrements json."
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "jpeg",
"name": "TAXI1",
"size": 1024
},
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2",
"size": 1024
}
]
},
{
"type": "audio",
"audio": [
{
"url": "https://gptbots.ai/example.mp3",
"format": "mp3",
"name": "exemple1 audio",
"size": 1024
}
]
},
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "exemple pdf",
"size": 1024
}
]
}
]
}
]
},
{
"message_id": "745dd86906931c4a9e0ffb1f",
"parent_message_id": "645dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "positive",
"role": "assistant",
"content": [
{
"from_component_branch": "1",
"branch_content": [
{
"type": "text",
"text": "Bonjour, puis-je vous aider ?"
},
{
"type": "audio",
"audio": [
{
"url": "http://gptbots.ai/example.mp3",
"transcript": "Contenu texte transcrit de l'audio"
}
]
}
]
},
{
"from_component_branch": "2",
"branch_content": [
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "exemple pdf"
}
]
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2"
}
]
}
]
}
]
}
],
"audio_record_url": "https://gptbots.ai/record/full-call.mp3",
"user_sender": {
"channel_type": "Channel::Whatsapp",
"user_id": "+66812345678",
"profile": { "name": "John Doe" },
"additional_attributes": {},
"provider": "whatsapp_cloud",
"phone_number": "+66900000000"
}
}
Ce bloc de code dans la fenêtre flottante
Réponse réussie
| Champ | Type | Description |
|---|---|---|
| total | string | Nombre total de messages dans la conversation. |
| conversation_content | JSON Array | Détails des messages. |
| message_id | string | Identifiant unique du message. |
| parent_message_id | string | Identifiant unique du message parent. |
| create_time | long | Horodatage de création du message. |
| feedback | string | Retour utilisateur sur le message, valeurs : POSITIVE, NEGATIVE. Aucun retour si vide. |
| source_page | string | Page source de ce message, c'est-à-dire l'URL de la page web sur laquelle se trouvait l'utilisateur lors de la création du message. Actuellement, seul le canal Livechat prend en charge ce champ ; la valeur est vide lorsque la source de la conversation n'est pas Livechat. |
| sentiment_label | string | Étiquette de sentiment du message, alignée sur le champ de sentiment des journaux de conversation. |
| role | string | Rôle du message : user ou assistant. |
| content | JSON Array | Contenu du message. |
| from_component_branch | string | ID de la branche composant source du message. Vide pour les messages utilisateur et Agents classiques. |
| branch_content | JSON Array | Contenu de la branche du message. |
| type | string | Type de contenu du message : text, image, audio, document, video, file. |
| text | string | Contenu du message texte. |
| image | JSON Array | Contenu du message image. |
| audio | JSON Array | Contenu du message audio. |
| document | JSON Array | Contenu du message document. |
| video | JSON Array | Contenu du message vidéo. |
| file | JSON Array | Contenu du message fichier. |
| audio_record_url | string | URL du fichier d'enregistrement complet de l'appel vocal, disponible uniquement pour les Agents vocaux (Audio). Ce champ n'est pas retourné en l'absence d'enregistrement. |
| user_sender | JSON Object | Informations de canal de l'utilisateur. Enregistrées à l'entrée de la conversation lors d'une intégration via un canal tiers (actuellement LiveDesk), à partir des informations d'expéditeur du webhook du canal (canaux WhatsApp / LINE, etc. pris en charge), de même source que la variable de flux ld_user_sender. Ce champ n'est pas retourné si l'information n'a pas été collectée ; voir les champs courants dans le tableau ci-dessous. |
Champs courants de user_sender
Cet objet contient les informations de canal de l'utilisateur transmises par le canal source. Les champs varient selon le canal ; les champs ci-dessous sont les plus courants, les valeurs réelles dépendent du retour du canal.
| Champ | Type | Description |
|---|---|---|
| channel_type | string | Type de canal, par exemple Channel::Whatsapp, Channel::Line, Channel::Webwidget, etc. |
| user_id | string | Identifiant de l'utilisateur côté canal : numéro de téléphone/wa_id pour WhatsApp, userId pour LINE, identifier pour les autres canaux. |
| profile | JSON Object | Profil de l'utilisateur (par exemple name). |
| additional_attributes | JSON Object | Attributs supplémentaires du canal. |
| provider | string | Provider du canal. |
| phone_number | string | Numéro de téléphone configuré côté canal. |
Réponse d'erreur
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| message | string | Détails de l'erreur. |
Codes d'erreur
| Code | Message |
|---|---|
| 40000 | Paramètres invalides |
| 40005 | Le paramètre de pagination dépasse le nombre réel |
| 40127 | Échec de l'authentification du développeur |
| 40356 | La conversation n'existe pas |
| 20059 | L'Agent a été supprimé |
