> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Шаблоны аутентификации

> Выбирайте доставку с копированием кода, в одно касание или без касания, и разделяйте срок действия OTP и срок доставки сообщения.

Используйте шаблон аутентификации для отправки одноразового пароля (OTP) для подтверждения личности, например при входе в систему, восстановлении аккаунта или подтверждении транзакции.

Meta требует использовать для этих целей шаблоны аутентификации. Не отправляйте коды подтверждения личности через маркетинговые или сервисные шаблоны. Содержимое аутентификации использует строгий формат, а не произвольное рекламное сообщение.

## Выберите способ доставки кода

| Способ | Что делает клиент | Что вам необходимо подготовить |
| - | - | - |
| Копирование кода | Копирует код из WhatsApp и вводит его в вашем приложении. | Процесс ввода кода в вашем приложении. |
| Автозаполнение в одно касание | Нажимает кнопку, которая передает код в ваше поддерживаемое приложение для Android. | Интеграцию с приложением, имя пакета, данные подписи и необходимое рукопожатие. |
| Доставка без касания (zero-tap) | Поддерживаемое приложение для Android получает код без перехода клиента в WhatsApp. | Необходимую интеграцию приложения и проверки соответствия требованиям zero-tap. |

Выбирайте самый простой способ, который ваше приложение может надежно поддерживать. Не выбирайте доставку в одно касание или без касания только потому, что редактор шаблонов предлагает такую возможность.

Неподдерживаемые устройства или неудачные проверки соответствия могут использовать резервный вариант с копированием кода. Meta также описывает нативные подсказки клавиатуры для OTP на iOS 26 и новее, начиная с 15 июня 2026 года; это поведение клиента отличается от интеграции Android в одно касание и без касания. Протестируйте реальную комбинацию устройства клиента и приложения перед релизом.

<a id="copy-code-authentication-templates" />

<a id="one-tap-autofill-authentication-templates" />

<a id="zero-tap-authentication-templates" />

## Ознакомьтесь с содержимым шаблона

Формат аутентификации включает код подтверждения, действие по доставке кода и поддерживаемый текст безопасности или срока действия. Он не предназначен для медиафайлов, рекламного текста или общих уведомлений об аккаунте.

<Frame caption="Authentication content uses preset text and a code-delivery action. Meta labels each part in this example.">
  <div style={{ position: "relative", width: "100%", maxWidth: "680px", margin: "0 auto" }}>
    <img src="https://mintcdn.com/lchnan/Q9LYCM-XEE-Z8muf/product-assets/whatsapp-platform-2026-09-22/meta-authentication-components.png?fit=max&auto=format&n=Q9LYCM-XEE-Z8muf&q=85&s=d91f4d4ad03a1f5d54dded42d229a00c" alt="Сообщение аутентификации Meta с указанием кода, предупреждением безопасности, предупреждением об истечении срока действия и кнопкой автозаполнения." style={{ width: "100%", height: "auto", margin: 0 }} width="2224" height="2211" data-path="product-assets/whatsapp-platform-2026-09-22/meta-authentication-components.png" />
  </div>
</Frame>

Источник: [официальный пример Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates/).

Кнопка купона **Копировать код** относится к маркетинговому формату; это не шаблон аутентификации.

Используйте [настройки шаблонов аутентификации](/ru/documentation/channels/whatsapp-accounts-management/template-management/create-template/index) в YCloud и [руководство по API шаблонов](/ru/api-reference/guides/whatsapp-platform/manage-whatsapp-templates) для просмотра поддерживаемых полей.

## Разделяйте три вида срока действия

| Настройка | За что отвечает |
| - | - |
| Срок действия OTP в вашем приложении | Момент, когда ваш бэкенд перестает принимать код. |
| Текст о сроке действия, отображаемый клиенту | Что сообщается в тексте о времени жизни кода. |
| Срок доставки сообщения | Как долго платформа может пытаться доставить сообщение. |

Отображение предупреждения об истечении срока действия не заставляет ваш бэкенд отклонять просроченный код. Настройте саму систему верификации.

Выбирайте срок доставки, соответствующий полезному времени жизни кода. Запоздалое сообщение с просроченным кодом ухудшает процесс входа, даже если сообщение доставлено успешно.

## Настройте код так, чтобы он оставался актуальным при доставке

В YCloud выберите **Authentication**, укажите способ доставки кода и настройте поддерживаемые параметры безопасности и срока действия. Текст сообщения строго ограничен; не вставляйте обычный маркетинговый шаблон в эту категорию.

Для гипотетического кода, действительного в течение пяти минут:

| Настройка | Пример выбора | Причина |
| - | - | - |
| Время жизни кода на бэкенде | 5 минут | Ваш сервер отклоняет код по истечении этого периода. |
| Отображаемый клиенту текст о сроке действия | 5 минут | Сообщение должно указывать то же самое время жизни. |
| Срок доставки | Не более 5 минут с учетом времени на обработку | Не доставляйте код намеренно после того, как он перестал быть действительным. |

