Ir al contenido

WhatsApp

Un número de WhatsApp Business se conecta a un perfil como cualquier cuenta (acc_…), con el alta integrada de Meta: GET /v1/connect/whatsapp. Si la cuenta de WhatsApp Business tiene varios números, Marsial vuelve con select=<sessionId> para que elijas uno, como con Facebook. Un número ya usado en la app de WhatsApp Business puede seguir en ella a la vez.

WhatsApp no recibe publicaciones: se usa para conversar.

  • La ventana de 24 horas. Durante las 24 horas siguientes al último mensaje de una persona le respondes con lo que quieras, desde la bandeja. Fuera de esa ventana, o para escribir tú primero, solo vale una plantilla aprobada.
  • El límite diario. Un número nuevo puede escribir a 250 personas distintas al día; Meta lo amplía a medida que lo usas sin quejas.

Meta revisa cada plantilla antes de que puedas usarla (suele tardar minutos, como mucho 24 horas). Los datos de cada persona van en {{1}}, {{2}}… con un ejemplo de cada uno.

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/accounts/acc_3k9x2m/whatsapp/templates" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "pedido_listo",
"category": "UTILITY",
"language": "es",
"components": [
{
"type": "BODY",
"text": "Hola {{1}}, tu pedido {{2}} ya está listo.",
"example": {
"body_text": [
[
"Lucía",
"#4821"
]
]
}
}
]
}'

Empieza como PENDING; con GET /v1/accounts/{id}/whatsapp/templates ves cuándo pasa a APPROVED (o REJECTED). La categoría decide lo que cobra Meta: UTILITY (pedidos, citas), MARKETING o AUTHENTICATION (códigos).

Con una plantilla aprobada abres la conversación. La respuesta llega a la bandeja y como message.received, y desde ahí sigues con POST /v1/inbox/conversations/{id}/messages.

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/inbox/conversations" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_3k9x2m",
"phone": "+34 611 222 333",
"template": {
"name": "pedido_listo",
"language": "es",
"params": [
"Lucía",
"#4821"
]
}
}'

Una plantilla aprobada a muchos números, ahora o programada. Cada {{n}} se rellena por persona con su nombre o su teléfono, o con un texto igual para todos.

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/accounts/acc_3k9x2m/whatsapp/broadcasts" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Black Friday",
"template": {
"name": "oferta_black_friday",
"language": "es",
"variables": [
{
"field": "name"
},
{
"value": "BF30"
}
]
},
"phones": [
"+34611222333",
"+34622333444"
],
"scheduledFor": "2026-11-27T09:00:00+01:00"
}'

GET /v1/accounts/{id}/whatsapp/broadcasts devuelve cada difusión con cuántos la recibieron, la leyeron o fallaron; POST …/broadcasts/{broadcastId}/cancel para la que está programada o lo que queda por enviar.

Cada mensaje que envías (cada destinatario de una difusión) cuenta como un mensaje enviado. Además, Meta cobra su tarifa por cada plantilla directamente a tu cuenta de WhatsApp Business. Responder dentro de la ventana de 24 horas no tiene tarifa de Meta.

En el panel, todo esto está en Bandeja → WhatsApp.

© 2026 Marsial by TWOFACES ·marsial.dev ·Panel ·soporte@twofacesco.com