Cria um rascunho de campanha
POST/api/campaigns
- Auth
- Exige token
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Owner, admin, moderador e financeiro. Cria sempre um rascunho (nada é enviado). `blocks` aceita `text`, `button` e `image`; o HTML de `text` é sanitizado. No assunto e no texto, `{{nome}}` vira o primeiro nome de cada pessoa. Pessoa escolhida na mão que se descadastrou é recusada com erro no campo `audience.profileIds`.
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
nameobrigatório | string | max 200 |
subjectobrigatório | string | max 300 |
preheaderopcional | string | max 300 |
blocksopcional | object[] | |
blocks[].typeobrigatório | text | button | image | |
blocks[].htmlopcional | string | Só em `text`. HTML rico, sanitizado como nos posts. `{{nome}}` vira o primeiro nome de cada pessoa. |
blocks[].textopcional | string | Só em `button`. · max 80 |
blocks[].urlopcional | string | Em `button` (destino) e `image` (endereço da imagem). Só http ou https. |
blocks[].altopcional | string | Só em `image`. · max 200 |
audienceopcional | object | Público: a união de todos os critérios, cada pessoa uma vez. Quem se descadastrou, teve bounce permanente ou reclamou nunca entra. |
audience.allopcional | boolean | Toda a base da comunidade. |
audience.groupIdsopcional | string (uuid)[] | |
audience.tagsopcional | string[] | Nomes das tags. |
audience.profileIdsopcional | string (uuid)[] | Pessoas escolhidas na mão. Quem se descadastrou é recusado com erro no campo `audience.profileIds`. |
Respostas
| Código | Descrição |
|---|---|
201 | Rascunho criado. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
422 | Bloco inválido, pessoa que não é da comunidade ou que se descadastrou. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/campaigns" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"name":"Novidades de outubro","subject":"Olá, {{nome}}: o que há de novo"}'