Pular para o conteúdo principal

Enviar Mensagem de Teste

Metodo

POST https://oapi.ogmma.com.br/v1/sandbox/test

Conceituacao

Envia uma mensagem simulada no ambiente sandbox. A mensagem e processada instantaneamente e retorna com status DELIVERED, sem enviar para o WhatsApp real.

As mensagens enviadas pelo sandbox aparecem na interface de conversas da plataforma exatamente como mensagens reais, permitindo testar a experiencia completa do seu fluxo.

Simulacao de erros

Voce pode simular cenarios de erro usando o header X-Ogmma-Sandbox-Scenario. Isso permite testar como sua aplicacao reage a diferentes falhas sem depender de condicoes reais.

CenarioDescricao
number_not_on_whatsappSimula envio para numero que nao possui WhatsApp
channel_disconnectedSimula canal desconectado
rate_limitSimula limite de requisicoes excedido
timeoutSimula timeout no envio da mensagem
media_too_largeSimula arquivo de midia excedendo o tamanho maximo

Atributos

AtributoTipoObrigatorioDescricao
AuthorizationstringSimBearer {API_KEY} - Chave de autenticacao da API (prefixo oapi_sk_test_)
Content-TypestringSimapplication/json
X-Ogmma-Sandbox-ScenariostringNaoCenario de erro a ser simulado. Valores: number_not_on_whatsapp, channel_disconnected, rate_limit, timeout, media_too_large

Body

AtributoTipoObrigatorioDescricao
tostringSimNumero de telefone do destinatario no formato internacional (ex: 5511999998888)
typestringSimTipo da mensagem. Valores: text, image, video, audio, document
contentobjectSimConteudo da mensagem. A estrutura varia conforme o type

Conteudo por tipo

Texto (type: "text"):

AtributoTipoObrigatorioDescricao
content.textstringSimTexto da mensagem

Imagem (type: "image"):

AtributoTipoObrigatorioDescricao
content.urlstringSimURL da imagem
content.captionstringNaoLegenda da imagem

Request

Exemplo com texto:

curl -X POST "https://oapi.ogmma.com.br/v1/sandbox/test" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"type": "text",
"content": {
"text": "Ola! Esta e uma mensagem de teste do sandbox."
}
}'

Exemplo com imagem:

curl -X POST "https://oapi.ogmma.com.br/v1/sandbox/test" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"type": "image",
"content": {
"url": "https://exemplo.com/imagem.jpg",
"caption": "Imagem de teste"
}
}'

Exemplo com simulacao de erro:

curl -X POST "https://oapi.ogmma.com.br/v1/sandbox/test" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-H "X-Ogmma-Sandbox-Scenario: number_not_on_whatsapp" \
-d '{
"to": "5511999998888",
"type": "text",
"content": {
"text": "Teste de erro"
}
}'

Response

200 - Mensagem enviada com sucesso

{
"success": true,
"data": {
"messageId": "msg_sandbox_6650a1b2c3d4e5f6a7b8c9d0",
"status": "DELIVERED",
"simulatedDelivery": true,
"webhookFired": true
}
}

400 - Dados invalidos

{
"message": "Dados de entrada invalidos.",
"code": "VALIDATION_ERROR",
"errors": [
{
"path": "to",
"message": "Numero de telefone e obrigatorio.",
"validation": "invalid_type"
}
]
}

400 - Numero nao possui WhatsApp (cenario simulado)

{
"message": "O numero informado nao possui WhatsApp.",
"code": "NUMBER_NOT_ON_WHATSAPP"
}

401 - Nao autorizado

{
"message": "Token de autenticacao invalido ou ausente.",
"code": "AUTHENTICATION_REQUIRED"
}

429 - Rate limit excedido

{
"message": "Limite de requisicoes excedido. Tente novamente em alguns segundos.",
"code": "RATE_LIMIT_EXCEEDED"
}
Observacao

Mensagens enviadas pelo sandbox sao armazenadas por 30 dias e podem ser consultadas via GET /api/sandbox/messages.