Este artigo apresenta uma visão objetiva da integração com a Cloud API da Dersalis, permitindo que equipes técnicas conectem sistemas internos aos eventos e incidentes gerados pela plataforma.
Para a documentação completa e formal, disponibilizamos um canal dedicado (veja no final).
1. Visão Geral
A Cloud API possibilita que parceiros:
Consultem incidentes históricos
Recebam eventos em tempo real via Webhook
Reconstruam o ciclo de vida completo de cada incidente
Integrar dados em dashboards, ERPs, SOCs e sistemas internos
A integração ocorre por dois mecanismos:
1) Consulta via endpoint (GET /incident)
2) Recebimento de eventos via Webhook
2. Tipos Auxiliares Essenciais
A seguir, apenas os tipos necessários para navegação mínima dos objetos retornados.
export type UnixTime = number; export interface TimeOfDay { hour: number; minute: number; } export interface TimeWindow { startTime: TimeOfDay; endTime: TimeOfDay; active: boolean; timeZone: string; } export type NotificationChannel = "whatsapp" | "sms" | "teams" | "slack";3. Objeto Monitoring (resumo)
Representa a configuração que gerou o incidente.
export interface Monitoring { id: string; name: string; monitoredIndividualIdList: string[]; monitoredIndividualGroupIdList: string[]; timeWindow: TimeWindow; riskSettings: any[]; notificationSettings: any[]; active: boolean; }4. Objeto Incident (resumo)
export interface Incident { id: string; monitoring: Monitoring; monitoredIndividual: { id: string; registrationCode: string; }; state: "open" | "finished" | "closed"; openTimestamp: UnixTime; finishTimestamp: UnixTime; closeTimestamp: UnixTime; severityLevel: number; log: IncidentLifeCycleEvent[]; location?: any; }5. Eventos do Ciclo de Vida (resumo)
São enviados no webhook e também retornados via API.
export type IncidentLifeCycleEvent = | { type: "create"; timestamp: UnixTime } | { type: "finish"; timestamp: UnixTime } | { type: "close"; timestamp: UnixTime } | { type: "severity-level-change"; timestamp: UnixTime; newSeverityLevel: number } | { type: "notification-report"; timestamp: UnixTime; channels: NotificationChannel[] } | { type: "handling-report"; timestamp: UnixTime; handlingOperatorId: string } | { type: "sample-data-ref"; timestamp: UnixTime; sampleDataId: string };6. Consulta via API – GET /incident
Recupera incidentes dentro de um intervalo.
Exemplo:
GET /incident?start=1711900000000&end=1712000000000 Authorization: Bearer <token>
Resposta inclui:
incidentes completos
logs
severidade
timestamps
Ideal para auditoria e sincronização.
7. Webhook – Recebimento em Tempo Real
O parceiro disponibiliza um endpoint HTTPS que receberá eventos como:
{ "eventType": "create", "timestamp": 1711920032000, "incidentId": "abc-123", "data": { ... } }Eventos suportados:
create
finish
close
severity-level-change
notification-report
handling-report
sample-data-ref
8. Recomendações de Operação
Webhook para tempo real
/incidentpara auditoria e resiliênciaUtilizar idempotência (evitar duplicação)
Registrar eventos via chave composta (
incidentId,timestamp)
9. Documentação Completa (Solicitação)
Caso sua equipe necessite:
Modelos completos
Estruturas avançadas
Exemplos linha a linha
Comportamentos edge-case
Descrições detalhadas dos gatilhos e cenários
Disponibilizamos a documentação técnica integral mediante solicitação.
Entre em contato com o time Dersalis para obter o pacote completo de documentação.