Referência

Partner API Reference

Endpoints públicos para integrar o backend do partner. Todas as chamadas usam a mesma base; a operação é selecionada por route.

SDKs e coleções

Arquivos para importação

Gerador

Monte uma chamada

Escolha uma rota e gere um cURL com placeholders.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Criar ou atualizar cliente

Cria o cliente final ou atualiza dados usando um ID externo estável.

Request

json
{
  "route": "upsert-partner-customer",
  "external_customer_id": "cliente_56790",
  "customer_name": "Clínica Mais Vida",
  "customer_email": "contato@maisvida.com",
  "customer_phone": "5511999999999",
  "metadata": { "plano": "pro", "origem": "saas" }
}

Resposta resumida

json
{
  "ok": true,
  "customer_id": "UUID_DO_CLIENTE",
  "external_customer_id": "cliente_56790",
  "status": "active"
}

Idempotência funcional: reutilize o mesmo external_customer_id para atualizar o mesmo cliente.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Criar instância

Cria a linha do cliente e pode gerar a sessão de conexão no mesmo request.

Request

json
{
  "route": "create-customer-instance",
  "external_customer_id": "cliente_56790",
  "instance_key": "cliente_56790-whatsapp-principal",
  "instance_name": "Atendimento principal",
  "create_connect_session": true,
  "return_url": "https://app.seusistema.com/integracoes/whatsapp",
  "cancel_url": "https://app.seusistema.com/integracoes/whatsapp",
  "success_url": "https://partner-connect.hookcloud.app/connect/success",
  "error_url": "https://partner-connect.hookcloud.app/connect/error"
}

Resposta resumida

json
{
  "ok": true,
  "instance_id": "UUID_DA_INSTANCIA",
  "connect_session_id": "UUID_DA_SESSAO",
  "connect_url": "https://partner-connect.hookcloud.app/connect?token=..."
}

instance_name é opcional e interno; o nome oficial vem em verified_name.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Gerar connect ou reconnect

Gera uma sessão curta para conectar ou reconectar uma instância existente.

Request

json
{
  "route": "create-connect-session",
  "instance_id": "UUID_DA_INSTANCIA",
  "mode": "reconnect",
  "return_url": "https://app.seusistema.com/integracoes/whatsapp",
  "cancel_url": "https://app.seusistema.com/integracoes/whatsapp",
  "success_url": "https://partner-connect.hookcloud.app/connect/success",
  "error_url": "https://partner-connect.hookcloud.app/connect/error"
}

mode pode ser connect ou reconnect. Abra connect_url no navegador do cliente final.

GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=get-partner-instance#

Consultar instância

Retorna status, número, nome verificado, IDs Meta, callback e links úteis.

Query parameters

ParâmetroTipoDescrição
instance_idUUIDID retornado ao criar a instância
instance_keystringChave legível da linha
phone_number_idstringID do número na Meta

Resposta resumida

json
{
  "ok": true,
  "instance_id": "UUID_DA_INSTANCIA",
  "instance_key": "cliente_56790-whatsapp-principal",
  "status": "connected",
  "verified_name": "Clínica Mais Vida",
  "display_phone_number": "+55 11 99999-9999",
  "quality_rating": "GREEN",
  "meta_business_id": "BUSINESS_ID",
  "waba_id": "WABA_ID",
  "phone_number_id": "PHONE_NUMBER_ID",
  "remote_callback_status": "active",
  "whatsapp_manager_url": "https://business.facebook.com/wa/manage/phone-numbers/..."
}

Envie apenas um identificador. A forma oficial é ?route=get-partner-instance&instance_id=....

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Atualizar dados oficiais da Meta

Atualiza nome verificado, número, qualidade e status do nome.

Request

json
{
  "route": "refresh-partner-instance-meta",
  "instance_id": "UUID_DA_INSTANCIA"
}
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Atualizar nome interno

Altera somente o apelido interno da instância.

Request

json
{
  "route": "update-partner-instance-label",
  "instance_id": "UUID_DA_INSTANCIA",
  "instance_name": "Atendimento unidade centro"
}
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Obter credencial de envio Meta

Retorna o token Meta e a URL de envio da instância para uso exclusivo no backend.

Request

json
{
  "route": "reveal-partner-instance-meta-token",
  "phone_number_id": "PHONE_NUMBER_ID"
}

Resposta resumida

json
{
  "ok": true,
  "meta_access_token": "EAAB...",
  "graph_version": "v25.0",
  "phone_number_id": "PHONE_NUMBER_ID",
  "send_message_url": "https://graph.facebook.com/v25.0/PHONE_NUMBER_ID/messages"
}

Nunca exponha esse token no frontend ou ao cliente final.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Inativar instância

Remove o callback remoto antes de liberar a linha e o slot operacional.

Request

json
{
  "route": "deactivate-partner-instance",
  "instance_id": "UUID_DA_INSTANCIA",
  "reason": "Cliente cancelou esta linha"
}

Se a remoção remota falhar, a API não finge sucesso. Trate conflitos e tente novamente após corrigir a credencial.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Inativar cliente

Inativa o cliente final e trata todas as instâncias vinculadas.

Request

json
{
  "route": "deactivate-partner-customer",
  "external_customer_id": "cliente_56790",
  "reason": "Cliente cancelou a assinatura"
}
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Reativar cliente

Reativa o cadastro comercial. Gere reconnect quando os números precisarem de nova autorização.

