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étodo | Caminho | Descrição |
|---|---|---|
| GET | /crm/campaigns | Lista as campanhas |
| POST | /crm/campaigns | Cria 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}/activate | Ativa a campanha e inicia o envio |
| GET | /crm/campaigns/courses | Lista 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âmetro | Descrição |
|---|---|
| search | Texto livre: nome da campanha e nome do curso |
| course_id | Id do curso da campanha |
| per_page, page | Paginaçã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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| campaign | Sim | texto | Nome da campanha, até 255 caracteres. Para o e-mail, é o assunto da mensagem |
| message | Sim | texto | Texto enviado aos leads |
Sim, se whatsapp não for informado | booleano | Envia por e-mail | |
| Não | booleano | Envia por WhatsApp | |
| course_uuid | Não | uuid | Curso 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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| campaign | Não | texto | Nome da campanha, até 255 caracteres |
| message | Sim | texto | Texto enviado aos leads |
Sim, se whatsapp não for informado | booleano | Envia por e-mail | |
| Não | booleano | Envia por WhatsApp | |
| course_uuid | Não | uuid | Curso 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.