Origens de anúncio (CTWA)
Lista as mensagens recebidas pelo número vinculado que vieram de um clique em anúncio ou post do Click-to-WhatsApp, mais recentes primeiro. Na prática só números da API oficial (Meta) têm origem de anúncio: o bloco referral é um campo do webhook da Cloud API.
A Meta envia a origem apenas na primeira mensagem da conversa e nunca a repete, então cada item aqui equivale a uma conversa que nasceu daquele anúncio.
referral.sourceId é o id do anúncio (ou do post) da Meta, exposto como chave opaca de agrupamento. Não há nome de campanha nem de conjunto aqui, e isso não é omissão: ler o objeto do anúncio (GET /{ad_id}?fields=id,name,adset{id,name},campaign{id,name}) exige a permissão ads_read na conta de anúncios do anunciante, e o token de usuário de sistema por trás de um número conectado carrega apenas whatsapp_business_management e whatsapp_business_messaging. Para resolver os nomes, chame a Marketing API da Meta com um token autorizado naquela conta, usando este sourceId.
Privacidade (PII): numa linha redigida a identidade do anúncio sobrevive (sourceId, sourceType) e ctwaClid, headline e body voltam nulos, com redacted: true — id de anúncio identifica um criativo, nunca uma pessoa, então a atribuição continua funcionando num número RELAY_ONLY em vez de devolver nada.
Requer key escopada a número.
O objeto referral também traz os nomes RESOLVIDOS do anúncio — adName, adsetId, adsetName, campaignId, campaignName — e mais namesResolvedAt.
⚠️ Esses seis voltam null enquanto o anunciante não tiver compartilhado aquela conta de anúncios com o portfólio empresarial da Pilot Status como parceiro. Nome nulo é estado SUPORTADO, não erro: a conversa continua contada e o sourceId continua vindo.
Nenhum endpoint resolve nome sob demanda — a resolução é assíncrona, fora do caminho da requisição, então consultar nunca dispara chamada à Marketing API e um null pode virar nome minutos depois sem você fazer nada. O namesResolvedAt é o que torna isso observável: null significa “ainda não resolvido”, enquanto data preenchida com nomes nulos significa “perguntamos e a Meta não devolveu” (anúncio apagado, ou compartilhamento ausente).
Autorizações
Sua chave de API ps_
Parâmetros de consulta
Filtra por um único id de anúncio/post. (string)
Filtra por tipo de origem: "ad" ou "post". (string ("ad" | "post"))
Início do período (sobre providerTimestamp). Deve ser ≤ endDate. (string (ISO 8601))
Fim do período (sobre providerTimestamp). (string (ISO 8601))
Página (padrão 1). (integer (≥1))
Itens por página (padrão 30, máx 100). (integer (1–100))
Resposta
Listar origens de anúncio