Calendario

Obtener la agenda de un rango

Devuelve la agenda consolidada de una ventana: proyectos, pedidos, tareas, servicios internos y servicios de pedido.

GET
/api/v1/schedule

Ejemplos de petición

curl 'https://app.filmo.io/api/v1/schedule?startDate=2026-09-01T08%3A00%3A00Z&endDate=2026-09-01T08%3A00%3A00Z' \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": {
    "projects": [
      {
        "id": "project_9f3a2b",
        "name": "Example project",
        "startDate": "2026-09-01T08:00:00.000Z",
        "endDate": "2026-09-01T08:00:00.000Z",
        "status": "Example status"
      }
    ],
    "orders": [
      {
        "id": "order_9f3a2b",
        "orderNumber": "2026-0001",
        "startDate": "2026-09-01T08:00:00.000Z",
        "endDate": "2026-09-01T08:00:00.000Z",
        "status": "Example status",
        "contactName": "Example contact name",
        "projectName": "Example project name"
      }
    ],
    "tasks": [
      {
        "id": "task_9f3a2b",
        "title": "Example title",
        "startDate": "2026-09-01T08:00:00.000Z",
        "endDate": "2026-09-01T08:00:00.000Z",
        "isAllDay": true,
        "isCompleted": true,
        "type": "Example type",
        "projectId": "project_9f3a2b",
        "assignedStaff": [
          {
            "id": "assigned_staff_9f3a2b",
            "fullName": "Example full name"
          }
        ]
      }
    ],
    "internalServices": [
      {
        "id": "internal_service_9f3a2b",
        "title": "Example title",
        "serviceType": "Example service type",
        "startDate": "2026-09-01T08:00:00.000Z",
        "endDate": "2026-09-01T08:00:00.000Z",
        "projectName": "Example project name",
        "qty": 1,
        "assignedStaff": [
          {
            "id": "assigned_staff_9f3a2b",
            "fullName": "Example full name"
          }
        ],
        "assignedVehicleIds": [
          "assigned_vehicle_9f3a2b"
        ]
      }
    ],
    "orderServices": [
      {
        "orderId": "order_9f3a2b",
        "orderNumber": "2026-0001",
        "serviceName": "Example service name",
        "serviceType": "Example service type",
        "startDate": "2026-09-01T08:00:00.000Z",
        "endDate": "2026-09-01T08:00:00.000Z",
        "contactName": "Example contact name",
        "projectName": "Example project name",
        "qty": 1,
        "assignedCount": 1,
        "assignedStaff": [
          {
            "id": "assigned_staff_9f3a2b",
            "fullName": "Example full name"
          }
        ]
      }
    ]
  }
}

Generado a partir del esquema

No pagina: está acotada por fechas, que es lo que pide un calendario, pero cada capa tiene un tope y la respuesta no indica cuándo se ha cortado: como máximo 200 proyectos, 200 pedidos y 500 tareas, ordenados por fecha de inicio, de modo que una capa que devuelve exactamente su tope puede estar truncada (usa una ventana más corta). Solo aparecen los registros activos: proyectos en draft, budgeted, confirmed o in_progress, y pedidos en draft, reserved, prepared_partially, prepared, picked_up_partially, picked_up, returned_partially, returned o checked_in_partially; un pedido checked_in, cancelado o archivado no se devuelve. Por tanto, no es una instantánea completa: no borres un registro solo porque falte. Las personas asignadas salen por identificador y nombre; sus datos de contacto no.

Autorizaciones

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

Cabeceras

If-None-Matchstring

Lectura condicional: el ETag de la copia que ya tienes. Si el recurso no ha cambiado, la respuesta es 304 sin cuerpo.

Ejemplo:"\"3sT3d9pBvZq4h2N0w8x1YkLmQ7c\""

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.

layersstring[]

Qué capas obtener: projects, orders, tasks, internal_services u order_services. Por defecto, todas. Repite el parámetro o separa los valores con comas para indicar varias.

Opciones disponibles: projects, orders, tasks, internal_services, order_services

Límites: mín. 1 elementos, máx. 50 elementos

projectStatusstring[]

Filtra los proyectos por estado.

Límites: mín. 1 elementos, máx. 50 elementos

orderStatusstring[]

Filtra los pedidos por estado.

Límites: mín. 1 elementos, máx. 50 elementos

assignedToStaffIdsstring[]

Conserva solo lo asignado a estos miembros del personal.

Límites: mín. 1 elementos, máx. 200 elementos

Respuesta

application/json

Respuesta correcta.

Esquema de la respuesta: ScheduleDto

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

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

dataobject

Agenda consolidada de una ventana de fechas.

Mostrar atributos hijos
data.projectsobject[]

Proyectos que caen dentro de la ventana.

Mostrar atributos hijos
data.projects.idstring

data.projects.namestring

data.projects.startDatestring<date-time>

data.projects.endDatestring<date-time>

data.projects.statusstring

data.ordersobject[]

Pedidos que caen dentro de la ventana.

Mostrar atributos hijos
data.orders.idstring

data.orders.orderNumberstring

data.orders.startDatestring<date-time>

data.orders.endDatestring<date-time>

data.orders.statusstring

data.orders.contactNamestring | null

data.orders.projectNamestring | null

data.tasksobject[]

Tareas del planificador. Sin los datos de contacto de las personas a las que están asignadas.

Mostrar atributos hijos
data.tasks.idstring

data.tasks.titlestring

data.tasks.startDatestring<date-time> | null

data.tasks.endDatestring<date-time> | null

data.tasks.isAllDayboolean

data.tasks.isCompletedboolean

data.tasks.typestring | null

data.tasks.projectIdstring | null

data.tasks.assignedStaffobject[]

Mostrar atributos hijos
data.tasks.assignedStaff.idstring

Identificador del miembro del personal.

data.tasks.assignedStaff.fullNamestring

Nombre que se muestra en la agenda.

data.internalServicesobject[]

Asignaciones no vinculadas a un pedido.

Mostrar atributos hijos
data.internalServices.idstring

data.internalServices.titlestring

data.internalServices.serviceTypestring

data.internalServices.startDatestring<date-time>

data.internalServices.endDatestring<date-time>

data.internalServices.projectNamestring | null

data.internalServices.qtynumber

data.internalServices.assignedStaffobject[]

Mostrar atributos hijos
data.internalServices.assignedStaff.idstring

Identificador del miembro del personal.

data.internalServices.assignedStaff.fullNamestring

Nombre que se muestra en la agenda.

data.internalServices.assignedVehicleIdsstring[]

data.orderServicesobject[]

Servicios de personal y de flota asociados a un pedido.

Mostrar atributos hijos
data.orderServices.orderIdstring

data.orderServices.orderNumberstring

data.orderServices.serviceNamestring

data.orderServices.serviceTypestring

data.orderServices.startDatestring<date-time>

data.orderServices.endDatestring<date-time>

data.orderServices.contactNamestring | null

data.orderServices.projectNamestring | null

data.orderServices.qtynumber

data.orderServices.assignedCountnumber

data.orderServices.assignedStaffobject[]

Mostrar atributos hijos
data.orderServices.assignedStaff.idstring

Identificador del miembro del personal.

data.orderServices.assignedStaff.fullNamestring

Nombre que se muestra en la agenda.

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

  • Operaciones

    Agenda

    Agenda consolidada de una ventana de fechas.