API pública · v1

Leve mensagens para o seu próprio produto

Envie mensagens, sincronize conversas e receba eventos dos canais usando o mesmo motor de mensagens da ConvoClerk.

OpenAPI3.1.0
APIv1.0.0
Endpoints9
https://app.convoclerk.com/api

Sua primeira requisição em três passos

1

Crie uma chave

Abra Canais → API para desenvolvedores e crie uma credencial identificada para o seu servidor.

2

Liste os canais

Chame GET /v1/channels e escolha o ID do canal usado pela integração.

3

Envie ou sincronize

Envie com uma chave idempotente, consulte cursores ou configure webhooks assinados por canal.

Explorador do contrato ao vivo

Teste todos os endpoints e repita com segurança

Escolha um canal para ver apenas as ações compatíveis. O explorador vem do contrato do backend, então requisições, exemplos de mídia e limitações permanecem alinhados com a API.

WhatsApp Cloud API

Mensagens oficiais do WhatsApp Business pela Cloud API da Meta.

Recursos disponíveis
TextoImagemVídeoÁudioDocumentoResponderDigitando…Marcar conversa como visualizadaReaçõesTemplates
Observações do canal
  • Mensagens livres devem respeitar a janela de atendimento do WhatsApp.
  • Áudio não aceita legenda de texto; envie o áudio e o texto em duas requisições.
  • A Cloud API não permite editar ou apagar mensagens enviadas.
GET/v1/channel-types

Listar tipos de canal

Retorna a matriz de recursos usada para validar ações específicas de cada canal.

Escopo: channels:read

A chave fica apenas na memória desta página. O explorador envia credenciais somente para a origem publicada acima.

cURL
curl --request GET \
  --url 'https://app.convoclerk.com/api/v1/channel-types' \
  --header 'Authorization: Bearer cc_your_api_key'
Informe uma chave temporária para habilitar o teste.
Resposta

Execute a requisição para ver status, duração e corpo da resposta.

Autenticação e segurança das chaves

Envie Authorization: Bearer cc_… em todas as requisições. Escolha apenas os escopos necessários, mantenha as chaves no servidor e visualize ou revogue chaves ativas como administrador da empresa.

Idempotência e novas tentativas

Informe client_message_id no envio. Repetir a mesma conversa e UUID devolve a mensagem original sem enviar uma duplicata.

Consulta ou webhooks

Use after com poll_cursor para sincronização ativa ou configure webhooks message.received e message.sent em cada canal.

Webhooks

Webhooks assinados por canal

Cada canal entrega eventos separadamente. As requisições têm timeout curto, novas tentativas com espera exponencial e nunca bloqueiam o processamento das mensagens.

Valide todas as entregas

Calcule HMAC-SHA256 de <timestamp>.<corpo bruto> com o segredo do canal e compare com x-convoclerk-signature.

const expected = hmacSha256(secret, timestamp + "." + rawBody);
timingSafeEqual("v1=" + expected, signatureHeader);

Envelope de evento estável

Use o ID do evento para evitar duplicatas. Os tipos são message.received, message.sent e webhook.test.

{
  "id": "evt_uuid",
  "type": "message.received",
  "api_version": "2026-08-14",
  "created_at": "2026-08-14T12:00:00Z",
  "data": { "channel": {}, "conversation": {}, "message": {} }
}

Orientações operacionais

  • Retorne uma resposta 2xx rapidamente antes de executar tarefas demoradas.
  • Evite duplicatas usando o ID do evento e da mensagem.
  • Não exponha chaves de API ou segredos de assinatura em aplicações de navegador.
  • Salve o histórico necessário além da política de retenção do canal.
Criar uma chave de API