Référence API
Conversations
Une conversation est ton fil de DM avec un lead sur X, et son ID est celui du lead. Lis tous les messages d'un fil, liste-les en masse, réponds depuis ton compte X et garde ton tableau des conversations à jour. Les nouvelles réponses arrivent aussi par le webhook reply.received.
- GET/v1/
conversations - GET/v1/
conversations/ :id - POST/v1/
conversations/ :conversation_id/ mark_read - POST/v1/
conversations/ :conversation_id/ mark_unread - POST/v1/
conversations/ :conversation_id/ move - POST/v1/
conversations/ :conversation_id/ pin - POST/v1/
conversations/ :conversation_id/ unpin - DELETE/v1/
conversations/ :conversation_id - GET/v1/
conversations/ :conversation_id/ messages - POST/v1/
conversations/ :conversation_id/ messages - POST/v1/
conversations/ :conversation_id/ messages/ :message_id/ reactions - DELETE/v1/
conversations/ :conversation_id/ messages/ :message_id/ reactions - DELETE/v1/
conversations/ :conversation_id/ messages/ :message_id - GET/v1/
conversations/ :conversation_id/ translation - PATCH/v1/
conversations/ :conversation_id/ translation - POST/v1/
conversations/ :conversation_id/ translate
L'objet conversation
Ton fil de DM avec un lead sur X. Son ID est celui du lead.
Attributs
- idstringIdentifiant unique de la conversation, le même que
lead_id. - objectstringToujours
conversation. - lead_idstringLe lead avec qui tu échanges.
- profileobjectLe profil X du lead, comme dans l'objet lead.
- unreadbooleanVaut true quand le dernier message du lead n'est pas encore lu.
- last_message_atstringDate du dernier message, en ISO 8601.
- messages_countintegerMessages dans le fil.
- last_messageobject ou nullLe dernier message.
- personaobject ou nullLe persona du lead.
- columnobject ou nullLa colonne du tableau des conversations où elle se trouve, comme Intéressés. Voir Colonnes du pipeline.
- historystring
completequandmessagescontient tout le fil.recenttant que Gemlead ne garde que les derniers messages d'un long fil, avant de lire le reste sur X une seule fois. Seulement avecmessages.completerecent - messagestableau d'objectsTous les messages du fil, du plus ancien au plus récent. Quand tu récupères une conversation, ou quand tu les listes avec
include_messages.
{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}Lister les conversations
Renvoie tes conversations, triées par dernier message, du plus récent au plus ancien.
Paramètres de requête
- unreadboolean
truepour les conversations non lues uniquement. - personastringSeulement les conversations des leads du persona avec cet ID.
- include_messagesboolean
truepour obtenir chaque conversation avec tous ses messages, du plus ancien au plus récent, ethistory. Les pages sont plus lourdes, garde donclimità 25 ou moins. - limitintegerNombre d'objets à renvoyer, de 1 à 100. 25 par défaut.
- cursorstringLe
next_cursorde la page précédente, pour obtenir la suivante. Voir Pagination.
Renvoie
Une liste d'objets conversation, avec messages seulement quand include_messages vaut true.
Erreurs
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel.
curl -G https://gemlead.ai/api/v1/conversations \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d unread=true{
"object": "list",
"data": [
{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}
],
"has_more": true,
"next_cursor": "eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0"
}Récupérer une conversation
Renvoie une conversation avec tous ses messages, du plus ancien au plus récent.
Paramètres de chemin
- idstringObligatoireL'ID de la conversation.
Renvoie
Un objet conversation avec messages et history.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
curl https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
},
"history": "complete",
"messages": [
{
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
{
"id": "1985329981234567890",
"object": "message",
"direction": "outbound",
"text": "Happy to show you. Do you sell picks monthly or per event?",
"created_at": "2026-11-06T08:20:03.000Z",
"media": [],
"reactions": [
{
"emoji": "👍",
"direction": "inbound",
"created_at": "2026-11-06T08:24:51.000Z"
}
],
"encrypted": false,
"reply_to_message_id": "1985321409876543210"
}
]
}Marquer comme lu
Marque la conversation comme lue dans Gemlead, et sur X avec un accusé de lecture.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/mark_read \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": false,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}Marquer comme non lu
Marque la conversation comme non lue dans Gemlead.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/mark_unread \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}Déplacer une conversation
Déplace la conversation dans une autre colonne du tableau des conversations.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Paramètres du corps
- column_idstringObligatoireL'ID de la colonne, obtenu avec Lister les colonnes du pipeline.
Renvoie
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- Aucune colonne avec cet ID dans le tableau du compte.
- Il manque un paramètre obligatoire.
paramindique lequel.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/move \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"column_id": "z3c6lf8a"
}'{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "z3c6lf8a",
"name": "Call booked"
}
}Épingler une conversation
Épingle la conversation dans ton inbox X.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/pin \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}Désépingler une conversation
Désépingle la conversation dans ton inbox X.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/unpin \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"lead_id": "msgOtJ8dvT",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"unread": true,
"last_message_at": "2026-11-06T08:12:44.000Z",
"messages_count": 4,
"last_message": {
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
},
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"column": {
"id": "q7m2xk4p",
"name": "Interested"
}
}Supprimer une conversation
Supprime la conversation dans Gemlead et dans ton inbox X. Son lead sort de toutes les campagnes. C'est irréversible.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Un objet avec l'id de la conversation et deleted à true.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X DELETE \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"deleted": true
}L'objet message
Un DM d'une conversation, envoyé par toi ou par le lead.
Attributs
- idstringL'ID du message sur X.
- objectstringToujours
message. - directionstring
inboundquand le lead l'a écrit,outboundquand c'est toi.inboundoutbound - textstringLe texte du message.
- created_atstringDate d'envoi, en ISO 8601.
- mediatableau d'objectsLes pièces jointes du message, chacune avec son
typeet sonurl. Les images de X passent par un lien Gemlead. - reactionstableau d'objectsLes réactions emoji sur le message, de la plus ancienne à la plus récente, une par personne et par emoji.
- encryptedboolean
truepour un message X Chat que Gemlead ne peut pas encore lire. Sestextetmediarestent vides jusqu'à ce que le code X Chat le déverrouille. - reply_to_message_idstring ou nullL'ID du message auquel il répond,
nulls'il ne répond à aucun.
{
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
}Lister les messages
Renvoie tout l'historique d'une conversation depuis X, du plus récent au plus ancien, page par page.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Paramètres de requête
- limitintegerNombre de messages à renvoyer, de 1 à 50. 25 par défaut.
- cursorstringLe
next_cursorde la page précédente, pour les messages plus anciens.
Renvoie
Une liste d'objets message.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -G \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d limit=50{
"object": "list",
"data": [
{
"id": "1985329981234567890",
"object": "message",
"direction": "outbound",
"text": "Happy to show you. Do you sell picks monthly or per event?",
"created_at": "2026-11-06T08:20:03.000Z",
"media": [],
"reactions": [
{
"emoji": "👍",
"direction": "inbound",
"created_at": "2026-11-06T08:24:51.000Z"
}
],
"encrypted": false,
"reply_to_message_id": "1985321409876543210"
},
{
"id": "1985321409876543210",
"object": "message",
"direction": "inbound",
"text": "Yes, I want to charge for my Discord. How does it work?",
"created_at": "2026-11-06T08:12:44.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null
}
],
"has_more": true,
"next_cursor": "eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0"
}Envoyer un message
Envoie immédiatement un DM au lead depuis ton compte X. Envoie du texte, un fichier, ou les deux. Le destinataire vient toujours de la conversation.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Paramètres du corps
- textstringLe message, 10 000 caractères au plus. Obligatoire sans
media. - mediaobjectUn fichier à envoyer avec le message. Donne son
url, ou sesdataavec sonmime_type. Gemlead lit son type dans le fichier lui-même. Les images vont jusqu'à 5 Mo et les GIF jusqu'à 15 Mo. Les vidéos et les messages vocaux peuvent aller jusqu'à la taille maximale acceptée par X. Envoie uneurlpour ceux qui sont trop gros pour le corps d'une requête. - reply_to_message_idstringRépondre à ce message, l'un des 20 derniers de la conversation. Une réponse avec un média nécessite une conversation X Chat.
Renvoie
Le message envoyé, avec son conversation_id, son reply_to_message_id et son transport, x_chat ou classic.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- Il manque un paramètre obligatoire.
paramindique lequel. - Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - La conversation n'accepte pas ce type de fichier, comme un message vocal sans X Chat.
- 429dm_pausedX limite les DM du compte pour le moment.
Retry-Afterindique quand ils reprennent. - Plus de 10 DM dans la minute.
- Déjà 300 DM sur la journée UTC en cours, ou le quota journalier que X fixe pour le compte.
- X a refusé, le lead a fermé ses DM ou bloqué le compte.
- La conversation n'a pas encore d'utilisateur X à qui écrire.
- La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Happy to show you. Do you sell picks monthly or per event?"
}'{
"id": "1985329981234567890",
"object": "message",
"conversation_id": "msgOtJ8dvT",
"direction": "outbound",
"text": "Happy to show you. Do you sell picks monthly or per event?",
"created_at": "2026-11-06T08:20:03.000Z",
"media": [],
"reactions": [],
"encrypted": false,
"reply_to_message_id": null,
"transport": "x_chat"
}Ajouter une réaction
Réagit à un message avec un emoji, depuis ton compte X.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
- message_idstringObligatoireL'ID du message, l'un des 20 derniers de la conversation.
Paramètres du corps
- emojistringObligatoireL'emoji, comme ❤️ ou 👍.
Renvoie
Un objet avec le conversation_id, le message_id et l'emoji.
Erreurs
- Aucun message avec cet ID sur le compte de la clé.
- Il manque un paramètre obligatoire.
paramindique lequel. - La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985321409876543210/reactions \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emoji": "👍"
}'{
"object": "reaction",
"conversation_id": "msgOtJ8dvT",
"message_id": "1985321409876543210",
"emoji": "👍"
}Retirer une réaction
writeMCPreact_to_messageRetire ta réaction d'un message.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
- message_idstringObligatoireL'ID du message, l'un des 20 derniers de la conversation.
Paramètres de requête
- emojistringObligatoireL'emoji à retirer.
Renvoie
La réaction avec deleted à true.
Erreurs
- Aucun message avec cet ID sur le compte de la clé.
- Il manque un paramètre obligatoire.
paramindique lequel. - La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X DELETE \
"https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985321409876543210/reactions?emoji=%F0%9F%91%8D" \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "reaction",
"conversation_id": "msgOtJ8dvT",
"message_id": "1985321409876543210",
"emoji": "👍",
"deleted": true
}Supprimer un message
Supprime un message pour toi, ou pour vous deux quand il est de toi et que la conversation est sur X Chat.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
- message_idstringObligatoireL'ID du message, l'un des 20 derniers de la conversation.
Paramètres de requête
- for_everyoneboolean
truele supprime pour vous deux, seulement pour tes propres messages sur X Chat.falsepar défaut.
Renvoie
Un objet avec l'id du message, son conversation_id, deleted à true et for_everyone.
Erreurs
- Aucun message avec cet ID sur le compte de la clé.
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - La session du compte X a expiré. Reconnecte-le dans l'app, puis réessaie.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X DELETE \
"https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985329981234567890?for_everyone=true" \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "1985329981234567890",
"object": "message",
"conversation_id": "msgOtJ8dvT",
"deleted": true,
"for_everyone": true
}L'objet traduction de conversation
Si les messages d'une conversation sont traduits, et dans quelle langue.
Attributs
- objectstringToujours
conversation_translation. - conversation_idstringL'ID de la conversation.
- enabledbooleanSi ses messages sont traduits à mesure qu'ils arrivent.
- decidedbooleanSi quelqu'un l'a activée ou désactivée à la main, au lieu du réglage par défaut de Gemlead.
- source_languagestring ou nullLa langue du lead, une fois détectée.
- languagestring ou nullLa langue dans laquelle les messages sont traduits.
- shownbooleanSi l'app affiche les messages traduits.
{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Récupérer les réglages de traduction
Indique si la conversation est traduite, et dans quelle langue.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Renvoie
Un objet traduction de conversation.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
curl \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translation \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Modifier les réglages de traduction
Active ou désactive la traduction de la conversation, et choisit si l'app affiche les messages traduits.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Paramètres du corps
- enabledbooleanTraduire les messages à mesure qu'ils arrivent, les tiens et les siens.
- shownbooleanAfficher les messages traduits dans l'app. Nécessite
enabled. - languagestringLa langue cible. Par défaut, ta langue dans Gemlead, sinon l'anglais.
enfresitderuptnljazhkoartrhiidplukvithsv
Renvoie
L'objet traduction de conversation à jour.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - Le corps contient un champ que cet endpoint n'accepte pas.
curl -X PATCH \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translation \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"shown": true,
"language": "en"
}'{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Traduire des messages
Traduit les messages récents de la conversation. Quand la traduction est désactivée, traduis un message à la fois.
Paramètres de chemin
- conversation_idstringObligatoireL'ID de la conversation.
Paramètres du corps
- message_idstableau de stringsLes messages à traduire, parmi les 20 derniers. Par défaut tous, quand la traduction est activée.
- languagestringLa langue cible. Par défaut, ta langue dans Gemlead, sinon l'anglais.
enfresitderuptnljazhkoartrhiidplukvithsv
Renvoie
Un objet avec le conversation_id, la language, et dans data le message_id, le text et la translation de chaque message.
Erreurs
- Aucune conversation avec cet ID sur le compte de la clé.
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - La traduction est désactivée et tu as demandé plus d'un message.
- X ou un service Gemlead n'a pas répondu. Rien n'a changé, réessaie dans une minute.
curl -X POST \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translate \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message_ids": ["1985321409876543210"],
"language": "en"
}'{
"object": "message_translations",
"conversation_id": "msgOtJ8dvT",
"language": "en",
"data": [
{
"message_id": "1985321409876543210",
"text": "Sí, quiero cobrar por mi Discord. Cómo funciona?",
"translation": "Yes, I want to charge for my Discord. How does it work?"
}
]
}