Conta conectada
Mostra se o WhatsApp da loja está conectado e quais números o seller enxerga.
Antes de qualquer outra coisa, descubra se existe um número de WhatsApp conectado. Estas duas rotas só leem: conectar, assinar webhooks, sincronizar e remover números é feito pelo administrador da loja, não pela API do seller. O seller vê apenas os números que são dele; o número da loja aparece marcado com via_store e sem os ids da Meta.
Status da conexão
Devolve de uma vez o resumo da conexão, a lista de contas visíveis e as chaves de capacidade do canal. É a rota certa para decidir se a sua tela mostra o assistente de conexão ou a caixa de entrada.
/api/v1/vendor/whatsapp-confluence/onboarding/statusSellerRetorna o estado da conexão do WhatsApp
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/whatsapp-confluence/onboarding/status" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"platform_configured": true,
"connected": true,
"status": "connected",
"phone_number": "5511987654321",
"phone_number_id": "104529876543210",
"waba_id": "108765432109876",
"verified_name": "Loja Exemplo",
"platform_type": "COEXISTENCE",
"app_active": true,
"webhooks_subscribed": true,
"accounts": [
{
"id": "3b9d8c52-1f0a-4e7b-8a21-6d5c4b3a2f10",
"phone_number_id": "104529876543210",
"business_phone": "5511987654321",
"display_name": "Loja Exemplo",
"waba_id": "108765432109876",
"status": "A",
"onboarding_state": "C",
"step": "complete",
"is_on_biz_app": true,
"platform_type": "COEXISTENCE",
"webhook_subscribed": true,
"sync_window_open": false,
"history_sync_requested": false,
"history_sync_status": "P",
"contacts_sync_requested": false,
"contacts_sync_status": "P"
}
],
"capabilities": {
"enable_inbox": true,
"enable_bot": true,
"enable_campaigns": true,
"enable_web_preview": true,
"enable_pay_pix": true
}
}Campos da resposta
platform_configuredbooleantrue quando a plataforma tem as credenciais da Meta configuradas.connectedbooleantrue se há ao menos uma conta ativa com número entre as contas visíveis.statusstringconnectednot_connectedconnected ou not_connected.phone_numberstringnot_connected.phone_number_idstringwaba_idstringverified_namestringplatform_typestringapp_activebooleanis_on_biz_app da conta principal. Omitido quando false.webhooks_subscribedbooleanwebhook_subscribed da conta principal. Omitido quando false.via_storebooleantrue quando o seller está conectado pelo número da loja. Omitido quando false.accountsarraycapabilitiesobjectchave: boolean com o valor efetivo de cada chave de capacidade do canal (as mesmas de Ajustes do canal).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não é um seller, ou o seller ainda está em análise de cadastro. | {"error":"vendor_pending_review"} |
| 500 | Falha ao ler as contas da loja. | {"error":"..."} |
Contas
Lista só as contas, sem o resumo. Use quando precisa do account_id de cada número, por exemplo para entender a que conta pertence uma conversa.
/api/v1/vendor/whatsapp-confluence/accountsSellerLista as contas de WhatsApp visíveis ao seller
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (lojista). Veja Tokens.Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/whatsapp-confluence/accounts" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"accounts": [
{
"id": "3b9d8c52-1f0a-4e7b-8a21-6d5c4b3a2f10",
"phone_number_id": "104529876543210",
"business_phone": "5511987654321",
"display_name": "Loja Exemplo",
"waba_id": "108765432109876",
"status": "A",
"onboarding_state": "C",
"step": "complete",
"is_on_biz_app": true,
"platform_type": "COEXISTENCE",
"webhook_subscribed": true,
"sync_window_open": false,
"history_sync_requested": false,
"history_sync_status": "P",
"contacts_sync_requested": false,
"contacts_sync_status": "P"
}
]
}Campos da resposta
accountsarrayiduuidphone_number_idstringvia_store).business_phonestring5511987654321).display_namestringwaba_idstringvia_store.statusstringPAEDP pendente, A ativa, E com erro, D desconectada.onboarding_statestringQXSHCEQ na fila, X código trocado, S webhooks assinados, H sincronização pedida, C completo, E erro.stepstringqueuedconnectedsubscribedsync_requestedcompleteerrorunknownonboarding_state.is_on_biz_appbooleantrue quando o número também está ativo no aplicativo WhatsApp Business do celular (coexistência).platform_typestringCOEXISTENCE ou CLOUD_API.webhook_subscribedbooleantrue quando a plataforma recebe os eventos desse número.sync_deadline_atstringsync_window_openbooleantrue enquanto a janela de sincronização está aberta.history_sync_requestedbooleantrue se a importação do histórico de mensagens já foi pedida.history_sync_statusstringPRDEP não pedida, R pedida, D entregue, E erro.contacts_sync_requestedbooleantrue se a importação de contatos já foi pedida.contacts_sync_statusstringPRDEhistory_sync_status.via_storebooleantrue quando o seller enxerga o número da loja (sem os ids da Meta). Omitido nos demais casos.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não é um seller, ou o seller ainda está em análise de cadastro. | {"error":"vendor_pending_review"} |
| 500 | Falha ao ler as contas. | {"error":"..."} |