Disponibilidad
Comprobar la disponibilidad de artículos
Comprueba la disponibilidad de un lote de artículos (1-100) en un rango de fechas común, cada uno con la cantidad que piensas reservar (1 por defecto).
Ejemplos de petición
curl https://app.filmo.io/api/v1/availability/check \
--request POST \
--header "Authorization: Bearer $FILMO_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"itemId": "itm_9f3a2b",
"variantId": "var_rojo",
"transactionType": "rental",
"quantity": 4
},
{
"itemId": "itm_camara_a7"
}
],
"startDate": "2026-09-01T08:00:00+02:00",
"endDate": "2026-09-05T20:00:00+02:00"
}'Generado a partir del esquema
Consulta idempotente (POST por el cuerpo estructurado). Comparte la cuota de disponibilidad de 30 req/min. Una entrada por artículo solicitado, en el orden de la petición: su disponibilidad (available, shortfall, conflictingPeriods para esa cantidad, y commitments: los pedidos que retienen unidades de él en la ventana, con su número, cantidad máxima y fechas) o un error por elemento cuando el artículo no existe en la cuenta.
Autorizaciones
Clave de API como Bearer, con el permiso de abajo. availability:read
Cuerpo
Esquema del cuerpo: AvailabilityCheckBody
Lote de artículos que comprobar (entre 1 y 100).
Límites: mín. 1 elementos, máx. 100 elementos
Mostrar atributos hijosOcultar atributos hijos
Identificador del artículo que se comprueba. Obligatorio.
Límites: longitud mín. 1, longitud máx. 100
Identificador de la variante concreta que se comprueba; omítelo para el artículo base.
Límites: longitud mín. 1, longitud máx. 100
Tipo de transacción que comprobar: rental o sale. Por defecto, rental.
Opciones disponibles: rental, sale
Unidades que piensas reservar. Determina available, shortfall, status y conflictingPeriods. Por defecto es 1.
Límites: mín. 1, máx. 100000
Inicio del rango a comprobar (ISO 8601 con desplazamiento), compartido por todo el lote.
Fin del rango a comprobar (ISO 8601 con desplazamiento), compartido por todo el lote; debe ser posterior a startDate.
Respuesta
Respuesta correcta.
Esquema de la respuesta: AvailabilityCheckEntryDto
Sobre: AvailabilityCheckEntryItems. meta. solo aparece cuando la operación está obsoleta.
Cabeceras: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Uno de 1/2: AvailabilityResult
Identificador del artículo comprobado.
Identificador de la variante comprobada; null si se comprobó el artículo base.
Nombre del artículo comprobado.
Unidades solicitadas para este artículo (1 si la petición no lo indicaba).
true si minRemaining cubre quantity en todos los puntos de la ventana consultada.
ok (la cantidad solicitada está disponible), partial (hay algunas unidades disponibles, menos de las solicitadas) o none (no hay unidades disponibles).
Opciones disponibles: ok, partial, none
Stock total del artículo.
Unidades reservadas que se solapan con la ventana consultada.
Mínimo disponible en cualquier punto de la ventana consultada.
Unidades que faltan para servir quantity (0 cuando hay disponibilidad).
Disponibilidad temporal adicional (p. ej., stock prestado o temporal); null si no aplica.
Días laborables (YYYY-MM-DD, en la zona horaria de la cuenta) dentro de la ventana en los que el stock no cubre quantity. Vacío cuando hay disponibilidad.
Pedidos que consumen stock del artículo dentro de la ventana (las líneas que hay detrás de reserved), los más próximos primero. Vacío cuando no hay nada reservado.
Mostrar atributos hijosOcultar atributos hijos
Pedido que retiene unidades del artículo dentro de la ventana.
Número de ese pedido; null si aún no tiene.
Máximo de unidades que el pedido retiene a la vez dentro de la ventana.
Inicio del periodo de sus líneas, en ISO 8601 UTC (sin recortar a la ventana).
Fin del periodo de sus líneas, en ISO 8601 UTC (sin recortar a la ventana).
Momento en que se realizó la comprobación, en ISO 8601 con desplazamiento.
Uno de 2/2: AvailabilityItemErrorEntry
Identificador que pidió la petición.
Variante que pidió la petición; null si ninguna.
Por qué el artículo no tiene resultado.
Mostrar atributos hijosOcultar atributos hijos
El artículo no existe en la cuenta.
Opciones disponibles: not_found
Explicación legible.
Información adicional sobre la respuesta.
Mostrar atributos hijosOcultar atributos hijos
Avisos del ciclo de vida; solo aparecen cuando la operación está obsoleta.
Mostrar atributos hijosOcultar atributos hijos
Código de aviso estable.
Opciones disponibles: deprecated
Para personas: qué está obsoleto, hasta cuándo y qué usar.
Día (YYYY-MM-DD) en que la operación deja de estar disponible.
operationId de la operación que hay que usar en su lugar, o null si no hay ninguna.
Dónde está documentada la deprecación (el changelog).
Petición no válida (validation_error): consulta o cuerpo mal formados. errors[] enumera cada campo erróneo con su código estable.
Cabeceras: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Fallo de autenticación (unauthorized, api_key_invalid, api_key_revoked, api_key_expired, api_key_owner_inactive, api_key_owner_not_admin).
Cabeceras: X-Request-Id · Content-Language
No permitido (insufficient_scope: la clave de API no tiene el scope requerido, indicado en requiredScope; forbidden: el propietario de la clave carece del permiso que exige la operación). insufficient_scope se responde antes de que la petición cuente contra el límite de peticiones, así que no lleva cabeceras RateLimit-*; forbidden sí.
Cabeceras: X-Request-Id · Content-Language
Recurso no encontrado (not_found): no existe o está fuera del alcance de la clave de API.
Cabeceras: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Conflicto (conflict): el estado actual del recurso impide la operación, ya hay en curso una petición con esa Idempotency-Key, o otra escritura condicional (If-Match) retuvo el recurso durante más de cinco segundos. errors[0]. indica cuál: in_progress y lock_timeout se resuelven reintentando; invalid_state no, porque el estado del recurso prohíbe la operación.
Cabeceras: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Límite de peticiones superado (rate_limited): reintenta tras Retry-After segundos; RateLimit-* indica qué cuota se ha agotado.
Cabeceras: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · Retry-After
Error interno (internal_error).
Cabeceras: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Errores
| Estado | Códigos | Significado |
|---|---|---|
| 400 | validation_error | Consulta o cuerpo mal formados. errors[] enumera cada campo erróneo con su código estable. |
| 404 | not_found | No existe o queda fuera del alcance de la clave de API. |
| 409 | conflict | El estado actual del recurso impide la operación, ya hay en curso una petición con esa Idempotency-Key, u otra escritura condicional (If-Match) retuvo el recurso durante más de cinco segundos. errors[0]. indica cuál: in_progress y lock_timeout se resuelven reintentando; invalid_state no, porque el estado del recurso prohíbe la operación. |
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
Relacionado
¿Te ha resultado útil esta página?