Mercuri API
Enviar Mensaje de WhatsApp/SMS – Mercuri API
Endpoint
POST https://api.mercuri.cx/v1/send_message
El endpoint de la API para enviar mensajes de WhatsApp.
Headers
{
'Content-Type': 'application/json',
'Authorization': `Bearer ${bearerToken}`
}
Request (Payload)
{
"phoneNumberId":"635894262943892",
"channel":"whatsapp",
"recipient":"+918971476855",
"message":{
"type":"template",
"template":{
// "templateId":"1777667316490397",
"templateId":"2020796801660936",
"parameters":[
{
"otpCode":"112233",
"businessPhoneNumber":"+919986347648"
"firstName" : "JJ",
"lastName" : "Thomson",
"businessName" : "Mercuri",
"orderNumber" : "100ABCD45",
"orderTotal" : "1000",
"expirationTime":"2025-07-24T09:55:28.613Z",
"couponCode":"ABCD35"
}
]
}
},
"country":"US",
"saveToInbox":true
}
}
Descripciones de Campos:
phoneNumberId
ID del número de WhatsApp Business / SMS (remitente). <sub>Sigue estos pasos para obtener tu phone number ID.</sub>
channel
"whatsapp"
o "sms"
recipient
Número de teléfono del cliente (receptor)
message.type
"template"
– tipo de mensaje
message.template.templateId
ID de plantilla de WhatsApp/SMS aprobado. <sub>Sigue estos pasos para obtener tu template ID.</sub>
message.template.parameters
Arreglo de objetos con campos (OTP, nombres, información del pedido, etc.)
country
Código de país del cliente. Si el número en recipient
no incluye código de país, Mercuri usará por defecto este código de país (ejemplo: "US"
).
saveToInbox
true
para guardar el mensaje en la bandeja de entrada de Mercuri
Response
1. Error de Validación – Número de Destinatario Inválido (422)
Causa: El formato del número del destinatario es inválido o falta el código de país.
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_RECIPIENT_PHONE_NUMBER",
"message": "Invalid recipient phone number: 8971476855 (country: US)."
}
]
}
2. Error de Validación – Formato Incorrecto del Payload (422)
Causa:
parameters
debe ser un array, pero se envió un objeto.Solución: Encierra
parameters
dentro de[ ]
.
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_REQUEST_PAYLOAD",
"message": "message.template.parameters: Invalid input: expected array, received
object"
}
]
}
Error de Validación – Falta Template ID
Causa: Falta
templateId
o no se envió como cadena de texto.Solución: Asegúrate de que
templateId
esté presente y entre comillas.
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_REQUEST_PAYLOAD",
"message": "message.template.templateId: Invalid input: expected string, received
undefined"
}
]
}
3. Template No Encontrado (400)
Causa: El
templateId
proporcionado no existe.Solución: Revisa tu
templateId
en el dashboard.
{
"messageId": null,
"status": "failed",
"errorCode": "API_TRIGGER_FAILED",
"errors": [
{
"code": "WHATSAPP_TEMPLATE_NOT_FOUND",
"message": "WhatsApp template not found."
}
]
}
Respuesta Exitosa (200)
Descripción: El mensaje fue enviado con éxito.
messageId
: ID único asignado por WhatsApp.status
: Será"success"
si todo funciona correctamente.
{
"messageId":
"wamid.HBgMOTE5OTAxNzU4NzM4FQIAERgSRkRCNjYzMTY1QkMxNzcyMjM4AA==",
"status": "success",
"errorCode": null,
"errors": null
}
Descripción del Flujo
Tu sistema prepara el payload con la información dinámica del cliente/pedido.
Envía una solicitud POST a la Mercuri API.
Mercuri procesa el payload y entrega el mensaje.
La API devuelve una respuesta a tu sistema para el seguimiento de éxito/error.
Last updated