Webhooks
Use webhooks para notificar sua aplicação sobre eventos das missões.
O que é um webhook?
A Mission Brasil usa webhooks para enviar notificações em tempo real sobre eventos de atividades no fluxo de eventos da plataforma do Mission. Todos os webhooks usam HTTPS e entregam um payload JSON que sua aplicação pode consumir. Alguns usos comuns:
Se o webhook não for entregue, a Mission Brasil faz novas tentativas com backoff progressivo de 30s, 1min, 5min e 1h.
Passos para receber um webhook
Para receber eventos em tempo real na sua aplicação:
- Crie um endpoint local para receber requests
- Cadastre o endpoint de desenvolvimento no dashboard da Mission Brasil (aba Developers)
- Teste em ambiente de sandbox
- Faça deploy do endpoint
- Cadastre o endpoint de produção no dashboard
1. Crie um endpoint local para receber requisições
Na aplicação local, crie uma rota que aceite POST.
Ao receber o evento, responda com HTTP 200 OK para sinalizar sucesso à Mission Brasil.
2. Cadastre o endpoint de desenvolvimento
Cadastre a URL HTTPS pública no dashboard da Mission Brasil.
Use um túnel (ex: h00k.dev) para expor o localhost. Exemplo: https://www.h00k.dev
3. Teste o endpoint
Analisar missões para verificar a entrega dos eventos.
4. Faça deploy do endpoint
Após testar, publique em produção.
5. Cadastre o endpoint de produção
Cadastre a URL de produção no dashboard da Mission Brasil.
Tipos de eventos
Lista de eventos e payloads.
registers.analisys
Quando a missão é finalizada pelo usuário
registers.pendent
Quando a missão sai de análise para pendência.
registers.incorrection
Quando a missão deve ser corrigida pela usuário.
registers.custom_status
Quando a missão vai para um status customizado pelo cliente.
registers.approved
Quando a missão é aprovada pelo cliente.
customers_registers_actions.send
Quando a missão gera uma ações após alteração de status.
missions-feeds.create-missions-feeds
Quando uma atividade é criada na missão.
missions_users_collect.created
Quando uma atividade de coleta é criada na missão.
missions_users_delivery.created
Quando uma atividade de entrega é criada na missão.
forms_data.created
Quando um formulário de resposta é enviado.
forms_data.send
Quando um formulário de resposta é atualizado.
Quem somos
Previous Page
Criar demanda POST
Cria uma nova demanda para uma missão. O controller valida obrigatoriamente os campos `missionMainId`, `datePicked` e `participants`. No fluxo real do service, normalmente também são necessários: - `storesIds` - `scheduledAt` - `shifts` - `formId` ou `formPdvId`, dependendo do tipo da missão - `custom_fields`, se houver Para missões do tipo workforce: - `storesIds` deve conter IDs de `workforce_stores` - `formId` só é necessário se a subcategoria exigir formulário - `shifts` deve seguir o formato `day-start-end-index` - a subcategoria precisa estar com `check_in_check_out = true`