Справочник API
Диалоги
Диалогом называется ваша переписка в DM с одним лидом в X, его ID совпадает с ID лида. Читайте все сообщения переписки, получайте их списком сразу по многим диалогам, отвечайте с вашего аккаунта X и поддерживайте порядок на доске диалогов. Новые ответы также приходят вебхуком 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
Объект диалога
Ваша переписка в DM с одним лидом в X. Её ID совпадает с ID лида.
Атрибуты
- idstringУникальный идентификатор диалога, совпадает с
lead_id. - objectstringВсегда
conversation. - lead_idstringЛид, с которым вы общаетесь.
- profileobjectПрофиль лида в X, как в объекте лида.
- unreadbooleanTrue, если последнее сообщение лида ещё не прочитано.
- last_message_atstringВремя последнего сообщения, ISO 8601.
- messages_countintegerСообщения в переписке.
- last_messageobject или nullПоследнее сообщение.
- personaobject или nullПерсона лида.
- columnobject или nullКолонка вашей доски диалогов, в которой находится диалог, например «Заинтересованы». См. Колонки воронки.
- historystring
complete, если вmessagesвся переписка.recent, пока Gemlead хранит только последние сообщения длинной переписки, до того как один раз прочитает остальное из X. Только вместе сmessages.completerecent - messagesмассив objectsВсе сообщения переписки, сначала старые. При получении одного диалога или в списке с
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"
}
}Список диалогов
Возвращает ваши диалоги, сначала с самым свежим сообщением.
Параметры запроса
- unreadboolean
trueтолько для непрочитанных диалогов. - personastringТолько диалоги с лидами персоны с этим ID.
- include_messagesboolean
true, чтобы получить каждый диалог со всеми сообщениями, сначала старые, иhistory. Страницы тяжелее, поэтому держитеlimitне больше 25. - limitintegerСколько объектов вернуть, от 1 до 100. По умолчанию 25.
- cursorstring
next_cursorпредыдущей страницы, чтобы получить следующую. См. раздел Пагинация.
Возвращает
Список объектов диалога, с messages только если include_messages равен true.
Ошибки
- API не принимает значение параметра. Название параметра указано в
param.
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"
}Получение диалога
Возвращает один диалог со всеми его сообщениями, сначала старые.
Параметры пути
- idstringОбязательноID диалога.
Возвращает
Объект диалога с messages и history.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
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"
}
]
}Отметка о прочтении
Отмечает диалог прочитанным в Gemlead, а в X отправляет отметку о прочтении.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}
}Снятие отметки о прочтении
Отмечает диалог непрочитанным в Gemlead.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}
}Перемещение диалога
Перемещает диалог в другую колонку доски диалогов.
Параметры пути
- conversation_idstringОбязательноID диалога.
Параметры тела
- column_idstringОбязательноID колонки из ответа Список колонок воронки.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- На доске аккаунта нет колонки с этим ID.
- Отсутствует обязательный параметр. Название параметра указано в
param.
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"
}
}Закрепление диалога
Закрепляет диалог во входящих X.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}
}Открепление диалога
Открепляет диалог во входящих X.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}
}Удаление диалога
Удаляет диалог в Gemlead и во входящих X. Лид этого диалога останавливается во всех кампаниях. Это действие нельзя отменить.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Объект с id диалога и deleted, равным true.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
curl -X DELETE \
https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "msgOtJ8dvT",
"object": "conversation",
"deleted": true
}Объект сообщения
Одно DM в диалоге, отправленное вами или лидом.
Атрибуты
- idstringID сообщения в X.
- objectstringВсегда
message. - directionstring
inbound, если его написал лид,outbound, если вы.inboundoutbound - textstringТекст сообщения.
- created_atstringВремя отправки, ISO 8601.
- mediaмассив objectsВложения сообщения, каждое со своими
typeиurl. Изображения из X приходят через ссылку Gemlead. - reactionsмассив objectsРеакции эмодзи на сообщение, сначала старые, по одной на человека и эмодзи.
- encryptedboolean
trueдля сообщения X Chat, которое Gemlead пока не может прочитать. Егоtextиmediaостаются пустыми, пока код X Chat его не разблокирует. - reply_to_message_idstring или nullID сообщения, на которое это сообщение отвечает, или
null, если это не ответ.
{
"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
}Список сообщений
Возвращает всю историю диалога из X постранично, сначала новые сообщения.
Параметры пути
- conversation_idstringОбязательноID диалога.
Параметры запроса
- limitintegerСколько сообщений вернуть, от 1 до 50. По умолчанию 25.
- cursorstring
next_cursorпредыдущей страницы, чтобы получить более старые сообщения.
Возвращает
Список объектов сообщения.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- API не принимает значение параметра. Название параметра указано в
param. - Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}Отправка сообщения
Сразу отправляет лиду DM с вашего аккаунта X. Отправляйте текст, файл или и то, и другое. Получатель всегда берётся из диалога.
Параметры пути
- conversation_idstringОбязательноID диалога.
Параметры тела
- textstringТекст сообщения, до 10 000 символов. Обязателен, если нет
media. - mediaobjectФайл, который отправляется с сообщением. Укажите его
urlили егоdataвместе сmime_type. Gemlead определяет тип по самому файлу. Изображения до 5 МБ, GIF до 15 МБ. Видео и голосовые сообщения ограничены только лимитами X, а если файл слишком велик для тела запроса, передайтеurl. - reply_to_message_idstringОтветить на это сообщение, одно из последних 20 в диалоге. Для ответа с медиафайлом нужен диалог в X Chat.
Возвращает
Отправленное сообщение с conversation_id, reply_to_message_id и transport, равным x_chat или classic.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- Отсутствует обязательный параметр. Название параметра указано в
param. - API не принимает значение параметра. Название параметра указано в
param. - Этот диалог не принимает такой тип файла, например голосовое сообщение без X Chat.
- 429dm_pausedX временно ограничивает DM аккаунта.
Retry-Afterпоказывает, когда они снова станут доступны. - Больше 10 DM в минуту.
- Уже отправлено 300 DM за сегодняшние сутки по UTC или исчерпана суточная квота X для аккаунта.
- X отклонил отправку, потому что лид закрыл DM или заблокировал аккаунт.
- В диалоге пока нет пользователя X, которому можно написать.
- Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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"
}Добавление реакции
Ставит реакцию эмодзи на сообщение с вашего аккаунта X.
Параметры пути
- conversation_idstringОбязательноID диалога.
- message_idstringОбязательноID сообщения, одного из последних 20 в диалоге.
Параметры тела
- emojistringОбязательноЭмодзи, например ❤️ или 👍.
Возвращает
Объект с conversation_id, message_id и emoji.
Ошибки
- В аккаунте ключа нет сообщения с этим ID.
- Отсутствует обязательный параметр. Название параметра указано в
param. - Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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": "👍"
}Удаление реакции
writeMCPreact_to_messageУбирает вашу реакцию с сообщения.
Параметры пути
- conversation_idstringОбязательноID диалога.
- message_idstringОбязательноID сообщения, одного из последних 20 в диалоге.
Параметры запроса
- emojistringОбязательноЭмодзи, который нужно убрать.
Возвращает
Реакция с deleted, равным true.
Ошибки
- В аккаунте ключа нет сообщения с этим ID.
- Отсутствует обязательный параметр. Название параметра указано в
param. - Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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
}Удаление сообщения
Удаляет сообщение у вас или у обеих сторон, если оно ваше и диалог идёт в X Chat.
Параметры пути
- conversation_idstringОбязательноID диалога.
- message_idstringОбязательноID сообщения, одного из последних 20 в диалоге.
Параметры запроса
- for_everyoneboolean
trueудаляет его у обеих сторон, только для ваших сообщений в X Chat. По умолчаниюfalse.
Возвращает
Объект с id сообщения, его conversation_id, deleted, равным true, и for_everyone.
Ошибки
- В аккаунте ключа нет сообщения с этим ID.
- API не принимает значение параметра. Название параметра указано в
param. - Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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
}Объект перевода диалога
Переводятся ли сообщения диалога и на какой язык.
Атрибуты
- objectstringВсегда
conversation_translation. - conversation_idstringID диалога.
- enabledbooleanПереводятся ли его сообщения по мере поступления.
- decidedbooleanВключили или выключили ли перевод вручную, а не по настройке Gemlead по умолчанию.
- source_languagestring или nullЯзык лида, после того как он определён.
- languagestring или nullЯзык, на который переводятся сообщения.
- shownbooleanПоказывает ли приложение сообщения в переводе.
{
"object": "conversation_translation",
"conversation_id": "msgOtJ8dvT",
"enabled": true,
"decided": true,
"source_language": "es",
"language": "en",
"shown": true
}Получение настроек перевода
Возвращает, переводится ли диалог и на какой язык.
Параметры пути
- conversation_idstringОбязательноID диалога.
Возвращает
Ошибки
- В аккаунте ключа нет диалога с этим ID.
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
}Изменение настроек перевода
Включает или выключает перевод диалога и задаёт, показывает ли приложение сообщения в переводе.
Параметры пути
- conversation_idstringОбязательноID диалога.
Параметры тела
- enabledbooleanПереводить сообщения по мере поступления, ваши и лида.
- shownbooleanПоказывать сообщения в переводе в приложении. Работает только с
enabled. - languagestringЯзык перевода. По умолчанию ваш язык в Gemlead, иначе английский.
enfresitderuptnljazhkoartrhiidplukvithsv
Возвращает
Обновлённый объект перевода диалога.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- API не принимает значение параметра. Название параметра указано в
param. - В теле есть поле, которое этот эндпоинт не принимает.
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
}Перевод сообщений
Переводит последние сообщения диалога. Если перевод выключен, переводите по одному сообщению.
Параметры пути
- conversation_idstringОбязательноID диалога.
Параметры тела
- message_idsмассив stringsСообщения для перевода, из последних 20. По умолчанию все, если перевод включён.
- languagestringЯзык перевода. По умолчанию ваш язык в Gemlead, иначе английский.
enfresitderuptnljazhkoartrhiidplukvithsv
Возвращает
Объект с conversation_id, language, а в data для каждого сообщения его message_id, text и translation.
Ошибки
- В аккаунте ключа нет диалога с этим ID.
- API не принимает значение параметра. Название параметра указано в
param. - Перевод выключен, а вы запросили больше одного сообщения.
- X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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?"
}
]
}