Текущий контракт шаблонов YCloud поддерживает значения аутентификации `messageSendTtlSeconds` от **30 до 900 секунд** со значением **по умолчанию 10 минут** для вновь создаваемых шаблонов аутентификации. Ранее созданные шаблоны могут иметь другие значения по умолчанию; проверяйте сохраненные настройки, а не предполагайте, что все существующие шаблоны одинаковы. Отображаемый параметр срока действия поддерживает диапазон **1–90 минут**, однако эта настройка отображения не расширяет допустимый диапазон срока доставки.

TTL в пять минут не гарантирует, что после получения останется пять минут: часть времени уже прошла с момента выпуска кода. Ваше приложение должно показывать фактическое оставшееся время жизни.

### Поддерживайте актуальность параметров интеграции с Android

Для форматов One-tap и Zero-tap требуются совпадающие идентификаторы приложения и работающее рукопожатие. Текущий контракт шаблонов YCloud использует `supported_apps`; устаревшие поля верхнего уровня `package_name` и `signature_hash` больше не рекомендуются к использованию.

Текущая документация Meta по аутентификации указывает **15 октября 2026 года** как крайний срок перехода с устаревшего рукопожатия `PendingIntent` и рекомендует OTP Android SDK. Если ваше приложение использует этот старый процесс, рассматривайте миграцию как задачу на уровне приложения, а не просто редактирование текста шаблона. Перед релизом ознакомьтесь с [актуальной документацией по One-tap и Zero-tap](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/zero-tap-authentication-templates/).

### Тестируйте сценарии сбоев

Протестируйте сценарии с истекшим кодом, повторным запросом кода, неверным кодом, устройством в офлайне, неподдерживаемым клиентом и несоответствием подписи Android-приложения. Определите, аннулирует ли выпуск нового кода предыдущий, и настройте интерфейс в соответствии с этим решением.

Никогда не делайте вывод об успешной аутентификации на основе `delivered` или `read`. Только ваш бэкенд верификации может определить, действителен ли отправленный код для конкретного пользователя и действия.

## Спроектируйте процесс верификации

1. Позвольте клиенту запросить код и подтвердить номер назначения.
2. Предупредите, что код будет доставлен через WhatsApp.
3. Генерируйте и проверяйте код в вашей системе верификации.
4. Отправляйте одобренный шаблон с обязательными параметрами.
5. Отслеживайте доставку сообщений отдельно от успешного прохождения верификации.
6. Предоставляйте возможность контролируемой повторной отправки или альтернативный маршрут при необходимости.

Применяйте ограничения по частоте запросов (rate limits) и контроль повторных попыток для запросов кода. Никогда не считайте отчет о доставке или прочтении в WhatsApp подтверждением того, что клиент успешно прошел аутентификацию.

Не записывайте действующие коды верификации в общие журналы (логи) приложения.

## Тарифы и доступность

Для сообщений аутентификации действуют отдельные тарифы, а в соответствующих условиях могут применяться международные тарифы на аутентификацию. См. раздел [Цены WhatsApp](/ru/documentation/whatsapp-business-platform/pricing-limits-and-quality/whatsapp-pricing).

Запрос кода клиентом не является согласием на получение будущих несвязанных маркетинговых сообщений. Согласие и цель сообщения должны соответствовать запрошенной верификации.

## Руководства по внедрению

* [Аутентификация с копированием кода](/ru/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/copy-code-authentication)
* [Аутентификация в одно касание (One-tap)](/ru/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/one-tap-authentication)
* [Аутентификация без касания (Zero-tap)](/ru/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/zero-tap-authentication)
* [Отправка кодов верификации с помощью YCloud](/ru/documentation/quick-start/send-verification-codes-via-whatsapp)

Для изучения базовой логики Meta ознакомьтесь с разделом [Шаблоны аутентификации](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/).

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Сообщение пришло, но срок действия кода уже истек. Какая настройка неверна?">
    Сравните три временные метки: когда приложение сгенерировало код, сколько времени сообщение могло ожидать доставки и когда клиент отправил его. Текст срока действия в шаблоне не продлевает период действия кода на вашем сервере. Используйте TTL доставки, соответствующий полезному сроку жизни кода, аннулируйте замененные коды согласно вашей архитектуре безопасности и предоставьте возможность контролируемого запроса нового кода.
  </Accordion>

  <Accordion title="Исключает ли аутентификация One-tap или Zero-tap необходимость валидации кода?">
    Нет. Эти форматы лишь изменяют способ, с помощью которого совместимое приложение получает или подставляет код. Ваш бэкенд по-прежнему должен проверять запрос, код, срок его действия и лимиты попыток. Доставленное/прочитанное сообщение или успешное автозаполнение не являются доказательством успешной верификации.
  </Accordion>

  <Accordion title="Кнопка копирует код вместо того, чтобы открывать приложение. Что необходимо проверить?">
    Проверьте совместимость клиента, одобренный формат аутентификации, а также зарегистрированные значения пакета (package) и подписи вашего приложения. На неподдерживаемых клиентах ожидаемо срабатывает резервный сценарий с копированием кода. Протестируйте тот же шаблон на поддерживаемых комбинациях приложений и клиентов, прежде чем делать вывод о неисправности шаблона.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.