Saltar al contenido principal
POST
/
api
/
v1
/
templates
/
send
Queue template send job
curl --request POST \
  --url https://app.flowella.io/api/v1/templates/send \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "templateId": "<string>",
  "whatsappChannelId": "<string>",
  "recipients": [
    {
      "phone": "<string>",
      "contactId": "<string>",
      "bodyParameters": [
        "<string>"
      ],
      "buttonParameters": [
        {}
      ]
    }
  ],
  "templateWabaId": "<string>",
  "scheduledAt": "2023-11-07T05:31:56Z",
  "throttlePerHour": 50000
}
'
{
  "id": "<string>",
  "status": "<string>",
  "templateId": "<string>",
  "scheduledFor": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://knowledge.flowella.io/llms.txt

Use this file to discover all available pages before exploring further.

Encola un trabajo para enviar una plantilla de WhatsApp aprobada a una lista de destinatarios. Flowella aplica el throttling en el servidor; no necesitas espaciar las solicitudes tú mismo.

Autenticación

Todas las solicitudes requieren la cabecera Authorization: Bearer <api_key> con una clave que empieza por el prefijo flo_.

Cuerpo de la solicitud

templateId
string
requerido
ID de la plantilla a enviar. Puede ser un ID interno de Flowella o un ID de plantilla de Meta Graph (cadena numérica).
templateWabaId
string
Obligatorio cuando templateId es un ID de Meta Graph numérico. Indica el WABA propietario de la plantilla.
whatsappChannelId
string
requerido
ID del canal de WhatsApp desde el que se enviarán los mensajes.
headerMedia
object
Medio para la cabecera de la plantilla. Contiene url (URL pública, hasta 4000 caracteres) y opcionalmente fileName (hasta 240 caracteres).
recipients
array
requerido
Lista de destinatarios (entre 1 y 50.000 elementos). Cada destinatario incluye phone (obligatorio, entre 3 y 32 caracteres), contactId opcional, bodyParameters (hasta 20 cadenas para las variables del cuerpo) y buttonParameters para las variables de los botones.

Respuesta

id
string
requerido
ID del trabajo encolado.
status
string
requerido
Estado actual del trabajo (por ejemplo, queued, running).
templateId
string
ID de la plantilla asociada al trabajo.
scheduledFor
string
Marca de tiempo ISO 8601 para envíos programados. null si el envío comienza de inmediato.

Errores

CódigoSignificado
400Error de validación del cuerpo.
401Falta la clave de API o no es válida.
402Pago requerido: tu suscripción no cubre esta acción.
403Prohibido (por ejemplo, plantilla no aprobada).
404Canal o plantilla no encontrados.
429Limitado por tasa.

Ejemplo

curl -X POST https://app.flowella.io/api/v1/templates/send \
  -H "Authorization: Bearer flo_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "tpl_xxxxxxxxxxxx",
    "whatsappChannelId": "chn_xxxxxxxxxxxx",
    "recipients": [
      { "phone": "+34612345678", "bodyParameters": ["Ada"] },
      { "phone": "+34698765432", "bodyParameters": ["Grace"] }
    ]
  }'

Autorizaciones

Authorization
string
header
requerido

Organization API key (flo_…). Send as Authorization: Bearer <key>.

Cuerpo

application/json
templateId
string
requerido
whatsappChannelId
string
requerido
recipients
object[]
requerido
Required array length: 1 - 50000 elements
templateWabaId
string

Required when templateId is a Meta graph template id (numeric string).

headerMedia
object
scheduledAt
string<date-time>
throttlePerHour
integer
Rango requerido: 1 <= x <= 100000

Respuesta

Job created

id
string
requerido
status
string
requerido
templateId
string | null
scheduledFor
string<date-time> | null