Идентификатор чата#
Чат может быть индивидуальным или групповым.
В случае группового чата идентификатор чата может содержать знак минус "-".
Пример идентификатора индивидуального чата: chatId
= "10000000"
Пример идентификатора группового чата: chatId
= "-10000000000000"
Важно
Идентификатор чата представлен строкой для обратной совместимости. Однако, рекомендуется выполнять преобразование из строки в число для более компактного хранения в базе данных.
Число может быть как положительным (для индивидуальных чатов), так и отрицательным (для групповых чатов).
Максимальная длина значения для групповых чатов составляет 16 символов.
Длина идентификатора чата может увеличиться со временем.
Как получить идентификатор чата?#
Идентификатор чата можно получить:
-
При обработке входящих уведомлений
Идентификатор чата будет указан в поле
"senderData": "sender"
Пример уведомления:{ "typeWebhook": "incomingMessageReceived", "instanceData": { "idInstance": 3100000000, "wid": "79991234567@c.us", "typeInstance": "v3" }, "timestamp": 1588091580, "idMessage": "115206687571465794", "senderData": { "chatId": "10000000", "sender": "10000000", "chatName": "Ходабрыш Пробешёлов", "senderName": "Ходабрыш Пробешёлов", "senderContactName": "Ходабрыш Пробешёлов" }, "messageData": { "typeMessage": "textMessage", "textMessageData": { "textMessage": "Я использую GREEN-API для отправки этого сообщения!" } } }
-
Через журнал входящих сообщений LastIncomingMessages
Идентификатор чата будет указан в поле
"senderData": "sender"
Пример сообщения в журнале:{ "typeWebhook": "incomingMessageReceived", "instanceData": { "idInstance": 3100000000, "wid": "79991234567@c.us", "typeInstance": "v3" }, "timestamp": 1588091580, "idMessage": "115206687571465794", "senderData": { "chatId": "10000000", "sender": "10000000", "chatName": "Ходабрыш Пробешёлов", "senderName": "Ходабрыш Пробешёлов", "senderContactName": "Ходабрыш Пробешёлов" }, "messageData": { "typeMessage": "textMessage", "textMessageData": { "textMessage": "Я использую GREEN-API для отправки этого сообщения!" } } }
-
Методом получения списка контактов GetContacts
Идентификатор чата будет указан в поле
"chatId"
Пример контакта:{ "chatId": "10000002", "name": "Вася Петров", "contactName": "Вася Петров", "type": "user" }
-
Методом проверки существования аккаунта по номеру телефона CheckAccount.
Идентификатор чата будет указан в поле
"chatId"
Пример ответа:{ "exist": true, "chatId": "10000000" }
Отправка сообщений по идентификатору чата#
Рекомендуется отправлять сообщения по идентификатору чата (chatId
).
- Если Идентификатор чата известен, то используйте его в методах отправки сообщений SendMessage и др.
- Если Идентификатор чата неизвестен, то сначала используйте метод CheckAccount, получите значение
chatId
, и далее используйтеchatId
в методах отправки сообщений SendMessage и др.
Отправка сообщений по номеру телефона#
Для поддержки обратной совместимости с предыдущими версиями интерфейса допускается указывать номер телефона клиента в формате phoneNumber@c.us
в качестве идентификатора чата в методе отправки сообщений SendMessage и др.
Допускается использовать только номера телефонов для РФ и РБ с кодами стран 7
и 375
соответственно.
Пример идентификатора чата для РФ: chatId
= "79991234567@c.us"
Пример идентификатора чата для РБ: chatId
= "375291234567@c.us"
Важно!
При отправке сообщений по номеру телефона, система вернет Идентификатор чата, который назначит сервер, во входящем уведомлении.
Идентификатор чата будет отражен в вебхуке в параметре chatId
.
Поэтому отправку по номеру телефона можно использовать только в случаях, когда не требуется обрабатывать входящие сообщения и статусы.
Во всех остальных случаях рекомендуется сначала получать Идентификатор чата методом CheckAccount, а затем выполнять отправку по полученному значению chatId
, а не по номеру телефона.
Читайте также: