Cria um rascunho de campanha
POST/api/campaigns
- Auth
- Requires a token
- X-CommunityId
X-CommunityIdSend the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.
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
| Name | Type | Description |
|---|---|---|
X-CommunityIdoptional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Request body application/json
| Name | Type | Description |
|---|---|---|
namerequired | string | max 200 |
subjectrequired | string | max 300 |
preheaderoptional | string | max 300 |
blocksoptional | object[] | |
blocks[].typerequired | text | button | image | |
blocks[].htmloptional | string | Só em `text`. HTML rico, sanitizado como nos posts. `{{nome}}` vira o primeiro nome de cada pessoa. |
blocks[].textoptional | string | Só em `button`. · max 80 |
blocks[].urloptional | string | Em `button` (destino) e `image` (endereço da imagem). Só http ou https. |
blocks[].altoptional | string | Só em `image`. · max 200 |
audienceoptional | 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.alloptional | boolean | Toda a base da comunidade. |
audience.groupIdsoptional | string (uuid)[] | |
audience.tagsoptional | string[] | Nomes das tags. |
audience.profileIdsoptional | string (uuid)[] | Pessoas escolhidas na mão. Quem se descadastrou é recusado com erro no campo `audience.profileIds`. |
Responses
| Status | Description |
|---|---|
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. |
curl example
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"}'