Шаблоны аутентификации без касания | Документация для разработчиков
Шаблоны аутентификации без касания
Обновлено: 6 февраля 2026 г
Предстоящее устаревание: начиная с 15 апреля 2026 года ,
PendingIntent для шаблонов аутентификации будет признан устаревшим. Если вы в настоящее время используете PendingIntent для инициирования установления соединения или проверки подлинности приложения, предпочтительным способом перехода является использование OTP Android SDK Шаблоны аутентификации без касания позволяют вашим пользователям получать одноразовые пароли или коды через WhatsApp, не покидая ваше приложение.
Когда пользователь в вашем приложении запрашивает пароль или код, и вы предоставляете его, используя шаблон аутентификации без касания, клиент WhatsApp просто передает указанный пароль или код, и ваше приложение может немедленно перехватить его с помощью приемника широковещательных сообщений.
С точки зрения пользователя, он запрашивает пароль или код в вашем приложении, и он автоматически отображается в приложении. Если пользователь приложения проверит сообщение в клиенте WhatsApp, он увидит только сообщение со стандартным фиксированным текстом: <код> — ваш код подтверждения.
Подобно шаблонам аутентификации с кнопкой автозаполнения в одно касание, когда клиент WhatsApp получает сообщение-шаблон, содержащее пароль или код пользователя, мы выполняем ряд проверок на соответствие требованиям. Если сообщение не проходит эту проверку и мы не можем передать пароль или код, в сообщении отобразится либо кнопка автозаполнения в одно касание, либо кнопка копирования кода. По этой причине при создании шаблона аутентификации без необходимости касания необходимо включить кнопку автозаполнения в одно касание и кнопку копирования кода в тело сообщения, даже если пользователь никогда не увидит одну из этих кнопок.
Примечание: В Android SDK OTP представлен упрощенный рабочий процесс для реализации шаблонов аутентификации в одно касание и без касаний. Ниже вы можете узнать, как его использовать.
Ограничения
Функция аутентификации без касания поддерживается только на Android. Если вы отправите шаблон аутентификации без касания пользователю WhatsApp, использующему устройство, отличное от Android, клиент WhatsApp отобразит вместо этого кнопку «Копировать код».
URL-адреса, медиафайлы и эмодзи не поддерживаются.
Передовые методы
Вот несколько примеров, которые наглядно демонстрируют пользователю приложения, что его код автоматически появится в приложении. 

Хэш ключа подписи приложения
В текст сообщения необходимо включить хэш ключа подписи вашего приложения.
Чтобы вычислить хеш, следуйте инструкциям Google по - строки вашего приложения .
В качестве альтернативы, если вы будете следовать инструкциям Google и загрузите сертификат ключа подписи вашего приложения (шаг 1), вы сможете использовать свой сертификат со оболочки sms_retriever_hash_v9.sh для вычисления хеша. Например:
./sms_retriever_hash_v9.sh --package "com.example.myapplication" --keystore ~/.android/debug.keystore
Поддерживаемые приложения
Массив
supported_apps позволяет задавать пары имен пакетов приложений и хешей ключей подписи для до 5 приложений. Это может быть полезно, если у вас есть разные сборки приложений, и вы хотите, чтобы каждая из них могла инициировать рукопожатие:В качестве альтернативы, если вы используете Graph API версии 20.0 или более старой и у вас только одно приложение, вы можете определить имя пакета приложения и хэш ключа подписи в качестве
buttons , но это не рекомендуется, поскольку мы прекратим поддержку этого метода начиная с версии 21.0:сигналы ошибок
См. раздел «Сигналы ошибок» , который может помочь в отладке.
Коды ошибок идентификации рукопожатия
При использовании SDK с проверкой идентификатора подтверждения могут возвращаться следующие коды ошибок:
| Код ошибки | Описание |
|---|---|
HANDSHAKE_ID_MISSING |
Идентификатор подтверждения рукопожатия не был включен в Intent от WhatsApp |
HANDSHAKE_ID_INVALID_FORMAT |
Идентификатор подтверждения соединения не является допустимым форматом UUID |
HANDSHAKE_ID_MISMATCH |
Идентификатор подтверждения в намерении не соответствует ожидаемому значению |