Referência da API
Conversas
Uma conversa é a sua troca de DMs com um lead no X, e o ID dela é o ID do lead. Leia todas as mensagens de uma conversa, liste-as em massa, responda pela sua conta do X e mantenha o quadro de Conversas em ordem. As novas respostas também chegam pelo 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
O objeto conversation
A sua troca de DMs com um lead no X. O ID dela é o ID do lead.
Atributos
- idstringIdentificador único da conversa, o mesmo que
lead_id. - objectstringSempre
conversation. - lead_idstringO lead com quem você está falando.
- profileobjectO perfil do lead no X, como no objeto lead.
- unreadbooleanIndica se a última mensagem do lead ainda não foi lida.
- last_message_atstringQuando a última mensagem foi enviada, em ISO 8601.
- messages_countintegerMensagens na conversa.
- last_messageobject ou nullA última mensagem.
- personaobject ou nullA persona do lead.
- columnobject ou nullA coluna do seu quadro de Conversas em que a conversa está, como Interessados. Veja Colunas do pipeline.
- historystring
completequandomessagestraz a conversa inteira.recentenquanto o Gemlead só guarda as últimas mensagens de uma conversa longa, antes de ler o resto no X uma única vez. Apenas commessages.completerecent - messagesarray de objectsTodas as mensagens da conversa, das mais antigas para as mais novas. Ao obter uma única conversa, ou ao listá-las com
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 conversas
Retorna suas conversas, ordenadas pela mensagem mais recente.
Parâmetros de consulta
- unreadboolean
truesó para as conversas não lidas. - personastringSó as conversas com leads da persona com este ID.
- include_messagesboolean
truepara receber cada conversa com todas as mensagens, das mais antigas para as mais novas, ehistory. As páginas ficam mais pesadas, então mantenhalimitem 25 ou menos. - limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos conversation, com messages apenas quando include_messages é true.
Erros
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
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"
}Obter uma conversa
Retorna uma conversa com todas as mensagens, das mais antigas para as mais novas.
Parâmetros de caminho
- idstringObrigatórioO ID da conversa.
Retorno
Um objeto conversation com messages e history.
Erros
- Nenhuma conversa com este ID na conta da chave.
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 lida
Marca a conversa como lida no Gemlead, e no X com uma confirmação de leitura.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Erros
- Nenhuma conversa com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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 não lida
Marca a conversa como não lida no Gemlead.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Erros
- Nenhuma conversa com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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 uma conversa
Move a conversa para outra coluna do quadro de Conversas.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Parâmetros do corpo
- column_idstringObrigatórioO ID da coluna, vindo de Listar colunas do pipeline.
Retorno
Erros
- Nenhuma conversa com este ID na conta da chave.
- Nenhuma coluna com este ID no quadro da conta.
- Falta um parâmetro obrigatório.
paramdiz qual.
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"
}
}Fixar uma conversa
Fixa a conversa na sua inbox do X.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Erros
- Nenhuma conversa com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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"
}
}Desafixar uma conversa
Desafixa a conversa na sua inbox do X.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Erros
- Nenhuma conversa com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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"
}
}Excluir uma conversa
Exclui a conversa no Gemlead e na sua inbox do X. O lead dela sai de todas as campanhas. Essa ação não pode ser desfeita.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Um objeto com o id da conversa e deleted igual a true.
Erros
- Nenhuma conversa com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um minuto.
curl -X DELETE \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"deleted": true
}O objeto message
Uma DM numa conversa, enviada por você ou pelo lead.
Atributos
- idstringO ID da mensagem no X.
- objectstringSempre
message. - directionstring
inboundquando o lead escreveu,outboundquando foi você.inboundoutbound - textstringO texto da mensagem.
- created_atstringQuando ela foi enviada, em ISO 8601.
- mediaarray de objectsO que está anexado à mensagem, cada item com
typeeurl. As imagens do X chegam por um link do Gemlead. - reactionsarray de objectsAs reações com emoji na mensagem, das mais antigas para as mais novas, uma por pessoa e por emoji.
- encryptedboolean
truepara uma mensagem do X Chat que o Gemlead ainda não consegue ler. Otexte omediadela ficam vazios até o código do X Chat desbloquear a mensagem. - reply_to_message_idstring ou nullO ID da mensagem a que ela responde,
nullquando não responde a nenhuma.
{
"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 mensagens
Retorna todo o histórico de uma conversa no X, das mensagens mais novas para as mais antigas, página por página.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Parâmetros de consulta
- limitintegerQuantas mensagens retornar, de 1 a 50. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para mensagens mais antigas.
Retorno
Uma lista de objetos message.
Erros
- Nenhuma conversa com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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 uma mensagem
Envia uma DM para o lead pela sua conta do X, na hora. Envie texto, um arquivo ou os dois. O destinatário sempre vem da conversa.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Parâmetros do corpo
- textstringA mensagem, com até 10 000 caracteres. Obrigatória sem
media. - mediaobjectUm arquivo para enviar com a mensagem. Informe a
urldele, ou odatacom omime_type. O Gemlead identifica o tipo pelo próprio arquivo. Imagens vão até 5 MB e GIFs até 15 MB. Vídeos e mensagens de voz podem ser tão grandes quanto o X aceitar. Envie umaurlpara os que forem grandes demais para o corpo de uma requisição. - reply_to_message_idstringResponde a esta mensagem, uma das últimas 20 da conversa. Uma resposta com mídia precisa de uma conversa do X Chat.
Retorno
A mensagem enviada, com conversation_id, reply_to_message_id e transport, x_chat ou classic.
Erros
- Nenhuma conversa com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A conversa não aceita este tipo de arquivo, como uma mensagem de voz sem X Chat.
- 429dm_pausedO X está limitando as DMs da conta por enquanto.
Retry-Afterdiz quando elas voltam. - Mais de 10 DMs no minuto.
- 300 DMs hoje em UTC, ou a cota diária que o próprio X definiu para a conta.
- O X recusou, o lead fechou as DMs ou bloqueou a conta.
- A conversa ainda não tem um usuário do X para quem escrever.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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"
}Adicionar uma reação
Reage a uma mensagem com um emoji, pela sua conta do X.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
- message_idstringObrigatórioO ID da mensagem, uma das últimas 20 da conversa.
Parâmetros do corpo
- emojistringObrigatórioO emoji, como ❤️ ou 👍.
Retorno
Um objeto com o conversation_id, o message_id e o emoji.
Erros
- Nenhuma mensagem com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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": "👍"
}Remover uma reação
writeMCPreact_to_messageRemove a sua reação de uma mensagem.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
- message_idstringObrigatórioO ID da mensagem, uma das últimas 20 da conversa.
Parâmetros de consulta
- emojistringObrigatórioO emoji a remover.
Retorno
A reação com deleted igual a true.
Erros
- Nenhuma mensagem com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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
}Apagar uma mensagem
Apaga uma mensagem para você, ou para os dois lados quando ela é sua e a conversa está no X Chat.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
- message_idstringObrigatórioO ID da mensagem, uma das últimas 20 da conversa.
Parâmetros de consulta
- for_everyoneboolean
trueapaga para os dois lados, apenas nas suas próprias mensagens no X Chat. O padrão éfalse.
Retorno
Um objeto com o id da mensagem, o conversation_id dela, deleted igual a true e for_everyone.
Erros
- Nenhuma mensagem com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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
}O objeto conversation translation
Se as mensagens de uma conversa são traduzidas e para qual idioma.
Atributos
- objectstringSempre
conversation_translation. - conversation_idstringO ID da conversa.
- enabledbooleanIndica se as mensagens dela são traduzidas conforme chegam.
- decidedbooleanIndica se alguém ativou ou desativou a tradução, em vez do padrão do Gemlead.
- source_languagestring ou nullO idioma do lead, depois de detectado.
- languagestring ou nullO idioma para o qual as mensagens são traduzidas.
- shownbooleanIndica se o app mostra as mensagens traduzidas.
{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Obter as configurações de tradução
Retorna se a conversa é traduzida e para qual idioma.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Retorno
Um objeto conversation translation.
Erros
- Nenhuma conversa com este ID na conta da chave.
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
}Atualizar as configurações de tradução
Ativa ou desativa a tradução da conversa e define se o app mostra as mensagens traduzidas.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Parâmetros do corpo
- enabledbooleanTraduz as mensagens conforme chegam, as suas e as do lead.
- shownbooleanMostra as mensagens traduzidas no app. Exige
enabled. - languagestringO idioma para o qual traduzir. O padrão é o seu idioma no Gemlead, senão inglês.
enfresitderuptnljazhkoartrhiidplukvithsv
Retorno
O objeto conversation translation atualizado.
Erros
- Nenhuma conversa com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - O corpo tem um campo que este endpoint não aceita.
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
}Traduzir mensagens
Traduz as mensagens recentes da conversa. Com a tradução desativada, traduza uma mensagem por vez.
Parâmetros de caminho
- conversation_idstringObrigatórioO ID da conversa.
Parâmetros do corpo
- message_idsarray de stringsAs mensagens a traduzir, entre as últimas 20. O padrão são todas, com a tradução ativada.
- languagestringO idioma para o qual traduzir. O padrão é o seu idioma no Gemlead, senão inglês.
enfresitderuptnljazhkoartrhiidplukvithsv
Retorno
Um objeto com o conversation_id, o language e, em data, o message_id, o text e a translation de cada mensagem.
Erros
- Nenhuma conversa com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A tradução está desativada e você pediu mais de uma mensagem.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um 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?"
}
]
}