Pular para o conteúdo principal

Campanhas

Corresponde à tela Campanhas. Uma campanha envia uma mensagem para um grupo de leads de alunos, por e-mail, por WhatsApp ou pelos dois canais. A campanha tem um nome, uma mensagem, os canais de envio e, opcionalmente, um curso que define quem recebe. Os leads da campanha têm página própria em Leads da campanha.

Endpoints​

MétodoCaminhoDescrição
GET/crm/campaignsLista as campanhas
POST/crm/campaignsCria uma campanha
GET/crm/campaigns/{uuid}Consulta uma campanha, com seus leads
PUT/crm/campaigns/{uuid}Altera uma campanha
DELETE/crm/campaigns/{uuid}Apaga uma campanha
PATCH/crm/campaigns/{uuid}/activateAtiva a campanha e inicia o envio
GET/crm/campaigns/coursesLista os cursos do catálogo (apoio)

GET /crm/campaigns​

Lista as campanhas da empresa cliente, da mais recente para a mais antiga.

Parâmetros de URL

ParâmetroDescrição
searchTexto livre: nome da campanha e nome do curso
course_idId do curso da campanha
per_page, pagePaginação, conforme Convenções

Resposta (200): a lista de campanhas, sem per_page, ou a página de campanhas, com per_page. Cada campanha traz o nome e o uuid do curso, os contadores de leads e os nomes de quem criou e de quem alterou.

POST /crm/campaigns​

Cria uma campanha. Se houver course_uuid, os leads de alunos que têm esse curso de interesse entram na campanha automaticamente, no momento da criação.

Corpo

CampoObrigatórioTipoDescrição
campaignSimtextoNome da campanha, até 255 caracteres. Para o e-mail, é o assunto da mensagem
messageSimtextoTexto enviado aos leads
emailSim, se whatsapp não for informadobooleanoEnvia por e-mail
whatsappNãobooleanoEnvia por WhatsApp
course_uuidNãouuidCurso da campanha (uuid do curso). Os leads de alunos com esse curso de interesse entram na campanha

É preciso marcar pelo menos um dos canais, email ou whatsapp.

Exemplo

curl -X POST https://api.pedagogo.app/crm/campaigns \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao>" \
-H "Content-Type: application/json" \
-d '{
"campaign": "Campanha exemplo",
"message": "Mensagem exemplo.",
"email": true,
"whatsapp": false
}'

Resposta (201): a campanha criada, com o uuid.

GET /crm/campaigns/{uuid}​

Consulta uma campanha. Resposta (200): a campanha, com o curso e os leads da campanha, cada um com os dados do lead de aluno.

PUT /crm/campaigns/{uuid}​

Altera uma campanha que ainda não foi ativada. Envie apenas os campos que mudam.

Corpo

CampoObrigatórioTipoDescrição
campaignNãotextoNome da campanha, até 255 caracteres
messageSimtextoTexto enviado aos leads
emailSim, se whatsapp não for informadobooleanoEnvia por e-mail
whatsappNãobooleanoEnvia por WhatsApp
course_uuidNãouuidCurso da campanha

Se a campanha já estiver ativa, a resposta é 400, com a mensagem Campanha ativa não pode ser editada.

Resposta (200): a campanha alterada.

DELETE /crm/campaigns/{uuid}​

Remove a campanha. Se a campanha já estiver ativa, a resposta é 400, com a mensagem Campanha ativa não pode ser deletada.

Resposta (200).

PATCH /crm/campaigns/{uuid}/activate​

Ativa a campanha e inicia o envio em segundo plano. Não há corpo.

Resposta (200):

{
"message": "Campanha ativada com sucesso.",
"success": true
}

Se a campanha não tiver leads, a resposta é 400, com a mensagem Campanha sem leads.

Como o envio funciona

  • Depois de ativada, a campanha não pode ser editada nem apagada.
  • E-mail: uma única mensagem vai para todos os leads que têm e-mail, com os destinatários em cópia oculta. O assunto é o nome da campanha.
  • WhatsApp: cada lead com celular recebe uma mensagem individual. Os envios são espaçados em cerca de um minuto, e cada mensagem recebe o rodapé padrão de descadastro do sistema.
  • Cada lead que recebe a campanha ganha uma anotação no histórico de contatos, com o nome da campanha e o canal usado.
  • Um lead sem nenhum dos canais escolhidos, por não ter e-mail nem celular, recebe o status de envio Fracassado.
  • No WhatsApp, o status Enviado indica que a mensagem foi entregue ao serviço de envio, e não confirma a entrega ao destinatário.

GET /crm/campaigns/courses​

Lista os cursos do catálogo, para o campo course_uuid. Resposta (200): a lista de cursos.