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

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

Идентификатор чата (chatId) — это уникальный маркер, необходимый для корректной отправки сообщений через GREEN-API. Он может принадлежать как человеку, так и группе. В случае группового чата идентификатор чата может содержать знак минус "-".

Формат chatId

  • Личный чат: "10000000" (положительное число)
  • Группа: "-10000000000000" (всегда начинается с минуса)

Совет: В API идентификатор передается как строка, но в базе данных его лучше хранить как число для экономии места.

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

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

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

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

    {
      "typeWebhook": "incomingMessageReceived",
      "instanceData": {
        "idInstance": 4100000000,
        "wid": "79876543210@c.us",
        "typeInstance": "tgm"
      },
      "timestamp": 1588091580,
      "idMessage": "1769676078000",
      "senderData": {
        "chatId": "10000000",
        "sender": "10000000",
        "chatName": "Василиса Премудрая",
        "senderName": "Василиса Премудрая",
        "senderContactName": "Василиса Премудрая",
        "senderPhoneNumber": 79876543210
      },
      "messageData": {
        "typeMessage": "textMessage",
        "textMessageData": {
        "textMessage": "Я использую GREEN-API для отправки этого сообщения!"
        }
      }
    }
    

  2. Через журнал входящих сообщений LastIncomingMessages

    Идентификатор чата будет указан в поле "senderData": "sender"
    Пример сообщения в журнале:

    {
      "typeWebhook": "incomingMessageReceived",
      "instanceData": {
        "idInstance": 4100000000,
        "wid": "79876543210@c.us",
        "typeInstance": "tgm"
        },
      "timestamp": 1588091580,
      "idMessage": "1769676078000",
      "senderData": {
        "chatId": "10000000",
        "sender": "10000000",
        "chatName": "Василиса Премудрая",
        "senderName": "Василиса Премудрая",
        "senderContactName": "Василиса Премудрая",
        "senderPhoneNumber": 79876543210
      },
      "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 и др.

Рекомендуется сначала получать Идентификатор чата методом CheckAccount, а затем выполнять отправку по полученному значению chatId, а не по номеру телефона.