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

Проверка и хранение идентификаторов пользователей в MAX#

В системе MAX отправка сообщений производится по идентификатору чата (chatId).

Особенности идентификатора в MAX:

  • chatId формируется в момент создания аккаунта.
  • chatId является уникальным и постоянным для всего времени жизни аккаунта.
  • chatId перестаёт быть актуальным в момент удаления аккаунта.

Это значит, что после его получения можно использовать сохранённое значение для отправки сообщений без необходимости постоянно его проверять.

При отправке сообщения на несуществующий chatId система вернёт ошибку noAccount во входящем вебхуке.
В такой ситуации необходимо повторно выполнить метод CheckAccount для получения актуального chatId.

Таким образом, безопасная стратегия работы выглядит так:

  1. Один раз получить chatId методом CheckAccount.
  2. Сохранить chatId в базе данных и использовать его для отправки сообщений.
  3. Обрабатывать ошибку noAccount: если она пришла, повторно вызвать метод CheckAccount, чтобы обновить chatId в базе данных.

Такое поведение системы предотвращает нежелательную отправку сообщений посторонним получателям.

Например, если номер телефона перешёл от одного человека к другому, старый chatId становится неактуальным и сообщения не попадут новому владельцу.