> ## 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. Используйте их для структурированных задач, таких как регистрация, запись на прием, сбор лидов, получение обратной связи или настройка продуктов.

## Перед началом работы

* Подключите WABA, которой будет принадлежать Flow.
* Спроектируйте экраны и модель данных в корректном Flow JSON-документе.
* Определите, требуется ли для Flow эндпоинт данных.
* Выберите категории, описывающие сценарий использования Flow.
* Оставляйте новые наработки в `DRAFT` до завершения валидации и предварительного просмотра.

## Как это работает

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

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

## Запрос

### Создание Flow

`POST /whatsapp/flows`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST https://api.ycloud.com/v2/whatsapp/flows \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "wabaId": "WABA_ID",
    "name": "Appointment booking",
    "categories": ["APPOINTMENT_BOOKING"],
    "flowJson": "{\"version\":\"5.0\",\"screens\":[]}",
    "publish": false,
    "endpointUri": "https://example.com/whatsapp/flow"
  }'
```

### Обновление структуры Flow

`PATCH /whatsapp/flows/{flowId}/assets`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request PATCH \
  https://api.ycloud.com/v2/whatsapp/flows/FLOW_ID/assets \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --form "flowJson=@./flow.json;type=application/json"
```

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

Создайте предпросмотр с помощью `GET /whatsapp/flows/{flowId}/preview`, затем опубликуйте с помощью `POST /whatsapp/flows/{flowId}/publish`.

## Ответ

При создании возвращаются идентификатор нового Flow и результат операции.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "FLOW_ID",
  "success": true
}
```

При получении возвращаются состояние жизненного цикла Flow и сведения о валидации.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "FLOW_ID",
  "name": "Appointment booking",
  "status": "DRAFT",
  "categories": ["APPOINTMENT_BOOKING"],
  "validationErrors": []
}
```

## Жизненный цикл Flow

| Состояние | Значение |
| - | - |
| `DRAFT` | Flow можно редактировать, проверять, просматривать или удалять. |
| `PUBLISHED` | На Flow можно ссылаться в сообщениях. |
| `DEPRECATED` | Flow больше не следует использовать для новых взаимодействий. |
| `BLOCKED` или `THROTTLED` | Meta ограничила Flow; проверьте подробности статуса. |

Используйте вебхуки `whatsapp.flow.status_change` для обработки асинхронных изменений жизненного цикла.

## Ограничения и устранение неполадок

* Рассматривайте каждый указатель ошибки валидации как место в Flow JSON, требующее исправления.
* URL предварительного просмотра общедоступны; не включайте в них рабочие секреты или конфиденциальные тестовые
  данные.
* Публикация — это рубеж жизненного цикла. Сначала проверьте контент и поведение
  эндпоинта.
* Удаляйте Flow только тогда, когда его текущее состояние позволяет удаление.
* Контролируйте версии Flow JSON и логику эндпоинта совместно, если они обмениваются данными.

<CardGroup cols={2}>
  <Card title="API создания Flow" icon="diagram-project" href="/api-reference/whatsapp-flows/create-a-flow">
    Изучите параметры метаданных, JSON, клонирования и публикации.
  </Card>

  <Card title="Вебхуки Flow" icon="webhook" href="/ru/api-reference/guides/examples/webhook-examples/whatsapp-flow-webhook-examples">
    Обрабатывайте изменения статуса Flow.
  </Card>
</CardGroup>

Для проверки работоспособности, обмена данными, валидации и ответов о завершении обратитесь к руководству [Реализация эндпоинта WhatsApp Flow](/ru/api-reference/guides/whatsapp-platform/implement-a-whatsapp-flow-endpoint).


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