Envío de mensajes
Las llamadas para la API de Sinch Messaging son enviadas a https://api-messaging.wavy.global/v1/whatsapp/send en formato POST independientemente del tipo de mensaje, pero el contenido del cuerpo del mensaje JSON puede variar para cada tipo de mensaje.
El cuerpo de la solicitud debe contener un objeto JSON con los siguientes campos:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
destinations | Si | Lista de destinatarios | Destination |
message | Si | Mensaje de texto que se enviará a la lista de destinatarios | Message |
flowId | No | Identificación del flujo de Bot | String |
defaultExtraInfo | No | Los datos adicionales que identifican el envío, se vincularán a todos los destinatarios que recibirán el mensaje | String |
campaignAlias | No | ID de campaña, está vinculado a todos los mensajes del envío | String |
Destino:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
correlationId | No | Su id definido sera devuelto en un mensaje de confirmación (Callback). Esto será útil en casos en que se desea mantener el control del mensaje enviado, ya que es posible definir ids diferentes para mensajes distintos. | String |
destination | Si | Número de teléfono (código de país y estado deben estar presentes) al que se enviará el mensaje. Ejemplos: 5411900001111, +5720900001111, +56 (56) 900001111. | String |
Mensaje:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
messageText | Si | Campo utilizado en caso de que desee enviar un mensaje personalizado como respuesta a un mensaje recibido. | text |
image | Si | Campo utilizado en caso de que desee enviar un contenido de imagen. | Image |
audio | Si | Campo utilizado en caso de que desee enviar un contenido de audio. | Audio |
document | Si | Campo utilizado en caso de que desee enviar un archivo o documento. | Document |
contacts | Si | Campo utilizado en caso de que desee enviar contactos. | Contact[] |
previewFirstUrl | No | Controla la vista previa de la aplicación de la primera URL enviada | Boolean |
location | Si | Campo utilizado en caso de que desee enviar una ubicacion. | Location |
Solo una de las siguientes opciones de midia debe ser especificado, ya sea ‘messageText’, ‘image’, ‘audio’, ‘document’, ‘location’ o ‘contacts’
Solo se debe enviar un mensaje personalizado como respuesta a un mensaje recibido por el usuario siempre cuando la sesión se encuentre abierta. Si la sesión no está abierta o el usuario no envió un mensaje deberá utilizase el Template.
Los siguientes tipos de envío solo se entregarán con éxito dentro de la ventana de servicio (24 horas)
Texto:
Campo | Obrigatório | Detalhes | Tipo |
---|---|---|---|
messageText | Si | Texto que se enviará al usuario. |
Ejemplo de envío de texto
Imagen:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
type | Si | Tipo / extensión de la imagen que se enviará en el mensaje. Opciones disponibles: JPG, JPEG, PNG. | String |
caption | No | Texto que se mostrara al usuario debajo de la imagen en Whatsapp | String |
url | Si | URL donde se aloja el contenido que se enviará. | String |
data | Si | Base64 contenido codificado | String |
Solo se debe especificar una de las siguientes opciones, ya sea ‘url’, en caso de que desee enviar usando un archivo, o ‘datos’, en caso de que desee enviar una imagen usando la codificación base64
Ejemplo de envío de imagen (URL)
Ejemplo de envío de imagen (Base64)
Audio:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
type | Si | Tipo/Extensión de audio que se enviará en el mensaje. Opciones disponibles: AAC, MP4, AMR, MP3, OGG. | String |
url | Si | URL donde se aloja el contenido que se enviará. | String |
data | Si | Base64 contenido codificado | String |
Solo se debe especificar una de las siguientes opciones, ya sea ‘url’, en caso de que desee enviar usando un archivo, o ‘datos’, en caso de que desee enviar un audio usando la codificación base64.
Ejemplo de envío de audio (URL)
Ejemplo de envío de audio
Contact:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
addresses | No | Direcciones de contacto completas. | Address[] |
birthday | No | Fecha de cumpleaños como cadena con formato YYYY-MM-DD. | String |
emails | No | Direcciones de correo electrónico de contacto. | Email[] |
name | Sí | Nombre completo de contacto. | Name |
org | No | Información de la organización de contacto. | Org |
phones | No | Teléfonos de contacto. | Phone[] |
urls | No | URLs de los contactos. | Url[] |
Ejemplo de envio de contactos
Address:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
street | No | Número y nombre de la calle. | String |
city | No | Nombre de la ciudad. | String |
state | No | Abreviatura del estado. | String |
zip | No | Código postal. | String |
country | No | Nombre completo del país. | String |
country_code | No | Abreviatura de país de dos letras. | String |
type | No | Valores estándar: HOME, WORK. | String |
Email:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
No | Correo electrónico. | String | |
type | No | Valores estándar: HOME, WORK. | String |
Name:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
first_name | No | Primer nombre. | String |
last_name | No | Apellido. | String |
middle_name | No | Segundo nombre. | String |
name_suffix | No | Sufijo del nombre. | String |
name_prefix | No | Prefijo del nombre. | String |
formatted_name | Sí | Nombre completo como aparece normalmente. | String |
Org:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
company | No | Nombre de la empresa del contacto. | String |
department | No | Nombre del departamento de contacto. | String |
title | No | Título comercial de contacto. | String |
Phone:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
phone | No | Número de teléfono formateado. | String |
type | No | Valores estándar: CELL, MAIN, IPHONE, HOME, WORK. | String |
wa_id | No | Identificador de WhatsApp. | String |
Url:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
phone | No | URL del contacto. | String |
type | No | Valores estándar: HOME, WORK. | String |
Para los objetos que contienen un campo de tipo, los valores listados se consideran simplemente los valores estándar que se pueden ver, sin embargo, puede establecer el campo en cualquier valor descriptivo que elija.
Si aún no tiene una plantilla creada y aprobada para su uso, consulte la documentación en Template de WhatsApp para obtener más información sobre cómo hacerlo. El cuerpo de la solicitud debe contener un objeto JSON con los siguientes campos:
Field | Required | Details | Type |
---|---|---|---|
destinations | Si | Detalles sobre los identificadores de envío y destino | Destination[] |
message | Si | Detalles sobre el objeto MENSAJE que se enviará | message |
defaultExtraInfo | No | Los datos adicionales que identifican el envío, se vincularán a todos los destinatarios que recibirán el mensaje | String |
campaignAlias | No | ID de campaña, está vinculado a todos los mensajes del envío | String |
Ejemplo de solicitud template
destinations:
Field | Required | Details | Type |
---|---|---|---|
correlationId | No | Id definido por el cliente que se devolverá en el estado del mensaje (devolución de llamada). Puede usar esta identificación para rastrear mensajes enviados de manera personalizada. | String |
destination | Si | Número de teléfono que recibirá el mensaje (el código de país y DDD son obligatorios). Ejemplos: 5519900001111, +5519900001111, +55 (19) 900001111. | String |
message:
Campo | Obrigatório | Detalhes | Type |
---|---|---|---|
template | Si | Detalles sobre el objeto TEMPLATE que se enviará. | Template |
template:
Field | Required | Details | Type |
---|---|---|---|
elementName | Si | Nombre del Template registrado y aprobado. | String |
header | Si, cuando el Template tiene un parámetro en el encabezado (header) | Objetos del encabezado (header) con sus parámetros | Header |
bodyParameters | Si (cuando el Template tiene parámetros) | La suma de todos los caracteres en el cuerpo, considerando campos fijos y dinámicos, está limitada a 1024 caracteres si el modelo registrado solo tiene el cuerpo. Está limitado a 160 caracteres si tiene un encabezado o pie de página. | Lista de strings |
languageCode | Sí, cuando hay más de un idioma registrado para la misma plantilla. | Codes: pt_BR, en, es, en_US, en_GB, pt_PT, es_AR, es_ES, es_MX, it, fr | String |
Buttons | Sí (Cuando hay) | Los botones aprobados de la plantilla. | Buttons |
header:
Field | Required | Details | Type |
---|---|---|---|
parameters | Opcional | Lista de parámetros que serán reemplazados en el texto del encabezado. Nota: En el caso de que esté presente el encabezado no debe tener título ni elemento alguno. | String |
title | Opcional | El título debe tener hasta 60 caracteres | String |
(element) | Si | Opciones: text (patrón), image, audio, document, video. | Object |
element:
Field | Required | Details | Type |
---|---|---|---|
url | Si | URL del archivo multimedia. Usar únicamente con URLs HTTP/HTTPS. | String |
type | Si | Tipo de archivo multimedia (JPEG, MP3, PDF, etc) | String |
Ejemplo de solicitud template con Header y Parámetro
Last updated