# Webhooks Donc **Versao:** 1.0 -- Fev 2025 Webhooks sao mensagens automaticas enviadas pelo sistema Donc para uma URL de sua escolha quando determinados eventos ocorrem. As mensagens contem dados estruturados (JSON) que podem acionar acoes em sistemas externos, como atualizar registros, enviar alertas ou iniciar processos. ## Acoes Suportadas Configuradas via interface "Gatilhos" em Admin -> Setup -> Integracao -> Gatilhos. | Acao | Descricao | |------|-----------| | **Mudanca Status** | Notifica quando ha alteracao no status de um job (ex: "Solicitado" -> "Finalizado") | | **Mudanca Posicao do Especialista** | Envia atualizacoes quando a localizacao de um especialista muda durante um job | | **Mudanca Data** | Dispara quando a data de um job e modificada | | **Mudanca Parceiro Alocado** | Alerta quando o parceiro atribuido a um job muda | | **Problema Reportado** | Notifica quando um problema e reportado durante um job | | **Iniciou Processo Roteirizacao** | Indica o inicio do processo de roteirizacao/agendamento | | **Finalizou Processo Roteirizacao** | Confirma a conclusao do processo de roteirizacao, incluindo detalhes de multiplos jobs/rotas | Cada webhook inclui dados relevantes: IDs de jobs, atualizacoes de status, carimbos de data/hora, coordenadas (latitude/longitude) e metadados. ## Payload Padrao (Exemplo) Os webhooks enviam dados via HTTP POST (JSON) para o endpoint configurado. ```json { "CodigoJob": "001", "RotaId": "5", "CodigoRota": 5023, "JobId": 2, "NomeProfissional": "Entregador Jose", "ProfissionalId": 10, "ParceiroId": 200, "NomeParceiro": "Entregas JS", "Status": "Finalizado", "StatusId": "1500", "UltimoStatus": "2025-02-25T15:53:04.6102556-03:00", "UltimoStatusId": 0, "DataExecucao": null, "Latitude": "-27.15496961", "Longitude": "-48.59369377", "TipoJobId": 21, "ListaStatus": [ { "Id": 0, "StatusId": 500, "Status": 500, "Mensagem": "Solicitado", "Data": "2025-02-25T12:05:32.887", "DataTexto": "Mon, 25 Feb 2025 12:05:32 GMT", "Publico": false, "Latitude": "", "Longitude": "", "Notificacao": null, "Retorno": null, "Versao": null, "RestricaoLoginZona": false } ], "Tarefas": [ { "Id": 792183, "Descricao": "Tirar foto do produto montado", "Ordem": 1, "PrecisaFoto": true, "PrecisaTexto": false, "PrecisaQrCode": false, "QrCode": null, "Arquivos": [], "DataFim": null, "DataFimTexto": null } ], "Problemas": [ { "Id": 86306, "ProfissionalId": 756, "Problema": "Descricao do problema reportado pelo profissional", "Data": "2025-02-25T17:13:48", "TipoProblemaId": 23, "TipoProblema": "Pedido de Peca", "Arquivos": [ { "Url": "Handlers/ExibirArquivo.ashx?o=1&id=1453256", "Id": 1453256, "Tipo": "image", "Nome": "Problema" } ] } ], "AssinaturadoCliente": "", "AssinaturaRetiradaLoja": "", "AssinaturaRetornoLoja": "", "Data": "2025-02-25T17:14:49.9502689-03:00" } ``` ## Como Cadastrar o Endpoint Acesse Admin -> Setup -> Integracao -> Gatilhos: 1. Selecione o tipo de acao (dropdown "Tipo") que acionara o webhook 2. Insira a URL de destino para onde os dados serao enviados 3. Opcionalmente, forneca detalhes de autenticacao e marque como ativo/inativo 4. Visualize ou edite a estrutura de dados JSON (variaveis de retorno)