- Update docs/_MAP.md with new phase references - Add docs/04-fase-saas/ phase structure - Add docs/05-fase-ia/ phase structure Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
178 lines
4.4 KiB
Markdown
178 lines
4.4 KiB
Markdown
# MGN-018: Webhooks Veterinarios
|
|
|
|
**Modulo:** MGN-018
|
|
**Nombre:** Webhooks Outbound para Clinicas Veterinarias
|
|
**Fase:** 04 - SaaS
|
|
**Estado:** Draft
|
|
**Ultima actualizacion:** 2026-01-13
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Sistema de webhooks outbound para notificar eventos veterinarios a sistemas externos. Permite a las clinicas registrar endpoints HTTP para recibir notificaciones automaticas cuando ocurren eventos como vacunaciones, citas, hospitalizaciones, etc.
|
|
|
|
---
|
|
|
|
## Funcionalidades Principales
|
|
|
|
1. **Registro de Endpoints** - CRUD de endpoints webhook por clinica
|
|
2. **Firma HMAC-SHA256** - Firma criptografica de payloads para verificacion
|
|
3. **Reintentos con Backoff** - Politica de reintentos exponencial (1min -> 6h)
|
|
4. **Dead Letter Queue** - Almacenamiento de entregas fallidas
|
|
5. **Delivery Logs** - Historial completo de entregas
|
|
|
|
---
|
|
|
|
## Eventos Veterinarios Disponibles
|
|
|
|
| Categoria | Eventos |
|
|
|-----------|---------|
|
|
| **Mascotas** | `mascota.registrada`, `mascota.actualizada`, `mascota.fallecida` |
|
|
| **Vacunacion** | `vacuna.aplicada`, `vacuna.proxima`, `vacuna.vencida` |
|
|
| **Desparasitacion** | `desparasitacion.aplicada`, `desparasitacion.proxima` |
|
|
| **Citas** | `cita.agendada`, `cita.confirmada`, `cita.cancelada`, `cita.completada` |
|
|
| **Hospitalizacion** | `hospitalizacion.ingreso`, `hospitalizacion.evolucion`, `hospitalizacion.alta` |
|
|
| **Laboratorio** | `laboratorio.muestra_recibida`, `laboratorio.resultados_listos` |
|
|
| **Cirugia** | `cirugia.programada`, `cirugia.iniciada`, `cirugia.completada` |
|
|
| **Facturacion** | `factura.emitida`, `factura.pagada` |
|
|
|
|
---
|
|
|
|
## Casos de Uso Veterinarios
|
|
|
|
### Integracion con SENASICA
|
|
|
|
- Notificar vacunacion de rabia para registro oficial
|
|
- Reportar brotes de enfermedades
|
|
- Trazabilidad de lotes de vacunas
|
|
|
|
### Integracion con Laboratorios
|
|
|
|
- Recibir resultados de analisis
|
|
- Actualizar expediente automaticamente
|
|
- Notificar al propietario
|
|
|
|
### Notificaciones a Propietarios
|
|
|
|
- Recordatorios de vacunacion via email/SMS
|
|
- Confirmacion de citas
|
|
- Alta de hospitalizacion
|
|
|
|
### Sincronizacion con CRM
|
|
|
|
- Actualizar datos de propietarios
|
|
- Historial de servicios
|
|
- Preferencias de comunicacion
|
|
|
|
---
|
|
|
|
## Payload de Ejemplo
|
|
|
|
### Evento: vacuna.aplicada
|
|
|
|
```json
|
|
{
|
|
"event": "vacuna.aplicada",
|
|
"timestamp": "2026-01-13T10:30:00Z",
|
|
"clinica_id": "vet-clinica-001",
|
|
"data": {
|
|
"mascota": {
|
|
"id": "pet-123",
|
|
"nombre": "Max",
|
|
"especie": "canino",
|
|
"raza": "Labrador"
|
|
},
|
|
"propietario": {
|
|
"id": "owner-456",
|
|
"nombre": "Juan Perez",
|
|
"telefono": "+5255123456"
|
|
},
|
|
"vacuna": {
|
|
"id": "vac-789",
|
|
"nombre": "Rabia",
|
|
"lote": "LOT-2026-001",
|
|
"fecha_aplicacion": "2026-01-13",
|
|
"fecha_proxima": "2027-01-13",
|
|
"veterinario": "Dr. Garcia"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Evento: hospitalizacion.ingreso
|
|
|
|
```json
|
|
{
|
|
"event": "hospitalizacion.ingreso",
|
|
"timestamp": "2026-01-13T14:00:00Z",
|
|
"clinica_id": "vet-clinica-001",
|
|
"data": {
|
|
"mascota": {
|
|
"id": "pet-123",
|
|
"nombre": "Luna",
|
|
"especie": "felino"
|
|
},
|
|
"hospitalizacion": {
|
|
"id": "hosp-001",
|
|
"motivo": "Cirugia de esterilizacion",
|
|
"fecha_ingreso": "2026-01-13T14:00:00Z",
|
|
"veterinario_responsable": "Dra. Martinez",
|
|
"estado": "estable"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Normativas y Cumplimiento
|
|
|
|
### SENASICA
|
|
|
|
- Eventos de vacunacion deben incluir lote y fabricante
|
|
- Trazabilidad de vacunas de rabia obligatoria
|
|
- Formato compatible con sistema de notificacion oficial
|
|
|
|
### Bienestar Animal
|
|
|
|
- Eventos de hospitalizacion incluyen estado del paciente
|
|
- Registro de condiciones de internamiento
|
|
- Trazabilidad de tratamientos
|
|
|
|
---
|
|
|
|
## Disponibilidad por Plan
|
|
|
|
| Plan | Webhooks | Eventos | Retenciones |
|
|
|------|----------|---------|-------------|
|
|
| Basico | No | - | - |
|
|
| Profesional | No | - | - |
|
|
| Clinica | Si | Todos | 30 dias |
|
|
| Hospital | Si | Todos | 90 dias |
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Este modulo depende de:**
|
|
- MGN-001 Auth (autenticacion de administradores)
|
|
- MGN-004 Tenants (aislamiento por clinica)
|
|
- MGN-017 Plans (feature gating - solo Clinica/Hospital)
|
|
|
|
---
|
|
|
|
## Indices
|
|
|
|
- [Requerimientos](./requerimientos/INDICE-RF-WEBHOOKS.md)
|
|
- [Especificaciones](./especificaciones/INDICE-ET-WEBHOOKS.md)
|
|
- [Historias de Usuario](./historias-usuario/INDICE-US-WEBHOOKS.md)
|
|
- [Trazabilidad](./implementacion/TRACEABILITY.yml)
|
|
|
|
---
|
|
|
|
*Modulo: MGN-018-webhooks-vet*
|
|
*Propagado desde: erp-core/MGN-018-webhooks*
|
|
*Adaptado para: Dominio veterinario*
|
|
*Fecha: 2026-01-13*
|