Botones
Resumen para integración
- Endpoint:
POST https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging- Token: de mensajería, en el encabezado
Authorization: Bearer {{wa-msg-api-token}}(cómo generarlo)- Campos comunes:
from,to(teléfono o BSUID) ytype(detalle)- Valores de
typeen esta página:"template"- Respuesta: la misma para todos los mensajes (ver respuesta)
Plantillas con botones: respuesta rápida, contraseña de un solo uso, realizar llamada y abrir URL. Todos se envían con POST /v1/messaging; los encabezados, los campos comunes y la respuesta están en Conexión HTTP. La estructura general de la plantilla (objetos template y components) está en Mensajes con plantilla.
Quick reply
Botón de respuesta rápida: componente button con subtype "quick_reply". En el objeto del parámetro, type debe ser "payload".
Cuerpo
Campos del componente button:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “button”. | String | Obligatorio |
| subtype | El valor es “quick_reply”. | String | Obligatorio |
| index | Índice del botón (0, 1, 2). | Integer | Opcional |
Campos del parámetro Quick reply:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “payload”. | String | Obligatorio |
| payload | Descripción del botón para respuesta rápida. | String |
|
Ejemplo
Ejemplo completo de Quick reply (petición HTTP y cuerpo JSON):
Petición HTTP quick reply
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "calificacion_servicio","components": [{"type": "body","parameters": [{"text": "Juan","type": "text"}]},{"type": "button","subtype": "quick_reply","index": 0,"parameters": [{"type": "payload","payload": "12345765"}]},{"type": "button","subtype": "quick_reply","index": 1,"parameters": [{"type": "payload","payload": "12345765"}]},{"type": "button","subtype": "quick_reply","index": 2,"parameters": [{"type": "payload","payload": "12345765"}]}]}}'
Body quick reply
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "calificacion_servicio","components": [{"type": "body","parameters": [{"text": "Juan","type": "text"}]},{"type": "button","subtype": "quick_reply","index": 0,"parameters": [{"type": "payload","payload": "12345765"}]},{"type": "button","subtype": "quick_reply","index": 1,"parameters": [{"type": "payload","payload": "12345765"}]},{"type": "button","subtype": "quick_reply","index": 2,"parameters": [{"type": "payload","payload": "12345765"}]}]}}
Contraseña de un solo uso
Plantilla de contraseña de un solo uso: el código se envía como parámetro de texto en el componente body y en un botón con subtype "url".
Ejemplo
Ejemplo completo de Contraseña de un solo uso (petición HTTP y cuerpo JSON):
Petición HTTP contraseña
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "confirmacion_codigo_02","components": [{"type": "body","parameters": [{"type": "text","text": "54321"}]},{"type": "button","subtype": "url","index": 0,"parameters":[{"type": "text","text": "54321"}]}]}}'
Body contraseña
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "confirmacion_codigo_02","components": [{"type": "body","parameters": [{"type": "text","text": "54321"}]},{"type": "button","subtype": "url","index": 0,"parameters":[{"type": "text","text": "54321"}]}]}}
Acción de realizar llamada
Plantilla con un botón de acción para realizar una llamada. El botón se define en la plantilla aprobada, por lo que solo se envían los parámetros del componente body.
Ejemplo
Ejemplo completo de Acción de realizar llamada (petición HTTP y cuerpo JSON):
Petición HTTP realizar llamada
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "test_call_to_action_04","components": [{"type": "body","parameters":[{"type": "text","text": "now"}]}]}}'
Body realizar llamada
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "test_call_to_action_04","components": [{"type": "body","parameters":[{"type": "text","text": "now"}]}]}}
Acción de abrir URL
Plantilla con un botón de acción para abrir una URL. Con una URL estática no se envían parámetros; con una URL dinámica se envía un botón con subtype "url" cuyo parámetro de texto se agrega al prefijo de URL definido en la plantilla.
Ejemplo
Ejemplo completo de Acción de abrir URL (petición HTTP y cuerpo JSON):
Petición HTTP url estático
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "template_call_to_action"}}'
Body url estático
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "template_call_to_action"}}
Petición HTTP url dinámico
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "template_example_account_button_call_to_action_url","components": [{"type": "button","subtype": "url","index": 0,"parameters":[{"type": "text","text": "producto_api.html"}]}]}}'
Body url dinámico
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "template_example_account_button_call_to_action_url","components": [{"type": "button","subtype": "url","index": 0,"parameters":[{"type": "text","text": "producto_api.html"}]}]}}
