Planificador

Listar los servicios por cubrir

Devuelve los servicios de personal y flota de una ventana de fechas, con quién los cubre y qué recursos hacen falta.

GET
/api/v1/planner/services

Ejemplos de petición

curl 'https://app.filmo.io/api/v1/planner/services?startDate=2026-09-01T08%3A00%3A00Z&endDate=2026-09-01T08%3A00%3A00Z' \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": [
    {
      "orderServiceId": "order_service_9f3a2b",
      "rowKind": "summary",
      "orderId": "order_9f3a2b",
      "orderNumber": "2026-0001",
      "orderStatus": "Example order status",
      "contactName": "Example contact name",
      "projectId": "project_9f3a2b",
      "projectName": "Example project name",
      "serviceId": "service_9f3a2b",
      "serviceName": "Example service name",
      "serviceType": "Example service type",
      "staffMemberId": "staff_member_9f3a2b",
      "vehicleId": "vehicle_9f3a2b",
      "startDate": "2026-09-01T08:00:00.000Z",
      "endDate": "2026-09-01T08:00:00.000Z",
      "status": "Example status",
      "qty": 1,
      "taskId": "task_9f3a2b",
      "requirements": [
        {
          "requiredResourceType": "personnel",
          "qty": 1
        }
      ]
    }
  ]
}

Generado a partir del esquema

Devuelve FILAS, no servicios: cada servicio llega como una fila summary (rowKind: summary, con staffMemberId y vehicleId siempre null) y una fila detail por cada persona o vehículo asignado, todas con el mismo orderServiceId. Agrupa por orderServiceId: un servicio está sin cubrir cuando solo tiene su fila summary, y cubierto cuando tiene filas detail con una persona asignada, así que un null en la fila de resumen no significa "sin cubrir". Los servicios internos (no ligados a un pedido) llegan con orderId y orderNumber vacíos y un serviceId que empieza por is_. El identificador que se usa para asignar es orderServiceId.

Autorizaciones

Clave de API como Bearer, con el permiso de abajo. planner:read

Parámetros de consulta

startDatestring<date-time>Obligatorio

Inicio de la ventana, en ISO 8601 con desplazamiento.

endDatestring<date-time>Obligatorio

Fin de la ventana, en ISO 8601 con desplazamiento.

serviceTypestring

Qué servicios obtener. Por defecto, ambos.

Opciones disponibles: crew, fleet, both

orderStatusstring

Filtra por estado del pedido al que están asociados.

Opciones disponibles: draft, reserved, all

projectIdstring

Limita a un proyecto.

Límites: longitud mín. 1, longitud máx. 100

Respuesta

application/json

Respuesta correcta.

Esquema de la respuesta: PlannerServiceDto

Sobre: PlannerServiceItems. meta.warnings solo aparece cuando la operación está obsoleta.

Cabeceras: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset

dataobject[]

Mostrar atributos hijos
data.orderServiceIdstring

Identificador de la línea de servicio. Es el que se pasa al asignar.

data.rowKindstring

Qué fila es esta. Un servicio llega como UNA fila summary (el propio servicio, con staffMemberId y vehicleId siempre null) más una fila detail por cada persona o vehículo asignado, todas con el mismo orderServiceId. Un servicio está cubierto cuando tiene filas detail con un asignado, y descubierto cuando solo tiene la fila summary.

Opciones disponibles: summary, detail

data.orderIdstring

Pedido al que está asociado el servicio; una cadena vacía en los servicios internos, que no pertenecen a ningún pedido.

data.orderNumberstring

Número legible de ese pedido; una cadena vacía en los servicios internos.

data.orderStatusstring

Estado del pedido.

data.contactNamestring | null

Cliente del pedido; null si no consta.

data.projectIdstring | null

Proyecto asociado; null si no aplica.

data.projectNamestring | null

Nombre del proyecto; null si no procede.

data.serviceIdstring

Servicio del catálogo del que procede.

data.serviceNamestring

Nombre del servicio.

data.serviceTypestring

Tipo: crew, fleet o general.

data.staffMemberIdstring | null

Miembro del personal asignado. Solo lo llevan las filas detail; es null en la fila summary aunque el servicio esté cubierto.

data.vehicleIdstring | null

Vehículo asignado. Solo lo llevan las filas detail; es null en la fila summary aunque el servicio esté cubierto.

data.startDatestring<date-time>

Inicio del servicio en ISO 8601 UTC.

data.endDatestring<date-time>

Fin del servicio en ISO 8601 UTC.

data.statusstring

Estado de la línea de servicio.

data.qtynumber

Cuántas unidades del servicio se solicitan.

data.taskIdstring | null

Tarea de la agenda vinculada; null si no hay ninguna.

data.requirementsobject[]

Recursos necesarios para cubrirlo.

Mostrar atributos hijos
data.requirements.requiredResourceTypestring

Lo necesario: personal o vehículo.

Opciones disponibles: personnel, vehicle

data.requirements.qtynumber

Cuántos hacen falta.

metaobject

Información adicional sobre la respuesta.

Mostrar atributos hijos
meta.warningsobject[]

Avisos del ciclo de vida; solo aparecen cuando la operación está obsoleta.

Mostrar atributos hijos
meta.warnings.codestring

Código de aviso estable.

Opciones disponibles: deprecated

meta.warnings.messagestring

Para personas: qué está obsoleto, hasta cuándo y qué usar.

meta.warnings.sunsetstring

Día (YYYY-MM-DD) en que la operación deja de estar disponible.

meta.warnings.replacementstring | null

operationId de la operación que hay que usar en su lugar, o null si no hay ninguna.

Errores

EstadoCódigosSignificado
400validation_errorConsulta o cuerpo mal formados. errors[] enumera cada campo erróneo con su código estable.

401, 403, 429, 500 los puede devolver cualquier operación. Errores

Obsolescencia

Esta operación no está obsoleta. Las obsolescencias se anuncian con la cabecera Deprecation y una fecha de retirada. Política de versiones