API: listar y enviar plantillas de WhatsApp
Dos endpoints permiten que tu software use tus plantillas de WhatsApp. GET /api/v1/whatsapp/templates lista tus plantillas aprobadas, y POST /api/v1/whatsapp/send-template envía una a un cliente desde tu número predeterminado. Ambos necesitan una clave con acceso WhatsApp.
- Dónde
- Ask Menuthere support for a key
- Plan
- Necesita un número de WhatsApp Business conectado, que empieza en Pro.
- Actualizado
Lista tus plantillas
curl 'https://menuthere.com/api/v1/whatsapp/templates' -H 'Authorization: Bearer ck_live_YOUR_KEY'
Devuelve las plantillas aprobadas de tu número predeterminado, para que sepas el nombre exacto y cuántos valores necesita cada una.
| Campo | Significado |
|---|---|
| name, language | El nombre de la plantilla y su código de idioma. |
| category, status | Categoría como MARKETING o UTILITY. El estado es APPROVED. |
| body_variables | Cuántos valores {{n}} necesita el cuerpo. |
| has_header, header_format | Si tiene encabezado, y TEXT, IMAGE, VIDEO o DOCUMENT. |
Envía una plantilla
POST /api/v1/whatsapp/send-template con un cuerpo JSON. El mensaje sale desde tu remitente predeterminado, que se define en Varios números y el número principal. No puedes elegir el número en la llamada.
| Campo | Obligatorio | Qué es |
|---|---|---|
| to | Sí | El número del cliente con código de país. |
| template_name | Sí | El nombre de la llamada de lista. |
| language | No | Se busca en la plantilla aprobada si lo omites. |
| body_params | No | Arreglo de valores para {{1}}, {{2}} y así sucesivamente, en orden. |
| header_params | No | Arreglo de valores para un encabezado de texto. |
| header_media_url, header_media_type | No | Un enlace y image, video o document para un encabezado multimedia. |
| button_params | No | Arreglo de valores para un botón de URL dinámica. |
| idempotency_key | No | Una referencia que tú eliges. id y un encabezado Idempotency-Key también funcionan. |
Un envío exitoso devuelve ok: true, el message_id, el número to y status: "sent". Si envías de nuevo la misma clave de idempotencia, recibes el primer resultado con duplicate: true y no se envía nada dos veces. Un envío fallido libera la clave para que puedas reintentar.
Errores y límites
| Estado | `error` | Significado |
|---|---|---|
| 400 | missing_fields, invalid_json, invalid_number, template_error | Falta un campo obligatorio, el número parece incorrecto, o la plantilla no es adecuada para los valores que enviaste. |
| 404 | template_not_found | No hay ninguna plantilla aprobada con ese nombre en tu número predeterminado. |
| 409 | recipient_opted_out | El cliente respondió STOP. No se envía ningún mensaje. |
| 409 | in_progress | Una solicitud con la misma clave de idempotencia sigue en curso. |
| 412 | no_whatsapp_number | No hay un número de WhatsApp predeterminado conectado. |
| 429 | daily_limit_reached, rate_limited | Se agotó el límite diario de WhatsApp de tu número, o la clave superó su límite de solicitudes. |
| 502 | send_failed | No se pudo contactar a WhatsApp. Inténtalo de nuevo. |
Preguntas
¿Puedo enviar un mensaje de texto normal por la API?
¿Enviará un mensaje a alguien que se dio de baja?
Relacionado
¿No lo encuentras? Escribe a [email protected] o chatea con nosotros, de 9 a. m. a 9 p. m.Centro de ayudaPreciosmenuthere.com
