CRPRO HubEntrar no painel

Conexão pública

GET
/api/v1/public/connect/{token}

Resolve um link de conexão para o cliente final

Não usa credencial nenhuma — o que protege esta rota é o próprio token do link (gerado por POST /channels/{id}/connect-link): tem prazo de 7 dias, é de uso único e some assim que a conexão é concluída ou o link é substituído por outro. Um token inválido, expirado, já usado ou de um canal arquivado/suspenso responde 404, sem distinguir qual desses motivos foi.

Autenticação
Público, sem credencial
Escopo
Não exige escopo
Limite
20 a cada 15 minutos por IP

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
tokenstringSimToken do link de conexão (hub_link_...), recebido pelo cliente final.
Requisição
curl https://crprohub.com/api/v1/public/connect/hub_link_EXEMPLO_NAO_REAL
Resposta
{
  "data": {
    "channel_id": "9f6a9c1e-2f3d-4a5b-8c7d-1e2f3a4b5c6d",
    "channel_name": "Atendimento",
    "channel_type": "whatsapp",
    "status": "draft",
    "can_connect": true,
    "platform_name": "WhatsApp Business"
  }
}
POST
/api/v1/public/connect/{token}/complete

Conclui a conexão iniciada pelo link

Não usa credencial nenhuma — o que protege esta rota é o mesmo token do link, de uso único e com prazo, validado de novo aqui. O corpo aceita dois formatos: o primeiro envio, com code (o código OAuth devolvido pela Meta) e wabaId; ou, quando a conta tem mais de um número elegível, um segundo envio com selectionToken e phoneNumberId para escolher qual número ativar. Quando há mais de um número e phoneNumberId não veio no primeiro envio, a resposta pede a escolha (selection_required: true, com a lista de numbers e um selection_token válido por 10 minutos) em vez de conectar direto. Um número que já está conectado a outro canal responde 409 PHONE_ALREADY_CONNECTED.

Autenticação
Público, sem credencial
Escopo
Não exige escopo
Limite
10 a cada 15 minutos por IP

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
tokenstringSimToken do link de conexão (hub_link_...), o mesmo do GET.

Corpo

ParâmetroTipoObrigatórioDescrição
codestringNãoCódigo OAuth devolvido pela Meta após o cliente autorizar. Obrigatório no primeiro envio; incompatível com selectionToken.
wabaIdstringNãoID da WABA autorizada. Obrigatório junto de code.
phoneNumberIdstringNãoID do número a ativar. Opcional no primeiro envio quando a conta só tem um número elegível; obrigatório no segundo envio, junto de selectionToken.
selectionTokenstringNãoToken devolvido por um primeiro envio com selection_required: true. Usado no segundo envio, junto de phoneNumberId, no lugar de code e wabaId.
Requisição
curl -X POST https://crprohub.com/api/v1/public/connect/hub_link_EXEMPLO_NAO_REAL/complete \
  -H "Content-Type: application/json" \
  -d '{"code":"AQD_EXEMPLO_CODE","wabaId":"109876543210987"}'
Resposta
{
  "data": {
    "connected": true,
    "number": "+55 21 99999-9999",
    "verified_name": "Minha Empresa",
    "coexistence": false
  }
}