logo
enes

Crear y actualizar Flows

Last update: 4 days ago by Irais Aguirre

Crea un WhatsApp Flow y sube o actualiza su definición JSON y sus metadatos.

Resumen para integración

  • URL base: https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services
  • Token: de administración, en el encabezado Authorization: Bearer {{admin-token}} (cómo generarlo)
  • Endpoints en esta página:
    • POST /v1/flows/{{waba_id}}: Crear Flow
    • POST /v1/flows/{{waba_id}}/{{flow_id}}/assets: Subir Flow JSON
    • PUT /v1/flows/{{waba_id}}/{{flow_id}}: Actualizar Metadata

Crear Flow

Petición

Petición de Crear Flow:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}
MétodoPOST
Tipoapplication/json

Encabezados

Encabezados de Crear Flow:

NombreDescripciónTipoRequerimientos
Content-Typeapplication/jsonStringObligatorio
AuthorizationToken de administración. Consulta Generar Token de Autenticación.StringObligatorio

Parámetros

Parámetros de Crear Flow:

NombreDescripciónTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio

Cuerpo

Campos del cuerpo de Crear Flow:

NombreDescripciónTipoRequerimientos
nameNombre del Flow.StringObligatorio
categoriesLista de categorías para un Flow, es posible asignar varios valores, pero se requiere al menos uno:
  • SIGN_UP
  • SIGN_IN
  • APPOINTMENT_BOOKING
  • LEAD_GENERATION
  • CONTACT_US
  • CUSTOMER_SUPPORT
  • SURVEY
  • OTHER
ArrayObligatorio
clone_flow_idID del Flow de origen a clonar. Debe tener permiso para acceder al Flow especificado.StringOpcional
endpoint_uriURL del WA Flow Endpoint.StringOpcional

Ejemplo

Ejemplo completo de Crear Flow:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "New flow name",
"categories": [ "CUSTOMER_SUPPORT" ],
"clone_flow_id": "flow-1",
"endpoint_uri": "https://example.com"
}'

Respuesta

Respuesta de Crear Flow:

NombreDescripciónTipo
idID del Flow.String
{
"id": "flow-1"
}


Subir Flow JSON

Petición

Petición de Subir Flow JSON:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}/{{flow_id}}/assets
MétodoPOST
Tipomultipart/form-data

Encabezados

Encabezados de Subir Flow JSON:

NombreDescripciónTipoRequerimientos
AuthorizationToken de administración. Consulta Generar Token de Autenticación.StringObligatorio

Parámetros

Parámetros de Subir Flow JSON:

NombreDescripciónTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
flow_idID de un Flow devuelto después de llamar a Crear Flow.StringObligatorio

Cuerpo

Campos del cuerpo de Subir Flow JSON:

NombreDescripciónTipoRequerimientos
fileArchivo con el contenido del Flow JSON. El archivo debe tener extensión .json.
Documentación de los componentes permitidos por Meta para la construcción del JSON: Flow JSON.
Se recomienda usar la versión 7.0 en adelante.
File
  • Obligatorio.
  • Solo se aceptan archivos .json; otras extensiones se rechazan.
  • El tamaño máximo del archivo es de 10 MiB (10,485,760 bytes).

Ejemplo

Ejemplo completo de Subir Flow JSON:

curl --location 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}/{{flow_id}}/assets' \
--header 'Authorization: Bearer {{admin-token}}' \
--form 'file=@"/file/path/flows_body.json"'

Respuesta

Respuesta de Subir Flow JSON:

NombreDescripciónTipo
successSi el Flow JSON no se pudo subir correctamente retorna false, en caso contrario retorna true.Boolean
validation_errorsObjeto que describe los errores del Flow JSON en caso de encontrar alguno, si no encuentra errores se retorna un array vacío.Lista objetos
{
"success": true,
"validation_errors": [
{
"error": "INVALID_PROPERTY",
"error_type": "JSON_SCHEMA_ERROR",
"message": "The property \"initial-text\" cannot be specified at \"$root/screens/0/layout/children/2/children/0\".",
"line_start": 46,
"line_end": 46,
"column_start": 17,
"column_end": 30
}
]
}

Objeto validation errors

NombreDescripciónTipo
errorNombre del error.String
error_typeTipo de error.String
messageDescripción del error.String
line_startLínea en la que empieza el error.Integer
line_endLínea en la que termina el error.Integer
column_startColumna en la que empieza el error.Integer
column_endColumna en la que termina el error.Integer

Para más información acerca de los posibles errores que aparezcan al momento de subir un archivo con el Flow JSON y cómo solucionarlos, consulta la documentación de Meta: Static validation errors.



Actualizar Metadata

Petición

Petición de Actualizar Metadata:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}/{{flow_id}}
MétodoPUT
Tipoapplication/json

Encabezados

Encabezados de Actualizar Metadata:

NombreDescripciónTipoRequerimientos
Content-Typeapplication/jsonStringObligatorio
AuthorizationToken de administración. Consulta Generar Token de Autenticación.StringObligatorio

Parámetros

Parámetros de Actualizar Metadata:

NombreDescripciónTipoRequerimientos
waba_idID de la cuenta de WhatsApp Business.StringObligatorio
flow_idID de un Flow devuelto después de llamar a Crear Flow.StringObligatorio

Cuerpo

Campos del cuerpo de Actualizar Metadata:

NombreDescripciónTipoRequerimientos
nameNombre del Flow.StringObligatorio
categoriesLista de categorías para un Flow, es posible asignar varios valores, pero se requiere al menos uno:
  • SIGN_UP
  • SIGN_IN
  • APPOINTMENT_BOOKING
  • LEAD_GENERATION
  • CONTACT_US
  • CUSTOMER_SUPPORT
  • SURVEY
  • OTHER
ArrayObligatorio
endpoint_uriURL del WA Flow Endpoint.StringOpcional

Nota: clone_flow_id es un campo exclusivo de la creación. Si se envía en este endpoint de actualización, la petición se rechaza.

Ejemplo

Ejemplo completo de Actualizar Metadata:

curl --location --request PUT 'https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/flows/{{waba_id}}/{{flow_id}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{admin-token}}' \
--data '{
"name": "New flow name",
"categories": [ "CUSTOMER_SUPPORT" ],
"endpoint_uri": "https://example.com"
}'

Respuesta

Respuesta de Actualizar Metadata:

NombreDescripciónTipo
successEn caso de actualizar correctamente alguna propiedad, retorna true, en caso contrario retorna false.Boolean
{
"success": true
}

Whatsapp — Anterior
WhatsApp Flows
Siguiente
Consultar Flows