Guía de la API de QFM

API de QuickFreeze QFM

Controla y supervisa de manera programada tus unidades y zonas QFM desde tu sistema de gestión de almacenes (WMS) o tu sistema de automatización de edificios: configura los tiempos de ciclo, pausa y reanuda los ventiladores, y consulta el estado en tiempo real.

La API permite que tu software se refiera a las unidades mediante Número de serie de QFM y zonas por el ID de zona QuickFreeze te lo proporciona. Todo se gestiona a través de un único punto de acceso seguro, limitado a las unidades y zonas de tu propia instalación.

Conexión

Punto final
https://qfmonitoring.com/api/v1/integrations/http/{your-routing-key}
emitidos por instalación
Encabezado de autenticación
X-QF-API-Key: {tu-clave-de-API} — emitido por cada instalación; se requiere SSL/TLS
Métodos
HTTP OBTENER (parámetros de consulta) o PUBLICAR (Cuerpo JSON)
Respuestas
Los comandos de control devuelven 204 recibido; se lee «retorno» 200 con un cuerpo JSON. Si falta una clave o esta no es válida, se devuelve 403.

Los resultados de los comandos de control (finalización, rechazo) se envían a tu URL de devolución de llamada; consulta Callbacks.

1. Órdenes de la unidad

Cada llamada de unidad requiere QFM_SERIAL (p. ej.,. QFM-18083) y UBICACIÓN_DEL_RACK (tu ubicación para esa unidad). El estante se compara con la unidad como medida de seguridad; si no coinciden, se rechaza la operación para que no puedas ajustar la unidad equivocada. COMANDO selecciona la acción y, por defecto, se establece en set_cycle.

Establecer el tiempo de ciclo

ParámetroObligatorioNotas
INCUBACIÓNsí*Duración total del ciclo horas
NÚMERO DE ARTÍCULO*SKU — si INCUBACIÓN Si se omite, el tiempo de ciclo se toma de tu biblioteca de SKU
PALLET_TAGnoPallet / LP / LPN — se repitió al finalizar
POnoN.º de orden de compra — se muestra al finalizar

* Proporcionar INCUBACIÓN o NÚMERO DE ARTÍCULO (un explícito INCUBACIÓN victorias).

curl "https://qfmonitoring.com/api/v1/integrations/http/{tu-clave-de-enrutamiento}\
?QFM_SERIAL=QFM-18083&RACK_LOCATION=A12-03&INCUBATION=48&ITEM_NUMBER=11000&PO=PO12345" \
     -H "X-QF-API-Key: {tu-clave-de-API}"

Detener / reanudar los ventiladores

DURACIÓN (opcional, en minutos) es una función de reanudación automática en caso de inactividad: si no envías currículum Dentro de ese intervalo, la unidad se reanuda por sí misma — protección contra una reanudación omitida o fallida.

curl ".../{tu-clave-de-enrutamiento}?QFM_SERIAL=QFM-18083&RACK_LOCATION=A12-03&COMMAND=pause&DURATION=30" \
     -H "X-QF-API-Key: {tu-clave-de-API}"

curl ".../{tu-clave-de-enrutamiento}?QFM_SERIAL=QFM-18083&RACK_LOCATION=A12-03&COMMAND=resume" \
     -H "X-QF-API-Key: {tu-clave-de-API}"

Consultar una unidad (leer la última)

curl ".../{tu-clave-de-enrutamiento}?QFM_SERIAL=QFM-18083&RACK_LOCATION=A12-03&COMMAND=poll" \
     -H "X-QF-API-Key: {tu-clave-api}"

→ 200 {"QFM_SERIAL":"QFM-18083","rackLocation":"A12-03","status":"READY",
 "plenumTemp":"-12.4","deltap":"0.42","sealQuality":"GOOD","cycleRemainingHrs":"0"}

En bloque: muchas unidades en una sola llamada

PUBLICA un array JSON; cada elemento es un comando de unidad independiente, autorizado individualmente.

curl -X POST ".../{tu-clave-de-enrutamiento}" \
 -H "X-QF-API-Key: {tu-clave-de-API}" -H "Content-Type: application/json" \
 -d '[{"QFM_SERIAL":"QFM-18083","RACK_LOCATION":"A12-03","COMMAND":"pause","DURATION":30},
 {"QFM_SERIAL":"QFM-18090","RACK_LOCATION":"A12-04","COMMAND":"pause","DURATION":30}]'

2. Comandos de zona

Una zona se identifica mediante el ZONA ID QuickFreeze te lo asigna; la titularidad se verifica del lado del servidor. Las funciones de pausa y reanudación se aplican a todas las unidades de la zona (cada uno de ellos se volvió a verificar para confirmar su propiedad). DURACIÓN La reanudación automática funciona igual que con las unidades.

Consultar una zona (lectura agregada)

curl ".../{tu-clave-de-enrutamiento}?ZONE=ZONE-ABC-01" -H "X-QF-API-Key: {tu-clave-de-API}"

→ 200 {"zone":"ZONE-ABC-01","avgPlenTemp":"-15.2","readyCountTotal":"2","runningDevices":"1",
       "deviceCountTotal":"3","offlineCount":"0","goodSealPercent":"98.5"}

Pausar o reanudar una zona

curl ".../{tu-clave-de-enrutamiento}?ZONE=ZONE-ABC-01&COMMAND=pause&DURATION=30" -H "X-QF-API-Key: {tu-clave-de-API}"
curl ".../{tu-clave-de-enrutamiento}?ZONE=ZONE-ABC-01&COMMAND=resume" -H "X-QF-API-Key: {tu-clave-api}"

3. Notificaciones de retorno (notificaciones push)

Registrar una URL de devolución de llamada y QuickFreeze PUBLICARañadirle JSON en estos eventos:

Ciclo completado

{ "event":"cycle_complete","status":"COMPLETO","qfmSerial":"QFM-18083","rackLocation":"A12-03",
  "po":"PO12345","sku":"11000","palletTag":"LP55","ts":"..." }

Comando rechazado

{ "event":"comando","status":"RECHAZADO","comando":"set_cycle","qfmSerial":"QFM-18083",
  "ubicación_en_rack":"A12-03","motivo":"discrepancia_en_la_ubicación_en_rack","ts":"..." }

razón es uno de rack_location_mismatch, no_autorizado_para_el_dispositivo.

Identidad y seguridad

  • Cada instalación se autentica con su propia clave de API y está autorizada a solo sus propias unidades y zonas.
  • En cuanto a las unidades, UBICACIÓN_DEL_RACK debe coincidir con la ubicación asociada a ese QFM_SERIAL, o bien la solicitud se rechaza — esto evita que se ajuste la unidad equivocada. Los comandos de zona vuelven a verificar a qué unidad pertenece cada unidad miembro antes de actuar.
  • Las unidades se identifican mediante Serie QFM, que se mantiene estable incluso cuando se cambian las cajas de control.
  • Los valores no deben contener espacios ni caracteres especiales. QuickFreeze podría limitar el volumen de solicitudes excesivas.

Primeros pasos

QuickFreeze te proporciona tu clave de enrutamiento, tu clave de API y el QFM_SERIAL ↔ UBICACIÓN_EN_RACK mapa, tus ID de zona y registra tu URL de devolución de llamada. Hay un entorno de prueba disponible para que puedas probarlo antes de ponerlo en producción.

Para solicitar acceso, comuníquese con su representante de QuickFreeze.