Logotipo Hedhog

Receba novidades do Hedhog no seu e-mail

Novos lançamentos, receitas e breaking changes — sem spam.

Submódulo Campaign

recipients

CRUD direto sobre registros individuais de campaign_recipient em todas as listas.

Caminho de origem: libraries/campaign/src/services/campaign-recipient.service.ts

Arquivo do módulo: campaign.module.ts

Introdução

O submódulo Recipients expõe um CRUD plano e agnóstico à lista sobre as linhas `campaign_recipient` através do CampaignRecipientService — uma contraparte mais leve dos endpoints de gerenciamento de destinatários aninhados sob Recipient Lists. Enquanto o submódulo recipient-lists gerencia destinatários no contexto de uma lista específica (importação em massa, sincronização com o CRM, cadastro público, recálculo dos contadores da lista), este submódulo serve para acesso direto e por registro único: consultar, editar ou remover um destinatário pelo seu próprio ID, independentemente de a qual lista ele pertence.

Criar um destinatário aqui ainda requer um `list_id` e faz upsert por e-mail dentro dessa lista, espelhando a mesma regra de unicidade imposta em outros lugares (uma linha de destinatário por e-mail por lista). As atualizações permitem alterar o status — incluindo os status terminais/bloqueadores `unsubscribed`, `suppressed`, `bounced` e `invalid` que o CampaignDispatchService e o CampaignEmailWorkerService verificam antes de incluir um destinatário em um envio. Os valores de e-mail são normalizados para minúsculas tanto na criação quanto na atualização, de modo que as buscas e a deduplicação permaneçam insensíveis a maiúsculas/minúsculas em todo o módulo.

Ao contrário dos endpoints de destinatário do submódulo recipient-lists, este submódulo não chama `recalculateCounters()` na lista proprietária após criar/atualizar/excluir — os chamadores que precisam que as contagens consolidadas da lista reflitam uma mudança feita através deste submódulo devem esperar uma leve defasagem até que a próxima mutação de destinatário no nível da lista dispare um recálculo.

Endpoints HTTP

6 endpoints

Lista paginada de todos os destinatários em todas as listas.

Query
page, pageSize, search, status

Cria um destinatário e o atribui a uma lista. Faz upsert por e-mail dentro da lista.

Body

FieldTypeRequiredNotes
emailstringyesValid email address; normalized to lowercase
list_idnumberyesTarget recipient list
namestringno
first_namestringno
last_namestringno
companystringno
phonestringno
status"active" | "inactive" | "unsubscribed" | "suppressed" | "bounced" | "invalid"noDefault: "active"
source"manual" | "import" | "crm" | "mixed"noDefault: "manual"
person_idnumbernoCRM person reference
metadataobjectno

Exclusão em massa de destinatários.

Body

FieldTypeRequiredNotes
idsnumber[]yesIDs to delete

Obtém um destinatário por ID.

Params
id (int)

Atualiza um destinatário. Apenas os campos fornecidos são alterados.

Params
id (int)

Body

FieldTypeRequiredNotes
emailstringnoNormalized to lowercase
namestringno
status"active" | "inactive" | "unsubscribed" | "suppressed" | "bounced" | "invalid"no
source"manual" | "import" | "crm" | "mixed"no
person_idnumberno

Exclui um único destinatário.

Params
id (int)