Cumplimiento de flota — Validate API Online
Comprueba la actividad registrada de un conductor frente a las normas de conducción y descanso de EU 561/2006 (o AETR) y al tiempo de trabajo de la Directiva 2002/15/EC. Envía la cronología como cuerpo POST JSON (JSON body): el turno actual más hasta 28 días o más de historial similar al tacógrafo. Recibirás cada infracción con el artículo de la norma, la marca de tiempo y la gravedad (categorías del Reglamento (UE) 2016/403), advertencias y lo que le queda al conductor ahora mismo: conducción diaria, presupuestos semanal de 56 h y bisemanal de 90 h, cuándo corresponden la próxima pausa, el descanso diario y el descanso semanal, los días ampliados y descansos reducidos utilizados y cualquier compensación por descanso semanal reducido adeudada con su plazo. Cubre pausas de 4 h 30 (incl. la división 15 + 30), jornadas de 9/10 h, descanso diario de 11/9 h y 3 + 9 h, seis períodos de 24 horas entre descansos semanales, secuencias de descanso semanal reducido y compensación, doble tripulación (descanso de 9 h dentro de 30 h), descanso interrumpido por ferry/tren, y de la 2002/15 la media de 48 h, la semana de 60 h, las pausas tras 6 h y el límite de 10 h de trabajo nocturno. Desde la v1.1: la excepción del Art. 12 (hasta 1 h, o 2 h tras una pausa de 30 min, por encima de los límites diarios y semanales para llegar al centro operativo o al domicilio para un descanso semanal) con la compensación adeudada y su plazo, el regreso a la base o al domicilio cada 4 semanas del Art. 8(8a), la excepción de 12 días del Art. 8(6a) para servicios internacionales ocasionales de autocares, y las franjas nocturnas nacionales de la 2002/15 por país. route_plan_state puede pasarse directamente a route-plan.
POST https://nakordoni.eu/api/v2/data/fleet/compliance/validate
— clase de cuota: heavy
| Parámetro | Descripción |
|---|---|
activities | (cuerpo JSON, obligatorio) Actividades del conductor, de la más antigua a la más reciente o en cualquier orden. Cada actividad: {type: drive | other_work | availability | break | rest, start, end} — ISO-8601 (un datetime sin desfase se interpreta en tz) o segundos unix. Opcionales en rest: ferry (true en un ferri o tren), sleeper_cabin, scheduled_journey_h, in_vehicle, location (residence | operational_centre | elsewhere — comprobación de retorno cada 4 semanas según EU 561 Art. 8(8a)). Opcional en drive: art12_exceed (true = conducción por encima del límite conforme a EU 561 Art. 12 para llegar al centro operativo o a casa para un descanso semanal). Los huecos entre actividades cuentan como descanso (se indican en warnings); los solapamientos se rechazan. |
history | (cuerpo JSON) Actividades anteriores en el mismo formato (p. ej. los últimos 28 días del tacógrafo); se combinan con activities. |
tz | (cuerpo JSON) Zona horaria IANA para las semanas naturales (lunes 00:00) y la franja nocturna, por defecto UTC. |
ruleset | (cuerpo JSON) eu561 (por defecto) o aetr. limits enumera las diferencias del AETR que se aplican. |
crew | (cuerpo JSON) single (por defecto) o double (conducción en equipo). |
now | (cuerpo JSON) Momento de evaluación, por defecto el final de la última actividad; el tiempo posterior a la última actividad cuenta como descanso. |
last_weekly_rest_end | (cuerpo JSON) Fin del último descanso semanal anterior a la cronología, cuando la cronología no lo contiene. |
international_goods | (cuerpo JSON, eu561) true = el conductor realiza transporte internacional de mercancías fuera del Estado miembro de establecimiento (se permiten dos descansos semanales reducidos consecutivos según el art. 8, apartado 6). |
passenger_12day | (cuerpo JSON) true o {abroad_24h: bool} = servicio internacional ocasional único de transporte de viajeros: el descanso semanal puede aplazarse hasta doce períodos de 24 horas después de un descanso semanal regular (EU 561 Art. 8(6a), AETR Art. 8(6)(b)); se comprueban los descansos posteriores y la conducción nocturna (22:00-06:00: tripulación múltiple o un período de conducción de 3 h). |
country | (cuerpo JSON) Código ISO de país para la ventana nocturna nacional de la 2002/15 (igual que wtd.country). |
include_wtd | (cuerpo JSON) false = omitir las comprobaciones de la Directiva 2002/15/CE (por defecto true). |
wtd | (cuerpo JSON) Opciones de 2002/15: reference_weeks 1-52 (por defecto 17), reference_mode rolling | fixed, reference_start, night_window HH:MM-HH:MM (por defecto 00:00-04:00), country (código ISO UE/EEE: franja nocturna nacional, véanse los límites), carriage goods | passengers. |
Campos de la respuesta — dentro del objeto data del sobre de respuesta. [] indica una lista, así que data.items[].name es el campo name de cada elemento. Un campo es null, no aparece o es una lista vacía cuando no tenemos valor: nunca un marcador de posición.
| Campo | Descripción |
|---|---|
data.compliant | true cuando no se encontró ninguna infracción; violation_count y by_severity (most_serious, very_serious, serious, minor) las cuentan. |
data.violations[] | code, ref (artículo de la norma, p. ej. "EU 561/2006 Art. 7"), severity, at (cuándo se superó el límite), value_min / limit_min / excess_min, period_start o week_start, open (sigue en curso en el momento de la evaluación), message. Las entradas de la 2002/15 llevan banded=false. |
data.warnings[] | Aspectos que requieren actuar y que aún no son infracciones: code, message, ref y at opcionales (p. ej. extended_day_in_use, weekly_drive_almost_used, history_short, gaps_counted_as_rest, four_week_rule_pending). |
data.remaining.driving | drive_left_now_min (el menor de los presupuestos diario, semanal y bisemanal), daily_drive_left_min, weekly_drive_left_min, fortnight_drive_left_min, next_break (due_after_drive_min, required_min, split_first_part_taken), next_daily_rest (regular_latest_start, reduced_latest_start, min_duration_min, overdue), next_weekly_rest (latest_start, periods_used, min_duration_min, reduced_allowed), extended_days_used_this_week, reduced_daily_rests_used, reduced_weekly_rest_compensation[] (owed_min, deadline, basis), compensation_owed_min, art12_compensation[] (extension_start, owed_min, deadline, how), art12_compensation_owed_min, next_weekly_rest.passenger_12day_latest_start. |
data.remaining.working_time | 2002/15: week_work_left_min, worked_this_week_min, reference_period (average, budget_left_min), shift (work_min, breaks_min, next_break_due_after_work_min, night_work_in_shift, shift_work_left_min). |
data.route_plan_state | Estado del conductor con los nombres de parámetros de route-plan (driven_since_break_min, driven_today_min, duty_started_min_ago, driven_week_min, driven_fortnight_min, extended_days_used, reduced_rests_used). |
data.duty_periods[] | Cada período de servicio entre descansos diarios/semanales: start, end, drive_min, extended, rest_type, rest_start, rest_end, rest_min (+ ferry_interruptions). |
data.weekly_rests[] | Descansos semanales encontrados: start, end, duration_min, type regular | reduced, periods_since_previous, compensation_owed_min, derogation. |
data.weeks | Por semana natural: driving.drive_min y working_time.work_min, con complete. |
data.rolling | Solo informativo: la mayor conducción en cualquier ventana de 168 h y 336 h (la prueba legal utiliza semanas naturales). |
data.assumptions[] | Cómo se interpretaron los datos incompletos (p. ej. ningún descanso semanal antes de la cronología conocida). |
data.exceptions | art12[]: cada uso de la excepción de EU 561 Art. 12 — start, end, flagged_drive_min, max_extra_min, break_before_min, following_rest, status (accepted | pending_weekly_rest | conditions_not_met | not_needed), daily_excess_min, weekly_excess_min, compensation_owed_min, compensation_deadline, compensated_at. passenger_12day[]: from, weekly_rest_start, periods_24h, max_periods_24h. |
data.weekly_rests[].location | La ubicación enviada en ese descanso (residence | operational_centre | elsewhere). |
data.wtd.params | night_window, night_window_source (param | country:CC | country_unverified:CC | default), night_window_verified, night_window_ref (fuente nacional). |
curl -X POST "https://nakordoni.eu/api/v2/data/fleet/compliance/validate" \
-H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
-H "Content-Type: application/json" \
-d '{
"tz": "Europe/Warsaw",
"ruleset": "eu561",
"crew": "single",
"activities": [
{
"type": "rest",
"start": "2026-10-19T19:00:00",
"end": "2026-10-20T06:00:00"
},
{
"type": "other_work",
"start": "2026-10-20T06:00:00",
"end": "2026-10-20T06:20:00"
},
{
"type": "drive",
"start": "2026-10-20T06:20:00",
"end": "2026-10-20T10:50:00"
},
{
"type": "break",
"start": "2026-10-20T10:50:00",
"end": "2026-10-20T11:35:00"
},
{
"type": "drive",
"start": "2026-10-20T11:35:00",
"end": "2026-10-20T14:00:00"
}
]
}'
Actualizado