Идентификатор чата#
Чат может быть индивидуальным или групповым. 
 В случае группового чата идентификатор чата может содержать знак минус "-". 
Пример идентификатора индивидуального чата: 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": "Ходабрыш Пробешёлов", "senderPhoneNumber": 79876543210 }, "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": "Ходабрыш Пробешёлов", "senderPhoneNumber": 79876543210 }, "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, а не по номеру телефона.
Читайте также: