Relya API · Documentação pública

Da primeira mensagem às 131 rotas documentadas.

Contrato técnico para autenticar, enviar texto e mídia, acompanhar a fila e consultar a compatibilidade informada em cada operação.

Base de produção: https://relya.com.brAtualizado em 10/08/2026

Envie a credencial individual da instância no cabeçalho token. Envios e demais mutações também exigem uma Idempotency-Key por ação de negócio; em uma repetição de rede, reutilize a mesma chave e o mesmo corpo. Um retorno 202 confirma que a operação foi aceita ou enfileirada — não que chegou ao destinatário.

Primeiros passos

  1. Crie a conta e confirme o e-mail.
  2. No painel, adicione um número e leia o QR Code em Aparelhos conectados.
  3. Copie a credencial da instância.
  4. Consulte GET /instance/status.
  5. Envie uma mensagem de teste e acompanhe o estado final.

Enviar texto

curl -X POST \
  -H 'token: SUA_CREDENCIAL' \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: pedido-123' \
  -d '{"number":"5521999999999","text":"Olá"}' \
  https://relya.com.br/send/text

Use uma chave única por ação de negócio. Repetir a mesma chave deve devolver a operação original, sem criar um segundo envio.

Enviar áudio

curl -X POST \
  -H 'token: SUA_CREDENCIAL' \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: audio-456' \
  -d '{
    "number":"5521999999999",
    "type":"audio",
    "file":"https://exemplo.com/audio.mp3",
    "mimetype":"audio/mpeg",
    "ptt":true
  }' https://relya.com.br/send/media

ptt: true apresenta como mensagem de voz. O arquivo aceita URL HTTPS, data URI ou base64. Veja o tutorial detalhado.

Webhooks assinados

Cadastre uma URL HTTPS e selecione eventos de conexão, mensagens e atualização. Valide x-relya-signature com HMAC-SHA256 sobre TIMESTAMP.ID_DA_ENTREGA.CORPO_BRUTO. Deduplique pelo x-relya-delivery-id e responda 2xx depois de persistir.

A configuração padrão faz até 16 tentativas durante aproximadamente 23 horas e 22 minutos, com atraso exponencial iniciado em 5 segundos e teto de 6 horas. O identificador permanece o mesmo em todas as tentativas, e uma falha não resolvida conserva o payload para replay. Leia o guia de retry, HMAC e idempotência.

Status HTTP

  • 200: consulta concluída.
  • 202: aceita ou enfileirada.
  • 400: corpo inválido.
  • 401: credencial inválida.
  • 402: plano ou teste sem acesso.
  • 409: duplicidade, limite ou conflito.
  • 428: Idempotency-Key obrigatória ausente.
  • 429: limite de requisições.
  • 502: o transporte perdeu a confirmação; consulte a mesma operação e nunca crie outra chave automaticamente.
  • 503: dependência temporariamente indisponível.

Quando status vier como Failed e delivery_state for indeterminate, respeite retry_safe: false e consulte POST /message/find com o mesmo messageid ou track_id. A interface completa, quando o JavaScript está disponível, permite pesquisar as 131 rotas documentadas. Na matriz publicada em 10/08/2026, 109 estão compatíveis no runtime atual, 2 bloqueados, 2 fora da guarda atual e 18 experimentais ou sem suporte. Baixe também o arquivo OpenAPI.