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

# Gestionar WhatsApp Flows

> Crea, valida, previsualiza, publica y descontinúa experiencias estructuradas de WhatsApp.

## Qué es

Los WhatsApp Flows son experiencias multipantalla que se ejecutan dentro de WhatsApp. Úsalos
para tareas estructuradas como registro, reserva de citas, captación de leads,
comentarios o configuración de productos.

## Antes de comenzar

* Conecta la WABA que será propietaria del Flow.
* Diseña las pantallas y el modelo de datos en un documento Flow JSON válido.
* Decide si el Flow necesita un endpoint de datos.
* Elige categorías que describan el caso de uso del Flow.
* Mantén el nuevo trabajo en `DRAFT` hasta que la validación y la vista previa estén completas.

## Cómo funciona

1. Crea un Flow con metadatos y, opcionalmente, su estructura JSON.
2. Recupera el Flow y corrige todos los errores de validación.
3. Actualiza los metadatos o sube un archivo Flow JSON modificado.
4. Genera una URL de vista previa pública para que las partes interesadas lo prueben.
5. Publica el Flow cuando esté listo para enviar mensajes.
6. Descontinúa un Flow publicado cuando ya no deba utilizarse.

Los Flows en borrador se pueden editar o eliminar. Los Flows publicados tienen reglas de ciclo de vida
más estrictas, así que prueba antes de publicar.

## Solicitud

### Crear un 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"
  }'
```

### Actualizar la estructura del 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"
```

### Previsualizar y publicar

Genera una vista previa con `GET /whatsapp/flows/{flowId}/preview`, luego publica
con `POST /whatsapp/flows/{flowId}/publish`.

## Respuesta

La creación devuelve el nuevo ID del Flow y el resultado de la operación.

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

La recuperación devuelve el estado del ciclo de vida del Flow y los detalles de validación.

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

## Ciclo de vida del Flow

| Estado | Significado |
| - | - |
| `DRAFT` | El Flow se puede editar, validar, previsualizar o eliminar. |
| `PUBLISHED` | Los mensajes pueden hacer referencia al Flow. |
| `DEPRECATED` | El Flow ya no debería utilizarse para nuevas interacciones. |
| `BLOCKED` o `THROTTLED` | Meta ha restringido el Flow; revisa los detalles del estado. |

Utiliza los webhooks de `whatsapp.flow.status_change` para procesar actualizaciones asíncronas del ciclo de vida.

## Límites y resolución de problemas

* Trata cada puntero de error de validación como una ubicación en el Flow JSON que debes corregir.
* Las URL de vista previa son públicas; no incluyas secretos de producción ni datos de prueba
  confidenciales.
* La publicación es un límite en el ciclo de vida. Confirma el contenido y el comportamiento del endpoint
  primero.
* Elimina un Flow únicamente cuando su estado actual lo permita.
* Gestiona las versiones del Flow JSON y del comportamiento del endpoint de manera conjunta cuando intercambien datos.

<CardGroup cols={2}>
  <Card title="API de creación de un Flow" icon="diagram-project" href="/api-reference/whatsapp-flows/create-a-flow">
    Inspecciona las opciones de metadatos, JSON, clonación y publicación.
  </Card>

  <Card title="Webhooks de Flows" icon="webhook" href="/es/api-reference/guides/examples/webhook-examples/whatsapp-flow-webhook-examples">
    Gestiona los cambios de estado de los Flows.
  </Card>
</CardGroup>

Para comprobaciones de estado, intercambio de datos, validación y respuestas de finalización, consulta
[Implementar un endpoint de WhatsApp Flow](/es/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.