Gastos de emergencia
POST /v1/spending-plans/{id}/emergency-expensesAgrega un grupo de condiciones de emergencia a un plan de gasto existente, sin rehacer el presupuesto. Útil ante imprevistos durante un viaje (falla del vehículo, accidente, desvío de ruta…): amplía o habilita gasto en un método de pago para ese plan.
Parámetros
Sección titulada «Parámetros»| Parámetro | En | Tipo | Descripción |
|---|---|---|---|
id | ruta | string (UUID) | Plan de gasto al que se agregan las condiciones. |
Cuerpo de la solicitud
Sección titulada «Cuerpo de la solicitud»| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
payment_method_type | CARD | CASH | ✅ | Medio de pago de la condición de emergencia. |
conditions_group | objeto | ✅ | Límite de gasto (global o por categoría), igual que en presupuestos. |
cash_dispersion_method | ATM_WITHDRAWAL | CASH_ON_HAND | condicional | Obligatorio si payment_method_type es CASH. |
emergency_justification | enum | – | Motivo de la emergencia (ver abajo). Por defecto OTHER. |
Valores de emergency_justification
Sección titulada «Valores de emergency_justification»VEHICLE_FAILURE (falla del vehículo) · ACCIDENT (accidente o siniestro) ·
MEDICAL_EMERGENCY (emergencia médica) · THEFT (robo o asalto) ·
ROUTE_DELAY_OR_DETOUR (retraso o desvío) · WEATHER_OR_ROAD_CONDITIONS (clima o carretera) ·
PLANNING_ERROR (error de planeación) · OTHER (otro).
Ejemplo
Sección titulada «Ejemplo»curl -X POST \ https://api.sandbox.partner.uvicuo.com/v1/spending-plans/3f7c1e90-2b8a-4c5d-9e10-aa11bb22cc33/emergency-expenses \ -H "X-API-Key: $UVICUO_API_KEY" \ -H "content-type: application/json" \ -d '{ "payment_method_type": "CARD", "emergency_justification": "VEHICLE_FAILURE", "conditions_group": { "condition_type": "GLOBAL", "max_amount": { "amount": 2000.00, "currency": "MXN" }, "categories": ["CARD_VEHICLE_MAINTENANCE_AND_REPAIR"] } }'Respuesta
Sección titulada «Respuesta»200 OK — devuelve el plan de gasto actualizado con el nuevo grupo de condiciones.
Errores comunes
Sección titulada «Errores comunes»| Situación | HTTP | code | Cómo evitarlo |
|---|---|---|---|
| El plan no está ACTIVE (“Spending plan should be in Active state…“). | 400 | downstream_error | Activa el plan primero. |
El condition_type no coincide con el del plan para ese método (“Condition group type (GLOBAL) should be the same as existing (PER_CATEGORY)…“). | 400 | downstream_error | Usa el mismo condition_type (GLOBAL o PER_CATEGORY) que ya tiene el plan para ese payment_method_type. |
payment_method_type: CARD (o CASH con cash_dispersion_method: ATM_WITHDRAWAL) y el empleado del plan no tiene ninguna tarjeta asignada. | 422 | no_card_for_employee | Asigna una tarjeta al empleado, o usa CASH_ON_HAND. |
No existe un plan con ese id. | 404 | not_found | Búscalo por tu trip_id en Listar planes. |
Payload inválido (o id no es UUID). | 400 | validation_error | Revisa error.details. |
Ver Errores para el formato completo.