Перейти к содержанию

Идентификатор чата#

Чат может быть индивидуальным или групповым.
В случае группового чата идентификатор чата может содержать знак минус "-".

Пример идентификатора индивидуального чата: chatId = "10000000"
Пример идентификатора группового чата: chatId = "-10000000000000"

Важно

Идентификатор чата представлен строкой для обратной совместимости. Однако, рекомендуется выполнять преобразование из строки в число для более компактного хранения в базе данных.

Число может быть как положительным (для индивидуальных чатов), так и отрицательным (для групповых чатов).
Максимальная длина значения для групповых чатов составляет 16 символов.

Длина идентификатора чата может увеличиться со временем.

Как получить идентификатор чата?#

Идентификатор чата можно получить:

  1. При обработке входящих уведомлений

    Идентификатор чата будет указан в поле "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 для отправки этого сообщения!"
      }
    }
    }
    

  2. Через журнал входящих сообщений 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 для отправки этого сообщения!"
      }
    }
    }
    

  3. Методом получения списка контактов GetContacts

    Идентификатор чата будет указан в поле "chatId"
    Пример контакта:

    {
        "chatId": "10000002",
        "name": "Вася Петров",
        "contactName": "Вася Петров",
        "type": "user"
    }
    

  4. Методом проверки существования аккаунта по номеру телефона 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, а не по номеру телефона.

Читайте также: