Informes

Resumen de la semana y del mes, estadísticas y excesos de velocidad.

Ver el informe semanal

GEThttps://api.drometra.com/v1/reports/weekly

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

weekobligatoriostring

Respuesta · 200

  • objectsiempre
  • objectsiempre
  • objectsiempre
  • objectsiempre
  • array de objectsiempre
  • objectsiempre
  • object o nullsiempre
  • objectsiempre
  • truncatedDaysintegersiempre
  • array de objectsiempre
  • array de objectsiempre
  • array de objectsiempre
  • objectsiempre
  • object o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/reports/weekly" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "week": {
    "from": "…",
    "to": "…",
    "through": "…",
    "partial": true,
    "timeZone": "…"
  },
  "comparedWith": {
    "from": "…",
    "to": "…"
  },
  "rules": {
    "weekly": {
      "version": "…",
      "week": "…",
      "comparison": "…",
      "overdue": "…",
      "distanceChange": "…",
      "punctualityChange": "…",
      "dataGap": "…",
      "idle": "…",
      "outsideHours": "…",
      "awayOvernight": "…",
      "speeding": "…"
    },
    "trips": {
      "version": "…",
      "maxAccuracyMeters": 0,
      "maxJumpMetersPerSecond": 0,
      "stopRadiusMeters": 0,
      "minStopSeconds": 0,
      "minTripMeters": 0,
      "maxGapSeconds": 0,
      "stillMetersPerSecond": 0,
      "movingMetersPerSecond": 0
    },
    "deliveries": {
      "version": "…",
      "onTime": "…",
      "serviceTime": "…",
      "places": "…",
      "overdue": "…"
    },
    "schedule": {
      "version": "…",
      "outside": "…",
      "suggestion": "…"
    },
    "speed": {
      "version": "…",
      "limit": "…"
    }
  },
  "narrative": {
    "text": "…",
    "evidence": "…",
    "source": "template"
  },
  "findings": [
    {
      "kind": "outside_hours",
      "attention": true,
      "text": "…",
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "date": "…"
    }
  ],
  "totals": {
    "distanceMeters": 0,
    "movingSeconds": 0,
    "trips": 0,
    "stops": 0,
    "activeVehicles": 0,
    "activeDays": 0
  },
  "previousTotals": {
    "distanceMeters": 0,
    "movingSeconds": 0,
    "trips": 0,
    "stops": 0,
    "activeVehicles": 0,
    "activeDays": 0
  },
  "analyzed": {
    "positions": 0,
    "trips": 0,
    "stops": 0,
    "vehicles": 0
  },
  "truncatedDays": 0,
  "days": [
    {
      "date": "…",
      "distanceMeters": 0,
      "movingSeconds": 0,
      "trips": 0,
      "stops": 0,
      "vehicles": 0
    }
  ],
  "vehicles": [
    {
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "label": "…",
      "distanceMeters": 0,
      "movingSeconds": 0,
      "trips": 0,
      "stops": 0,
      "activeDays": 0,
      "gapSeconds": 0,
      "previousDistanceMeters": 0,
      "longestDay": {
        "date": "…",
        "distanceMeters": 0
      }
    }
  ],
  "idleVehicles": [
    {
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "label": "…"
    }
  ],
  "deliveries": {
    "period": {
      "from": "…",
      "to": "…"
    },
    "totals": {
      "stops": 0,
      "delivered": 0,
      "failed": 0,
      "pending": 0
    },
    "punctuality": {
      "evaluated": 0,
      "onTime": 0,
      "late": 0,
      "onTimeRate": 0.5
    },
    "serviceSeconds": {
      "measured": 0,
      "median": 0,
      "p90": 0
    },
    "failures": [
      {
        "reason": "…",
        "count": 0
      }
    ],
    "days": [
      {
        "date": "…",
        "stops": 0,
        "delivered": 0,
        "failed": 0,
        "pending": 0,
        "late": 0
      }
    ],
    "workers": [
      {
        "workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "name": "…",
        "stops": 0,
        "delivered": 0,
        "failed": 0,
        "late": 0
      }
    ],
    "places": [
      {
        "locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "name": "…",
        "lastDeliveredAt": "2026-10-21T14:02:31Z",
        "deliveries": 0,
        "daysSinceLast": 0,
        "usualIntervalDays": 0,
        "overdue": true
      }
    ],
    "rules": {
      "version": "…",
      "onTime": "…",
      "serviceTime": "…",
      "places": "…",
      "overdue": "…"
    }
  },
  "previousDeliveries": {
    "stops": 0,
    "delivered": 0,
    "failed": 0,
    "onTimeRate": 0.5
  }
}

Ver el informe mensual

GEThttps://api.drometra.com/v1/reports/monthly

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

monthobligatoriostring

Respuesta · 200

  • objectsiempre
  • objectsiempre
  • objectsiempre
  • objectsiempre
  • object o nullsiempre
  • objectsiempre
  • truncatedDaysintegersiempre
  • array de objectsiempre
  • array de objectsiempre
  • object o nullsiempre
  • object o nullsiempre
  • objectsiempre
  • object o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/reports/monthly" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "month": {
    "month": "…",
    "from": "…",
    "to": "…",
    "through": "…",
    "partial": true,
    "timeZone": "…"
  },
  "rules": {
    "monthly": {
      "version": "…",
      "month": "…",
      "projection": "…",
      "minimumHistory": "…",
      "busiest": "…"
    },
    "trips": {
      "version": "…",
      "maxAccuracyMeters": 0,
      "maxJumpMetersPerSecond": 0,
      "stopRadiusMeters": 0,
      "minStopSeconds": 0,
      "minTripMeters": 0,
      "maxGapSeconds": 0,
      "stillMetersPerSecond": 0,
      "movingMetersPerSecond": 0
    },
    "deliveries": {
      "version": "…",
      "onTime": "…",
      "serviceTime": "…",
      "places": "…",
      "overdue": "…"
    },
    "fuel": {
      "version": "…",
      "inputs": "…",
      "cost": "…",
      "projection": "…"
    }
  },
  "narrative": {
    "text": "…",
    "evidence": "…",
    "source": "template"
  },
  "totals": {
    "distanceMeters": 0,
    "movingSeconds": 0,
    "trips": 0,
    "stops": 0,
    "activeVehicles": 0,
    "activeDays": 0
  },
  "previousTotals": {
    "distanceMeters": 0,
    "movingSeconds": 0,
    "trips": 0,
    "stops": 0,
    "activeVehicles": 0,
    "activeDays": 0
  },
  "analyzed": {
    "positions": 0,
    "trips": 0,
    "stops": 0,
    "vehicles": 0
  },
  "truncatedDays": 0,
  "days": [
    {
      "date": "…",
      "distanceMeters": 0,
      "movingSeconds": 0,
      "trips": 0,
      "vehicles": 0
    }
  ],
  "vehicles": [
    {
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "label": "…",
      "distanceMeters": 0,
      "movingSeconds": 0,
      "trips": 0,
      "activeDays": 0
    }
  ],
  "projection": {
    "expectedMeters": 0,
    "lowMeters": 0,
    "highMeters": 0,
    "remainingDays": 0,
    "weeks": [
      {
        "from": "…",
        "distanceMeters": 0
      }
    ]
  },
  "busiest": {
    "weekday": 4,
    "averageMeters": 0,
    "othersAverageMeters": 0
  },
  "deliveries": {
    "stops": 0,
    "delivered": 0,
    "failed": 0,
    "evaluated": 0,
    "onTime": 0,
    "onTimeRate": 0.5
  },
  "fuel": {
    "cost": 0,
    "liters": 0,
    "vehicles": [
      {
        "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "label": "…",
        "liters": 0,
        "cost": 0
      }
    ],
    "missing": [
      {
        "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "label": "…"
      }
    ],
    "projectedCost": 0
  }
}

Ver estadísticas de un período

GEThttps://api.drometra.com/v1/reports/stats

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

fromobligatoriostring
toobligatoriostring

Respuesta · 200

  • objectsiempre
  • array de objectsiempre
  • objectsiempre
  • array de objectsiempre
  • array de objectsiempre
  • array de objectsiempre
  • array de objectsiempre
  • objectsiempre
  • array de objectsiempre
  • objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/reports/stats" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "period": {
    "from": "…",
    "to": "…",
    "through": "…",
    "partial": true,
    "comparedThrough": "…",
    "days": 16,
    "businessDays": 15.5,
    "scheduled": true,
    "timeZone": "…"
  },
  "comparedWith": [
    {
      "from": "…",
      "to": "…"
    }
  ],
  "totals": {
    "stops": 0,
    "delivered": 0,
    "failed": 0,
    "pending": 0,
    "onTime": {
      "evaluated": 0,
      "onTime": 0,
      "rate": 0.5
    },
    "deliveredWithProof": 0,
    "distanceMeters": 0,
    "movingSeconds": 0,
    "stopsWithoutVehicle": 0
  },
  "daily": [
    {
      "date": "…",
      "distanceMeters": 0,
      "vehiclesUsed": 0,
      "delivered": 0,
      "failed": 0,
      "pending": 0,
      "onTime": {
        "evaluated": 0,
        "onTime": 0,
        "rate": 0.5
      }
    }
  ],
  "customers": [
    {
      "locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "name": "…",
      "stops": 0,
      "delivered": 0,
      "failed": 0,
      "pending": 0,
      "failures": [
        {
          "reason": "…",
          "count": 0
        }
      ],
      "onTime": {
        "evaluated": 0,
        "onTime": 0,
        "rate": 0.5
      },
      "onSite": {
        "measured": 0,
        "averageMinutes": 0
      },
      "frequency": {
        "deliveryDays": 0,
        "medianDaysBetween": 0
      },
      "orders": {
        "period": 0,
        "previous": [],
        "previousAverage": 0,
        "lessThanBefore": true
      },
      "unavailable": [
        {
          "metric": "…",
          "reason": "no_deliveries"
        }
      ]
    }
  ],
  "vehicles": [
    {
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "label": "…",
      "active": true,
      "distanceMeters": 0,
      "movingSeconds": 0,
      "workSeconds": 0,
      "daysUsed": 0,
      "businessDays": 0,
      "businessDaysUsed": 0,
      "utilization": 0.5,
      "lowUse": true,
      "delivered": 0,
      "failed": 0,
      "metersPerDelivery": 0,
      "stopsPerHour": 0,
      "fuelCostPerDelivery": 0,
      "unavailable": [
        {
          "metric": "…",
          "reason": "no_deliveries"
        }
      ]
    }
  ],
  "drivers": [
    {
      "workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "name": "…",
      "stops": 0,
      "delivered": 0,
      "failed": 0,
      "onTime": {
        "evaluated": 0,
        "onTime": 0,
        "rate": 0.5
      },
      "finishedRoutes": 0,
      "minutesPerStop": 0,
      "unavailable": [
        {
          "metric": "…",
          "reason": "no_deliveries"
        }
      ]
    }
  ],
  "trends": {
    "distanceMeters": {
      "current": 0,
      "previous": [
        0
      ],
      "previousAverage": 0,
      "change": 0
    },
    "delivered": {
      "current": 0,
      "previous": [
        0
      ],
      "previousAverage": 0,
      "change": 0
    },
    "onTimeRate": {
      "current": 0,
      "previous": [
        0
      ],
      "previousAverage": 0,
      "change": 0
    },
    "unavailable": [
      {
        "metric": "…",
        "reason": "no_deliveries"
      }
    ]
  },
  "notes": [
    {
      "kind": "distance_trend",
      "text": "…",
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d"
    }
  ],
  "rules": {
    "stats": {
      "version": "…",
      "period": "…",
      "customers": "…",
      "onSite": "…",
      "frequency": "…",
      "lessThanBefore": "…",
      "vehicles": "…",
      "utilization": "…",
      "lowUse": "…",
      "vehicleDeliveries": "…",
      "perDelivery": "…",
      "fuel": "…",
      "drivers": "…",
      "trends": "…",
      "notes": "…",
      "daily": "…",
      "unavailable": "…"
    },
    "trips": {
      "version": "…",
      "maxAccuracyMeters": 0,
      "maxJumpMetersPerSecond": 0,
      "stopRadiusMeters": 0,
      "minStopSeconds": 0,
      "minTripMeters": 0,
      "maxGapSeconds": 0,
      "stillMetersPerSecond": 0,
      "movingMetersPerSecond": 0
    },
    "deliveries": {
      "version": "…",
      "onTime": "…",
      "serviceTime": "…",
      "places": "…",
      "overdue": "…"
    },
    "fuel": {
      "version": "…",
      "inputs": "…",
      "cost": "…",
      "projection": "…"
    }
  }
}

Ver excesos de velocidad

GEThttps://api.drometra.com/v1/reports/speeding

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

fromobligatoriostring
toobligatoriostring

Respuesta · 200

  • objectsiempre
  • limitKmhintegersiempre
  • array de objectsiempre
  • objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/reports/speeding" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "period": {
    "from": "…",
    "to": "…",
    "through": "…",
    "partial": true,
    "timeZone": "…"
  },
  "limitKmh": 1,
  "episodes": [
    {
      "vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "vehicleLabel": "…",
      "date": "…",
      "sourceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "startedAt": "2026-10-21T14:02:31Z",
      "endedAt": "2026-10-21T14:02:31Z",
      "seconds": 0,
      "distanceMeters": 0,
      "maxSpeedMetersPerSecond": 0,
      "driver": {
        "workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "name": "…"
      }
    }
  ],
  "rules": {
    "speed": {
      "version": "…",
      "limit": "…"
    },
    "trips": {
      "version": "…",
      "maxAccuracyMeters": 0,
      "maxJumpMetersPerSecond": 0,
      "stopRadiusMeters": 0,
      "minStopSeconds": 0,
      "minTripMeters": 0,
      "maxGapSeconds": 0,
      "stillMetersPerSecond": 0,
      "movingMetersPerSecond": 0
    },
    "driver": "…"
  }
}