> ## 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.

# WhatsApp Flows

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

WhatsApp Flows позволяют клиентам выполнять структурированные задачи прямо в WhatsApp, например выбирать время записи, отправлять заявки или проходить короткие опросы.

<Frame caption="Meta example: a message opens a multi-screen Flow for product preferences and selection. This illustrates the customer experience, not YCloud's Flow editor.">
  <img src="https://mintcdn.com/lchnan/3gBf_HfRdWRqXdyx/images/whatsapp-platform/meta-flows-screens.png?fit=max&auto=format&n=3gBf_HfRdWRqXdyx&q=85&s=589ee9b95bca5a27acc2a16e9c3d1779" alt="Пример экранов WhatsApp Flow от Meta: от кнопки в сообщении через выбор параметров продукта до последующего сообщения." className="bg-white" width="1780" height="640" data-path="images/whatsapp-platform/meta-flows-screens.png" />
</Frame>

Источник: [официальный пример Meta](https://developers.facebook.com/docs/whatsapp/flows/introduction/).

## Основные компоненты

Flow принадлежит WABA. Его определение описывает экраны, поля ввода, навигацию и поведение при завершении.

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

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

Meta предоставляет [руководства по Flows](https://developers.facebook.com/docs/whatsapp/flows/guides/) по проектированию экранов, интеграции эндпоинтов, шифрованию, тестированию и мониторингу работоспособности.

## Разделение Flow и приглашения к нему

Вы отправляете сообщение, открывающее Flow:

* Используйте поддерживаемое интерактивное сообщение Flow в пределах открытого сервисного окна.
* Используйте одобренный шаблон с кнопкой Flow, когда требуется шаблон.

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

См. [Компоненты и форматы шаблонов](/ru/documentation/whatsapp-business-platform/messaging/message-templates/template-components-and-formats) и [Сервисные сообщения](/ru/documentation/whatsapp-business-platform/messaging/service-messages).

## Создание, тестирование и запуск

В [руководстве по Flows API](/ru/api-reference/guides/whatsapp-platform/manage-whatsapp-flows) от YCloud описаны создание, получение, обновление, предварительный просмотр, публикация и вывод из эксплуатации Flows.

Сохраняйте Flow в статусе черновика во время проверки структуры и тестирования клиентского пути. Публикация — это рубеж жизненного цикла; планируйте создание новой версии при изменении работающего Flow и проверяйте текущие правила API перед попыткой внести изменения на месте.

Проверьте:

* Обязательные поля и некорректный ввод.
* Переход назад и прерывание процесса.
* Ошибки эндпоинта или недоступные слоты для записи.
* Повторные отправки форм.
* Сообщения о завершении и последующее бизнес-действие.

Завершенный Flow не означает автоматического подтверждения бронирования, оплаты заказа или одобрения заявки. Ваша бизнес-система должна проверить и завершить это действие.

## Пример: заявка на запись

Удобная первая версия состоит из трех экранов:

| Экран | Клиент указывает | Ваша система проверяет |
| - | - | - |
| Услуга | Услугу и филиал. | Филиал предоставляет эту услугу. |
| Запись | Желаемые дату и время. | Слот все еще существует и может быть забронирован. |
| Проверка | Контактные данные и подтверждение. | Обязательные поля, повторные заявки и итоговый результат бронирования. |

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

Текст финального экрана должен соответствовать результату. «Заявка получена» подходит, если оператору еще требуется подтвердить запись; «Запись подтверждена» требует успешного резервирования в вашей системе бронирования.

## Разделение идентификаторов

* **Flow ID** идентифицирует повторно используемую форму.
* **ID сообщения** идентифицирует конкретное приглашение и его доставку.
* **Токен Flow**, если он передан вашей интеграцией, связывает взаимодействие с вашим бизнес-контекстом.
* Ваш **ID бронирования или заявки** идентифицирует результирующую бизнес-запись.

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

## Диагностика на правильном этапе

| Симптом | Что проверить в первую очередь |
| - | - |
| Приглашение отклонено до отправки | Окно отправки, одобрение шаблона, значения параметров и права отправителя. |
| Сообщение доставлено, но форма не открывается | Статус Flow, указанный Flow и экран, а также совместимость клиента. |
| Следующий экран не загружается | Доступность эндпоинта, настройку шифрования и данные, возвращаемые для этого перехода. |
| Форма отправлена, но бронирование отсутствует | Обработку завершения, валидацию и ответ вашей бизнес-системы. |
| Появились два бронирования | Обработку дублирующихся событий и идемпотентность обработки отправки формы. |

Эти проверки позволяют не путать проблемы с доставкой с проблемами формы или системы бронирования.

## Осознанная работа с данными

Собирайте только необходимую информацию. Объясняйте цель её использования и предоставляйте соответствующие сведения о конфиденциальности.

Для Flows с использованием эндпоинтов соблюдайте требования Meta к шифрованию и эндпоинтам. Не храните секретные данные в JSON структуры Flow и публичных предпросмотрах. Используйте синтетические данные для тестирования.

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

## Продолжить работу в YCloud

* [Управление Flows через API](/ru/api-reference/guides/whatsapp-platform/manage-whatsapp-flows)
* [Создать Flow](/ru/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/create-a-whatsapp-flow)
* [Отправить Flow](/ru/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/send-a-whatsapp-flow)
* [Просмотр отправленных данных Flow](/ru/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/review-whatsapp-flow-submissions)

Отслеживайте доставку Flow, отправку формы и бизнес-результат как отдельные метрики.

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

<AccordionGroup>
  <Accordion title="Нужен ли серверный эндпоинт для каждого Flow?">
    Нет. Статический Flow может собирать выбранные варианты или данные без получения динамических данных на каждом экране. Используйте эндпоинт, когда варианты выбора или валидация зависят от текущего состояния ваших систем, например от доступных слотов для записи. Вам также необходимо определить, куда будут поступать заполненные ответы и кто будет их обрабатывать.
  </Accordion>

  <Accordion title="Клиент отправил форму. Могу ли я сразу отправить сообщение с подтверждением записи?">
    Только если ваша система бронирования успешно зарезервировала слот. Заполненная форма может быть лишь запросом, а не подтверждённой записью. Используйте идентификатор запроса (request ID), проверяйте доступность слотов, обрабатывайте дубликаты и формулируйте текст подтверждения в точном соответствии с реальным результатом.
  </Accordion>

  <Accordion title="Можно ли использовать один и тот же Flow для сервисных ответов и исходящих рассылок?">
    Сама форма и приглашение к её заполнению разделены. Используйте подходящее интерактивное сообщение Flow в рамках сервисного окна или одобренный шаблон с кнопкой Flow, если требуется шаблон. Категория определяется фактической целью приглашения; прикрепление формы не превращает рекламное сообщение в сервисное (utility).
  </Accordion>
</AccordionGroup>


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