API de integración de envío de mensajes WHATSAPP BUSINESS desde aplicaciones mediante peticiones https.
En su cuenta de usuario encontrará el Usuario API y el API Token, ambos son necesarios para realizar las peticiones API REST a las funciones de la API. Las Peticiones, por seguridad deben ralizarse en POST y con protocolo HTTPS Seguro.
Para utilizar la Autenticación Básica debe incluir una cabecera en las peticiones del tipo: Authorization: Basic Base64StringAPI donde Base64StringAPI es la codificación en Base64 de la cadena UsuarioAPI:APIToken, puede encontrar su Usuario API y API Token en su cuenta de usuario en Tus Datos -> Configurar Cuenta.
Para generar el string codificado en Base64, simplemente genere el string UsuarioApi:APIToken y codifíquelo en base64 mediante cualquier función base64encode.
Conexiones en vacío: Es importante tener en cuenta que una conexión errónea de forma repetida será tratada por el sistema como spam y podrá llegar a bloquear temporalmente la conexión. Es conveniente evitar realizar repetidas conexiones con datos erróneos o conexiones rápidas ‘en vacío’ (sin realizar envíos) con los mismos datos para obtener el número de créditos o el mismo report.
Para obtener reports de forma óptima en tiempo real se recomienda configurar la API en el panel para recibirlos en un script de su web.Función de envío de mensajes Whatsapp desde aplicaciones. Definición de parámetros necesarios.
ATENCIÓN: Debe tener activada la cuenta whatsapp en su panel de usuario. También chequee la sección de recepción de reports en tiempo real si desea recibir el estado de los mensajes y las interacciones del destinatario en tiempo real en un script de su web.
| Destinatarios required | Array of arrays Example: Destinatarios=[{"Telefono":"34600000001","Nombre":"Pedro Pérez","Email":"destinatario@eldominio.com"}]
Array JSON con los destinatario del whatsapp (parámetro Teléfono) y sus variables asociadas si desea personalizar. Puede añadir variables si desea personalizar Header, footer, botones, etc.. por destinatario. Sólo es obligatorio el teléfono y las variables de la plantilla en caso de enviar este tipo de mensaje, las demás variables se añaden para peersonalizar otros tipos de mensajes y deben incluirse en las secciones del mensaje como {{Variable}} (por ejemplo el el header, body o footer del mensaje) Por ejemplo:
|
| Tipomensaje required | string Enum: "PLANTILLA" "TEXTO" "IMAGEN" "DOCUMENTO" "UBICACION" "SOLICITARUBICACION" "LISTA" "BOTONESRESPUESTA" "REACCION" "BOTONESCTA" Example: Tipomensaje=Plantilla
Tipo de mensaje a enviar. Una vez recibas un mensaje de un cliente o éste interactúe con uno de tus mensajes (por ejemplo pulsando un botón del mensaje de la plantilla que le has enviado) se abrirá una ventana de 24 horas en las que podrás enviarle a ese destinatario cualquier tipo de mensaje. Fuera de esa ventana de 24 horas sólo podrás enviar mensajes de tipo Plantillas. |
| Datosmensaje required | Array of arrays Example: Datosmensaje={"Plantilla":"Mi Plantilla"}
Array JSON con los datos necesarios para cada tipo de mensaje del whatsapp
|
| Fecha | string Example: Fecha=2022-05-01 15:10
Fecha en la que queda programado el envío, el mensaje se enviará en esa fecha. Por defecto "" que significa enviar inmediatamente. Formato Año-Mes-dia hora:minuto. La referencia horaria es CET/CEST (Zona horaria de España). |
| Referenciausuario | string Example: Referenciausuario=Tu referencia
Parámetro que se utiliza como referencia de toda la campaña para el usuario. Si se selecciona recibir el report en una URL, recibirá este parámetro en el resultado del envío y también la referencia de cada uno de los destinatarios si la ha indicado en el array de usuario. |
| Report | integer Example: Report=0
Si desea recibir reports en un script de su web (activando en panel de usuario la configuración API). 1 para Sí, 0 para No. Por defecto 0. |
| Siguientecanal | Array of arrays |
| Idmensajerespondido | integer Example: Idmensajerespondido=1234567
Si el mensaje es respuesta a uno recibido desde el destinatario, debes indicar aquí el Id que recibiste en ese mensaje |
| Fixutf8 | integer |
| Resp | string Enum: "TXT" "JSON" "XML" Example: Resp=JSON
Tipo de respuesta a mostrar como resultado de la llamada.
|
| Res required | integer <int32> Respuesta de la función solicitada
|
| Error | string En caso de Res -3 , obtendrá un error descriptivo del problema en este parámetro. |
| idMensaje | integer Identificador del mensaje enviado. |
| Cred | double Créditos que restan en la cuenta de usuario tras el envío. |
| Enviados | integer Número de mensajes efectivamente enviados. |
| NoEnviados | integer Número de destinatarios erróneos/no enviados. |
curl --location --request POST 'https://api.mensatek.com/v7/EnviarWHATSAPP' \ --header 'Authorization: Basic BASE64ENCODEdelStringUsuarioAPI:APIToken' \ --form 'Destinatarios="[{\"Telefono\":\"34600000001\",\"Nombre\":\"Pedro Pérez\",\"Email\":\"destinatario@eldominio.com\"}]"' \ --form 'Tipomensaje="Plantilla"' \ --form 'Datosmensaje="{\"Plantilla\":\"Mi Plantilla\"}"' \
[- {
- "Res": 10,
- "Error": "Falta parámetro obligatorio",
- "idMensaje": 123456789,
- "Cred": 12000,
- "Enviados": 2,
- "NoEnviados": 0
}
]RECEPCIÓN EN TIEMPO REAL DE LOS ESTADOS DE ENTREGA EN UN SCRIPT DE SU SERVIDOR. Activando la opción de recibir los reports en tiempo real en un script en su servidor desde su panel de usuario, recibirá una petición POST con el formato indicado cada vez que cada mensaje enviado cambie de estado. Puede configurar recibir las peticiones con autenticación básica y en formato JSON o FORM-DATA
Parámetros recibidos en su script en petición POST con la configuración especificada en su panel de usuario/configuración API.
| Servicio required | string Tipo de report que está recibiendo (el objetivo es distinguir entre los reports de los diferentes servicios). Los servicios a los que se refiere esta especificación puede recibir
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Resultado required | integer Estado del mensaje enviado. Los estados posibles son:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Destinatario required | string Teléfono del destinatario al que se refiere el report. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fecha required | string Fecha del report | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| idMensaje required | integer Identificador único recibido como respuesta en la función de envío (idMensaje recibido en la función de envío) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Referencia required | string Referencia del usuario que se envió durante la petición de envío. |
{- "Servicio": "WHATSAPP",
- "Resultado": 11,
- "Destinatario": 34600000001,
- "Fecha": "2020-12-03 11:14:24",
- "idMensaje": 10573758,
- "Referencia": "Su referencia si la indicó"
}RECEPCIÓN EN TIEMPO REAL DE LOS MENSAJES RECIBIDOS POR WHATSAPP EN UN SCRIPT DE SU SERVIDOR. Recibirá una petición POST con el formato indicado cada vez que reciba un mensaje. Puede configurar recibir las peticiones con autenticación básica y en formato JSON o FORM-DATA
Parámetros recibidos en su script en petición POST con la configuración especificada en su panel de usuario/configuración API.
| Servicio required | string Tipo de report/mensaje que está recibiendo (el objetivo es distinguir entre los reports de los diferentes servicios). Los servicios a los que se refiere esta especificación puede recibir
|
| idMensaje required | integer identificación del mensaje (puedes responder indicando este id en idMensajerespondido en la función enviar) |
| Fecha required | string Fecha del mensaje recibido |
| Telefono required | string Teléfono que envía el mensaje |
| Contacto required | string Nombre del perfil del remitente |
| Cuenta required | string Teléfono asociado a la cuenta que recibe el mensaje |
| TipoMensaje required | string Tipo de mensaje recibido |
| Contenido required | string Contenido del mensaje recibido |
{- "Servicio": "RECEPCIONWHATSAPP",
- "idMensaje": 122121354432,
- "Fecha": "2020-12-03 11:14:24",
- "Telefono": 34600000001,
- "Contacto": "Pedro",
- "Cuenta": 34900000007,
- "TipoMensaje": "text",
- "Contenido": "Esto es un mensaje"
}