Mercuri API
Enviar Mensagem WhatsApp/SMS – Mercuri API
Endpoint
POST https://api.mercuri.cx/v1/send_message
Endpoint da API para envio de mensagens WhatsApp.
Headers
{
'Content-Type': 'application/json',
'Authorization': `Bearer ${bearerToken}`
}
Content-Type→ Formato JSON para o corpo da requisição.Authorization→ Use seu token de API Mercuri.
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
}
}{
"phoneNumberId":"PNa088af00e524f523394578e7b6c6966b",
"channel":"sms",
"recipient":"+15078009250",
"message":{
"type":"template",
"template":{
"templateId":"54b3cf77-82fd-4547-88b4-90f26d8d0310",
"parameters":[
{
"otpCode":"112233",
"businessPhoneNumber":"+919986347648",
"firstName" : "JJ",
"lastName" : "Thomson",
"businessName" : "Mercuri",
"orderNumber" : "100ABCD45",
"orderTotal" : "1000",
"expirationTime":"2025-07-24T09:55:28.613Z",
"couponCode":"ABCD35"
}
]
}
},
"saveToInbox":trueDescrição dos Campos:
phoneNumberId
ID do número WhatsApp Business/SMS (remetente). Siga estes passos para obter seu ID de número de telefone.
channel
"whatsapp" ou "sms"
recipient
Número de telefone do cliente (destinatário)
message.type
"template" – tipo de mensagem
message.template.templateId
ID do template aprovado para WhatsApp/SMS. Siga estes passos para obter seu ID de template.
message.template.parameters
Array de objetos com campos (OTP, nomes, informações do pedido, etc.)
country
Código do país do cliente. Se o número de telefone do recipient não incluir código do país, Mercuri usará este código padrão (ex.: "US").
saveToInbox
true para salvar a mensagem na inbox do Mercuri
Resposta
1. Falha na Validação – Número de Destinatário Inválido (422)
Causa: O formato do número do destinatário é inválido ou falta código do país.
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_RECIPIENT_PHONE_NUMBER",
"message": "Número de telefone do destinatário inválido: 8971476855 (país: US)."
}
]
}2. Falha na Validação – Formato de Payload Incorreto (422)
Causa:
parametersdeve ser um array, mas um objeto foi enviado.Solução: Coloque os parâmetros dentro de
[ ].
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_REQUEST_PAYLOAD",
"message": "message.template.parameters: Entrada inválida: esperado array, recebido objeto"
}
]
} Falha na Validação – Template ID Ausente
Causa:
templateIdestá ausente ou não foi passado como string.Solução: Certifique-se de fornecer
templateIde colocá-lo entre aspas.
{
"messageId": null,
"status": "failed",
"errorCode": "VALIDATION_FAILED",
"errors": [
{
"code": "INVALID_REQUEST_PAYLOAD",
"message": "message.template.templateId: Entrada inválida: esperado string, recebido undefined"
}
]
} 3. Template Não Encontrado (400)
Causa: O
templateIdfornecido não existe.Solução: Verifique seu
templateIdno dashboard.
{
"messageId": null,
"status": "failed",
"errorCode": "API_TRIGGER_FAILED",
"errors": [
{
"code": "WHATSAPP_TEMPLATE_NOT_FOUND",
"message": "Template do WhatsApp não encontrado."
}
]
} 4. Resposta de Sucesso (200)
Descrição: Mensagem enviada com sucesso.
messageId: ID único atribuído pelo WhatsApp.status: Será"success"se tudo funcionar.
{
"messageId": "wamid.HBgMOTE5OTAxNzU4NzM4FQIAERgSRkRCNjYzMTY1QkMxNzcyMjM4AA==",
"status": "success",
"errorCode": null,
"errors": null
} Visão Geral do Fluxo
Seu sistema prepara o payload com informações dinâmicas do cliente/pedido.
Envia uma requisição POST para a Mercuri API.
Mercuri processa o payload e entrega a mensagem.
A API retorna uma resposta ao seu sistema para rastreamento de sucesso/erro.
Last updated