- Uma referência entrante do WhatsApp captura
ctwa_cliddemessages[].referral.ctwa_clid. - O Switchbord armazena o id do clique no payload da mensagem entrante e em
conversation_attributions. - As vinculações de dataset em nível de canal decidem se um evento
Lead,QuoteRequestedouPurchasede CTWA é elegível. - Uma linha de registro em
meta_capi_eventsé criada com umevent_iddeterminístico. - O worker processa
meta.capi.dispatche envia para/{dataset_id}/eventssomente quando a vinculação está habilitada e não está em modo dry-run.
Vinculação de dataset
As vinculações têm escopo de canal, não são globais. Use a rota de API do app abaixo a partir de um contexto autenticado de proprietário/administrador:dryRun=true até que o Events Manager exiba eventos de teste com o formato de payload esperado. O despacho em produção (dryRun=false) é rejeitado a menos que um testEventCode esteja presente e a vinculação existente tenha sido marcada como verificada (health_status='ok' com last_verified_at).
IDs de evento
O Switchbord usa ids determinísticos para deduplicação:Lead:meta-capi:lead:{workspaceId}:{conversationId}:{attributionId}QuoteRequested:meta-capi:quote:{workspaceId}:{reservationTravioId}:{attributionId}Purchase:meta-capi:purchase:{workspaceId}:{reservationTravioId}:{confirmationTimestamp}
unique (workspace_id, event_id).
Regras de payload
Todo payload de despacho utiliza:action_source: business_messagingmessaging_channel: whatsapppartner_agent: switchborduser_data.ctwa_clidquando disponíveluser_data.page_idquando configurado- apenas telefone/id externo com hash; nunca armazene ou envie números de telefone em texto puro
custom_data.valueecustom_data.currencypara o valor de cotação/compra, quando presente
Authorization: Bearer ***, nunca como parâmetros de consulta na URL.
Lançamento gradual (rollout)
- Configure a vinculação com
enabled=true,dryRun=truee um código de evento de teste. - Reproduza ou aguarde uma mensagem entrante de CTWA com
ctwa_clid. - Confirme que
meta_capi_events.status = 'dry_run'e que a pré-visualização do payload não contém token. - Envie eventos de teste no Events Manager.
- Mude um canal para
dryRun=falseapenas paraLead. - Habilite
QuoteRequestedePurchasesomente após a verificação da integração com a fonte de verdade do Travio/status-3.
enabled=false ou dryRun=true na vinculação do canal.