Referencia de la API
Conversaciones
Una conversación es tu hilo de DM con un lead en X, y su ID es el ID del lead. Lee todos los mensajes de un hilo, lístalos en bloque, responde desde tu cuenta de X y mantén en orden el tablero de Conversaciones. Las respuestas nuevas también llegan con el 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
El objeto conversation
Tu hilo de DM con un lead en X. Su ID es el ID del lead.
Atributos
- idstringIdentificador único de la conversación, el mismo que
lead_id. - objectstringSiempre
conversation. - lead_idstringEl lead con el que hablas.
- profileobjectEl perfil de X del lead, como en el objeto lead.
- unreadbooleanTrue si el último mensaje del lead aún no se ha leído.
- last_message_atstringCuándo se envió el último mensaje, en ISO 8601.
- messages_countintegerMensajes del hilo.
- last_messageobject o nullEl último mensaje.
- personaobject o nullEl buyer persona del lead.
- columnobject o nullLa columna de tu tablero de Conversaciones en la que está la conversación, como Interesados. Consulta Columnas del pipeline.
- historystring
completecuandomessageses el hilo completo.recentmientras Gemlead solo guarda los últimos mensajes de un hilo largo, antes de leer el resto desde X una sola vez. Solo conmessages.completerecent - messagesarray de objectsTodos los mensajes del hilo, primero los más antiguos. Cuando obtienes una conversación, o cuando las listas con
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"
}
}Listar conversaciones
Devuelve tus conversaciones, de la más reciente a la más antigua.
Parámetros de consulta
- unreadboolean
truesolo para las conversaciones no leídas. - personastringSolo las conversaciones con leads del buyer persona con este ID.
- include_messagesboolean
truepara obtener cada conversación con todos sus mensajes, primero los más antiguos, yhistory. Las páginas pesan más, así que manténlimiten 25 o menos. - limitintegerCuántos objetos devolver, de 1 a 100. 25 por defecto.
- cursorstringEl
next_cursorde la página anterior, para obtener la siguiente. Consulta Paginación.
Devuelve
Una lista de objetos conversation, con messages solo cuando include_messages es true.
Errores
- Un parámetro tiene un valor que la API no acepta.
paramlo indica.
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"
}Obtener una conversación
Devuelve una conversación con todos sus mensajes, primero los más antiguos.
Parámetros de ruta
- idstringObligatorioEl ID de la conversación.
Devuelve
Un objeto conversation con messages y history.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
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"
}
]
}Marcar como leída
Marca la conversación como leída en Gemlead, y en X con una confirmación de lectura.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}
}Marcar como no leída
Marca la conversación como no leída en Gemlead.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}
}Mover una conversación
Mueve la conversación a otra columna del tablero de Conversaciones.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Parámetros del cuerpo
- column_idstringObligatorioEl ID de la columna, de Listar columnas del pipeline.
Devuelve
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- No hay ninguna columna con este ID en el tablero de la cuenta.
- Falta un parámetro obligatorio.
paramlo indica.
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"
}
}Fijar una conversación
Fija la conversación en tu inbox de X.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}
}Desfijar una conversación
Desfija la conversación en tu inbox de X.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}
}Eliminar una conversación
Elimina la conversación en Gemlead y en tu inbox de X. Su lead se detiene en todas las campañas. No se puede deshacer.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Un objeto con el id de la conversación y deleted en true.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
curl -X DELETE \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"deleted": true
}El objeto message
Un DM de una conversación, enviado por ti o por el lead.
Atributos
- idstringEl ID del mensaje en X.
- objectstringSiempre
message. - directionstring
inboundsi lo escribió el lead,outboundsi lo escribiste tú.inboundoutbound - textstringEl texto del mensaje.
- created_atstringCuándo se envió, en ISO 8601.
- mediaarray de objectsLo que lleva adjunto el mensaje, cada elemento con su
typey suurl. Las imágenes de X llegan a través de un enlace de Gemlead. - reactionsarray de objectsLas reacciones con emoji del mensaje, primero las más antiguas, una por persona y emoji.
- encryptedboolean
truepara un mensaje de X Chat que Gemlead aún no puede leer. Sutexty sumediasiguen vacíos hasta que el código de X Chat lo desbloquee. - reply_to_message_idstring o nullEl ID del mensaje al que responde,
nullsi no responde a ninguno.
{
"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
}Listar mensajes
Devuelve todo el historial de una conversación desde X, primero lo más reciente, página a página.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Parámetros de consulta
- limitintegerCuántos mensajes devolver, de 1 a 50. 25 por defecto.
- cursorstringEl
next_cursorde la página anterior, para mensajes más antiguos.
Devuelve
Una lista de objetos message.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- Un parámetro tiene un valor que la API no acepta.
paramlo indica. - La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}Enviar un mensaje
Envía un DM al lead desde tu cuenta de X, al instante. Envía texto, un archivo o ambos. El destinatario siempre es el de la conversación.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Parámetros del cuerpo
- textstringEl mensaje, hasta 10 000 caracteres. Obligatorio si no hay
media. - mediaobjectUn archivo que enviar con el mensaje. Indica su
url, o sudatacon sumime_type. Gemlead detecta su tipo a partir del propio archivo. Las imágenes admiten hasta 5 MB y los GIF hasta 15 MB. Los videos y las notas de voz pueden pesar tanto como X acepte, envía unaurlpara los que no caben en el cuerpo de una solicitud. - reply_to_message_idstringResponder a este mensaje, uno de los 20 últimos de la conversación. Una respuesta con archivos necesita una conversación de X Chat.
Devuelve
El mensaje enviado, con su conversation_id, su reply_to_message_id y su transport, x_chat o classic.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- Falta un parámetro obligatorio.
paramlo indica. - Un parámetro tiene un valor que la API no acepta.
paramlo indica. - La conversación no admite este tipo de archivo, como una nota de voz sin X Chat.
- 429dm_pausedX limita por ahora los DM de la cuenta.
Retry-Afterindica cuándo se reanudan. - Más de 10 DM en un minuto.
- 300 DM hoy, en UTC, o la cuota diaria que X asigna a la cuenta.
- X lo rechazó, el lead cerró sus DM o bloqueó la cuenta.
- La conversación aún no tiene un usuario de X al que escribir.
- La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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"
}Añadir una reacción
Reacciona a un mensaje con un emoji, desde tu cuenta de X.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
- message_idstringObligatorioEl ID del mensaje, uno de los 20 últimos de la conversación.
Parámetros del cuerpo
- emojistringObligatorioEl emoji, como ❤️ o 👍.
Devuelve
Un objeto con el conversation_id, el message_id y el emoji.
Errores
- No hay ningún mensaje con este ID en la cuenta de la clave.
- Falta un parámetro obligatorio.
paramlo indica. - La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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": "👍"
}Quitar una reacción
writeMCPreact_to_messageQuita tu reacción de un mensaje.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
- message_idstringObligatorioEl ID del mensaje, uno de los 20 últimos de la conversación.
Parámetros de consulta
- emojistringObligatorioEl emoji que quitar.
Devuelve
La reacción con deleted en true.
Errores
- No hay ningún mensaje con este ID en la cuenta de la clave.
- Falta un parámetro obligatorio.
paramlo indica. - La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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
}Eliminar un mensaje
Elimina un mensaje para ti, o para los dos si es tuyo y la conversación está en X Chat.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
- message_idstringObligatorioEl ID del mensaje, uno de los 20 últimos de la conversación.
Parámetros de consulta
- for_everyoneboolean
truelo elimina para los dos, solo tus propios mensajes en X Chat. Por defectofalse.
Devuelve
Un objeto con el id del mensaje, su conversation_id, deleted en true y for_everyone.
Errores
- No hay ningún mensaje con este ID en la cuenta de la clave.
- Un parámetro tiene un valor que la API no acepta.
paramlo indica. - La sesión de la cuenta de X caducó. Vuelve a conectarla en la app e inténtalo de nuevo.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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
}El objeto conversation translation
Si los mensajes de una conversación se traducen y a qué idioma.
Atributos
- objectstringSiempre
conversation_translation. - conversation_idstringEl ID de la conversación.
- enabledbooleanSi sus mensajes se traducen a medida que llegan.
- decidedbooleanSi alguien la activó o desactivó, en lugar de dejar el valor por defecto de Gemlead.
- source_languagestring o nullEl idioma del lead, una vez detectado.
- languagestring o nullEl idioma al que se traducen los mensajes.
- shownbooleanSi la app muestra los mensajes traducidos.
{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Obtener los ajustes de traducción
Indica si la conversación se traduce y a qué idioma.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Devuelve
Un objeto conversation translation.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
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
}Actualizar los ajustes de traducción
Activa o desactiva la traducción de la conversación, y si la app muestra los mensajes traducidos.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Parámetros del cuerpo
- enabledbooleanTraducir los mensajes a medida que llegan, los tuyos y los del lead.
- shownbooleanMostrar los mensajes traducidos en la app. Necesita
enabled. - languagestringEl idioma al que traducir. Por defecto, tu idioma en Gemlead o, si no, el inglés.
enfresitderuptnljazhkoartrhiidplukvithsv
Devuelve
El objeto conversation translation actualizado.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- Un parámetro tiene un valor que la API no acepta.
paramlo indica. - El cuerpo tiene un campo que este endpoint no acepta.
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
}Traducir mensajes
Traduce los mensajes recientes de la conversación. Con la traducción desactivada, traduce los mensajes de uno en uno.
Parámetros de ruta
- conversation_idstringObligatorioEl ID de la conversación.
Parámetros del cuerpo
- message_idsarray de stringsLos mensajes que traducir, entre los 20 últimos. Por defecto todos, con la traducción activada.
- languagestringEl idioma al que traducir. Por defecto, tu idioma en Gemlead o, si no, el inglés.
enfresitderuptnljazhkoartrhiidplukvithsv
Devuelve
Un objeto con el conversation_id, el language y, en data, el message_id, el text y la translation de cada mensaje.
Errores
- No hay ninguna conversación con este ID en la cuenta de la clave.
- Un parámetro tiene un valor que la API no acepta.
paramlo indica. - La traducción está desactivada y pediste más de un mensaje.
- X o un servicio de Gemlead no respondió. No ha cambiado nada, vuelve a intentarlo en un minuto.
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?"
}
]
}