Request

json
{
  "route": "reactivate-partner-customer",
  "external_customer_id": "cliente_56790",
  "reason": "Cliente voltou para o SaaS"
}
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Validar webhook

Testa HTTPS e o desafio da Meta sem alterar as instâncias.

Request

json
{
  "route": "validate-partner-webhook-endpoint",
  "webhook_url": "https://api.seusistema.com/webhooks/whatsapp"
}

O endpoint deve responder ao GET da Meta devolvendo o hub.challenge exato.

POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Alterar webhook do partner

Troca o endpoint único e inicia a migração dos números ativos na Meta.

Request

json
{
  "route": "update-partner-webhook-endpoint",
  "webhook_url": "https://api.seusistema.com/webhooks/whatsapp",
  "reason": "Migração do domínio de produção"
}

Resposta resumida

json
{
  "ok": true,
  "migration_id": "UUID_DA_MIGRACAO",
  "status": "pending",
  "total_instances": 12
}
GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=get-partner-webhook-migration#

Consultar migração de webhook

Acompanha quantas instâncias foram atualizadas, falharam ou aguardam.

Query parameters

ParâmetroDescrição
migration_idUUID opcional; sem ele retorna a migração mais recente
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Reprocessar falhas do webhook

Tenta novamente apenas as instâncias que falharam.

Request

json
{
  "route": "retry-partner-webhook-migration",
  "migration_id": "UUID_DA_MIGRACAO"
}
GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=list-partner-meta-templates#

Listar templates

Consulta o catálogo HookCloud em cache, sem consumir GET da Graph API.

Query parameters

ParâmetroDescrição
instance_id / waba_idEscopo do catálogo
statusEx.: APPROVED
sendable_onlytrue para templates disponíveis
searchNome ou ID
page/page_sizePaginação; máximo 200

Resposta resumida

json
{
  "ok": true,
  "source": "hookcloud_cache",
  "items": [
    {
      "template_id": "123456789",
      "template_name": "confirmacao_agendamento",
      "template_language": "pt_BR",
      "template_status": "APPROVED",
      "quality_status": "GREEN",
      "category": "UTILITY",
      "sendable": true,
      "components": [],
      "parameter_schema": { "total_parameters": 2, "parameters": [] }
    }
  ]
}
GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=get-partner-meta-template#

Consultar template

Retorna componentes, parâmetros, status, qualidade, categoria e sendable.

Query parameters

ParâmetroDescrição
template_idID oficial
template_name + languageAlternativa por nome/idioma
instance_id ou waba_idEscopo
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Atualizar catálogo

Enfileira uma reconciliação controlada com a Graph API.

Request

json
{
  "route": "refresh-partner-meta-templates",
  "instance_id": "UUID_DA_INSTANCIA"
}

Resposta resumida

json
{
  "ok": true,
  "accepted": true,
  "sync_job_id": "UUID_DO_JOB",
  "sync_status": "pending",
  "next_allowed_at": "2026-07-21T12:05:00Z"
}

Não chame em cada carregamento. A listagem normal já usa cache e webhooks de mudança.

GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=get-partner-meta-template-sync#

Consultar sincronização de templates

Retorna queued, processing, completed ou failed.

Query parameters

ParâmetroDescrição
instance_id / waba_idEscopo da sincronização
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Reportar status de mensagem

Permite consolidar sent, delivered, read, failed e deleted na Saúde de Entregas.

Request

json
{
  "route": "report-partner-message-status",
  "phone_number_id": "PHONE_NUMBER_ID",
  "message_id": "wamid.xxxxx",
  "status": "delivered",
  "template_name": "confirmacao_agendamento",
  "campaign_id": "campanha_456",
  "occurred_at": "2026-07-21T12:00:00Z"
}
POSThttps://api.hookcloud.app/functions/v1/swift-worker#

Reportar falha de entrega

Registra falhas normalizadas, inclusive sem waMID usando client_message_id.

Request

json
{
  "route": "report-partner-message-delivery-failure",
  "phone_number_id": "PHONE_NUMBER_ID",
  "message_id": "wamid.xxxxx",
  "client_message_id": "msg_local_123",
  "template_name": "campanha_marketing",
  "campaign_id": "campanha_456",
  "error_code": 131049,
  "error_title": "This message was not delivered to maintain a healthy ecosystem engagement",
  "error_message": "Detalhe retornado pela Meta",
  "recipient_hash": "HMAC_SHA256_HEX_COM_64_CARACTERES",
  "occurred_at": "2026-07-21T12:00:00Z"
}

Não envie conteúdo, nome ou telefone em texto puro. Use recipient_hash.

GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=get-partner-delivery-health#

Consultar saúde de entregas

Retorna taxa de falha, 131049, 131042, top erros, templates e alertas.

Query parameters

ParâmetroDescrição
window_hoursJanela de análise, ex.: 24
GEThttps://api.hookcloud.app/functions/v1/swift-worker?route=search-partner-delivery-events#

Pesquisar eventos de entrega

Busca paginada por status, erro, template, campanha, cliente ou instância.

Query parameters

FiltroExemplo
statusfailed
error_code131049
template_namecampanha_marketing
campaign_idcampanha_456
date_from/date_toISO 8601
page/page_size1 / 50
Esta página ajudou?Use o Partner Portal para suporte e compartilhe o link desta seção.