Saltar al contenido

Cria um rascunho de campanha a partir de um post ou artigo

POST/api/campaigns/from-content

Auth
Requiere token
Clave de API:
campaigns:write
X-CommunityId
X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.

"Enviar por e-mail". Owner, admin, moderador e financeiro (quem já cria campanha; membro recebe 403). Cria um **rascunho** e não envia nada: nada conta na cota até alguém enviar, e enviar continua sendo de owner e admin.

O rascunho é um e-mail da biblioteca com uma versão no idioma principal da comunidade e uma campanha com o público "quem tem acesso a este conteúdo" (`audience.itemAccess: { type: content, id }`, calculado de novo a cada envio) e `sourceItem: { type: content, id }`. Nome e assunto = título do conteúdo; pré-cabeçalho = subtítulo (null se não houver). Blocos, nesta ordem: a capa (`image`, quando há), o título (`text`), o texto inteiro num bloco `text` estático (sanitizado, sem imagens `data:`), o botão "Ler na comunidade" e, quando há vídeo, Drop ou embed, "Assistir na comunidade"; com enquete, "Votar na comunidade". Os botões abrem o conteúdo no app, com o texto no idioma principal da comunidade. Um `{{` escrito no post fica literal (não vira variável).

Conteúdo inexistente, apagado ou de outra comunidade: 404. Conteúdo não publicado, `private`, de espaço apagado ou não aprovado na moderação (pendente ou recusado): 422. Se o post sair do ar ou voltar à moderação depois do rascunho, o envio é recusado (422 `audience.itemAccess`). A resposta é a campanha (mesma forma do `GET /api/campaigns/{id}`, sem `runs`); o app abre o editor com o `id`.

Headers

NombreTipoDescripción
X-CommunityIdopcionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Cuerpo de la solicitud application/json

NombreTipoDescripción
contentIdobligatoriostring (uuid)O post ou artigo (`Content`) desta comunidade.

Respuestas

CódigoDescripción
201Rascunho criado.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
422Conteúdo não publicado, privado, de espaço apagado ou não aprovado na moderação.
500Erro interno do servidor.

Ejemplo con curl

curl -X POST "https://api.memberfy.net/api/campaigns/from-content" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"contentId":"00000000-0000-0000-0000-000000000000"}'