Conexão pública
/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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| token | string | Sim | Token do link de conexão (hub_link_...), recebido pelo cliente final. |
curl https://crprohub.com/api/v1/public/connect/hub_link_EXEMPLO_NAO_REAL
{
"data": {
"channel_id": "9f6a9c1e-2f3d-4a5b-8c7d-1e2f3a4b5c6d",
"channel_name": "Atendimento",
"channel_type": "whatsapp",
"status": "draft",
"can_connect": true,
"platform_name": "WhatsApp Business"
}
}/api/v1/public/connect/{token}/completeConclui 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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| token | string | Sim | Token do link de conexão (hub_link_...), o mesmo do GET. |
Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| code | string | Não | Código OAuth devolvido pela Meta após o cliente autorizar. Obrigatório no primeiro envio; incompatível com selectionToken. |
| wabaId | string | Não | ID da WABA autorizada. Obrigatório junto de code. |
| phoneNumberId | string | Não | ID 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. |
| selectionToken | string | Não | Token devolvido por um primeiro envio com selection_required: true. Usado no segundo envio, junto de phoneNumberId, no lugar de code e wabaId. |
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"}'{
"data": {
"connected": true,
"number": "+55 21 99999-9999",
"verified_name": "Minha Empresa",
"coexistence": false
}
}