Inicio / API

API

Integre el avance de los Proyectos de tienda en su propio sistema: en qué paso está cada proyecto, dónde se encuentra la mercancía y si la Capacitación está encaminada. Todos los endpoints son de solo lectura; no requieren registro ni API Key.

Convenciones básicas

Base URL
https://www.icook.cloud
Autenticación
Los endpoints incluidos en esta página no requieren credenciales; los endpoints accesibles mediante código usan como credencial el propio token del enlace
Formato
JSON (application/json; charset=utf-8); todas las horas se expresan en UTC
Errores
400 parámetro incorrecto · 401 falta la clave de consulta · 404 no existe; el cuerpo de respuesta tiene la forma {"error":"…"}
Solicitudes entre orígenes
No se devuelven encabezados CORS — las llamadas entre orígenes desde el navegador se bloquean. Realice la llamada desde su servidor. Si requiere acceso directo desde el navegador, escríbanos e indique el dominio de origen.
Frecuencia
No hay una cuota estricta. Use caché de forma responsable; consultar el avance de los Proyectos de tienda una vez por minuto es suficiente, en lugar de hacerlo cada segundo
Versión
No hay número de versión. Los campos se agregan, pero no se eliminan; si se requiere un cambio incompatible, se avisará previamente por correo electrónico a los consumidores conocidos

Estos endpoints alimentan las páginas públicas de este sitio — la API devuelve exactamente lo que se muestra en la página del proyecto, ni más ni menos.

Datos abiertos

No requiere credenciales. Es adecuado para integrar el avance de los proyectos en su propio panel.

GET/api/projects

Lista de Proyectos de tienda en curso. Proyectos con estado active.

CampoDescripción
idNúmero de proyecto; parámetro de ruta de los demás endpoints
name / biz_type / cityNombre del proyecto · tipo de negocio · ciudad
statusactive (en curso) · los demás valores indican estados archivados
current_stageEl paso actual dentro de los nueve pasos, 1–9
noteNota pública de contexto en una frase
track / cuisinerubro de Selección de local / categoría del menú; los valores se comparten con las bibliotecas
submission_countCantidad de propuestas recibidas (solo el total, sin contenido)
stage_countsCantidad de propuestas por etapa, con la forma { "5": 12 }
created_atHora de creación del proyecto, UTC

GET/api/projects/:id

Detalles de un proyecto individual. Incluye tres campos adicionales de estado entre etapas respecto de la respuesta de lista.

CampoDescripción
…Incluye todos los campos de la respuesta de lista
opening_status⑨ Término de estado del ciclo de Apertura (solo el estado, sin datos operativos)
training_status⑧ Término de estado del ciclo de Capacitación
accepted_countCantidad de propuestas aceptadas

Los ingresos, costos, problemas, responsable y fecha de apertura ni siquiera se devuelven como campos — esta es una línea roja del diseño, no una omisión.

GET/api/projects/:id/sites

Lista corta de locales candidatos del proyecto (el entregable de ② Selección de local).

CampoDescripción
site_idIdentificador del local en la Biblioteca de locales; los detalles del local están en la Biblioteca de locales y aquí solo se almacena la referencia
external_title / external_urlTítulo y enlace de un local externo a la biblioteca
statuspending (visita pendiente) · visited (visitado) · chosen (seleccionado) · rejected (rechazado)
noteNota del candidato

Atención: `note` es un campo público y se muestra públicamente junto con la página del proyecto. Al escribir notas, trátelas como públicas — no incluya el precio mínimo aceptable, nombres de competidores ni ninguna evaluación que no convenga divulgar.

GET/api/projects/:id/menus

Lista corta de menús candidatos del proyecto (el entregable de ① Diagnóstico). Tiene la misma estructura que los locales candidatos y solo almacena referencias menu_id.

CampoDescripción
menu_idIdentificador del menú en la Biblioteca de menús
status / noteIgual que los locales candidatos

GET/api/projects/:id/shipments

Avance de los envíos del proyecto. Con datos ocultos: solo devuelve la cantidad de envíos, el hito actual, la fecha de llegada y la cantidad de cajas.

CampoDescripción
idNúmero de envío
cargo_classfood (alimentos) · general (no alimentos)
transport_modesea_fcl (contenedor completo) · sea_lcl (carga consolidada) · air (transporte aéreo) · ground (transporte terrestre en EE. UU.)
cold_chainIndica si usa cadena de frío, 0 / 1
statusEstado de la lista de empaque
nodedepart (salida) · transit (en tránsito) · arrived (llegada a puerto) · customs (despacho aduanero) · final_mile (última milla) · delivered (entregado)
etaFecha estimada de llegada a puerto
item_count / carton_totalCantidad de líneas de artículos / cantidad total de cajas

Solo se devuelven los envíos finalizados o en una etapa posterior. Nunca se devuelven el valor de la carga, HS CODE, domicilio de entrega, transportista ni número de conocimiento de embarque.

GET/api/projects/:id/training-readiness

Preparación para ⑧ Capacitación del proyecto. Solo devuelve cifras agregadas; no incluye listas de personal ni información personal.

CampoDescripción
started / statusIndica si comenzó · término de estado del ciclo
staffed / plan_totalCantidad real de personal / dotación planificada
cert_passed / cert_requiredElementos de certificación aprobados / elementos de certificación requeridos
critical_passed / critical_required / critical_pendingElementos críticos aprobados / requeridos / pendientes
hollowIndica si está en el estado vacío en el que registrar un solo elemento muestra una puntuación perfecta
readyIndica si se cumplieron los requisitos de Capacitación para la apertura

El avance se calcula según los elementos requeridos, no según las filas creadas — por eso `cert_required` normalmente es mucho mayor que la cantidad de filas registradas.

Endpoints accesibles mediante código

El enlace es la credencial. Emitimos el token junto con el enlace comercial correspondiente; no se puede solicitar públicamente — cada enlace recibido solo permite consultar el documento asociado.

GET/api/ticket/:code

Estado de evaluación de la propuesta. code es el código de seguimiento de 8 caracteres que se muestra en la página de envío exitoso.

CampoDescripción
title / supplierTítulo de la propuesta / nombre de la empresa remitente
stageEtapa correspondiente, 1–9
statusnew (envío nuevo) · reviewing (en evaluación) · accepted (aceptada) · rejected (no aceptada)
created_atHora de envío, UTC

No se devuelven el contenido de la propuesta, la cotización ni los archivos adjuntos.

GET/api/quote/:token

Cotización para el cliente. El token proviene de un enlace /q/ emitido por nosotros.

CampoDescripción
title / category / stageTítulo de la cotización · categoría · etapa
quote_amount / quote_currencyImporte cotizado al cliente y moneda
member_discountPorcentaje de descuento para miembros; 0 indica que no se configuró un nivel de precio para miembros
items[]Líneas de artículos: name · spec · unit · qty · sale_price · category · img_url
shipments[]Avance de envíos asociado (igual que arriba, con datos ocultos)

Las cotizaciones con clave de consulta requieren `?pass=<clave-de-consulta>`; de lo contrario, la respuesta es 401. El precio de costo, el margen de aumento y el margen bruto nunca se devuelven.

GET/api/booking/:token

Destino de un enlace de cliente de lista de empaque de logística. El token proviene de un enlace /logistics/f/ emitido por nosotros; las listas de empaque se completan en freight.icook.cloud y este endpoint solo devuelve el enlace de cliente correspondiente.

CampoDescripción
redirectEnlace de cliente de freight; incluye ?pass= cuando se proporciona la clave de consulta correcta; null cuando no hay una lista de empaque correspondiente
noteExplicación cuando no hay una lista de empaque correspondiente

También admite `?pass=`. No se devuelve el contenido de la lista de empaque.

GET/api/booking-share/:token

Destino de un enlace de transportista de lista de empaque de logística. El token proviene de un enlace /logistics/s/ emitido por nosotros; este endpoint solo devuelve el enlace de transportista de freight correspondiente.

CampoDescripción
redirectEnlace de transportista de freight; null cuando no hay una lista de empaque correspondiente
noteExplicación cuando no hay una lista de empaque correspondiente; vacío cuando existe un destino

No se devuelve el contenido de la lista de empaque.

Probar

curl https://www.icook.cloud/api/projects

# Proyecto individual
curl https://www.icook.cloud/api/projects/1

# Avance del envío (con datos ocultos)
curl https://www.icook.cloud/api/projects/1/shipments

# Código de seguimiento de demostración / cotización de demostración (los dos que se usan en la guía)
curl https://www.icook.cloud/api/ticket/GUIDE2026
curl https://www.icook.cloud/api/quote/GUIDEQUOTE26

Qué no se ofrece

  • No hay endpoints públicos de escritura. Para enviar una propuesta, solicitar una membresía, completar una lista de empaque o modificar las cantidades cotizadas, use los formularios web — incluyen las medidas necesarias contra el abuso, y se rechazan las solicitudes que omiten los formularios y llaman directamente a los endpoints.
  • No se proporcionan el contenido de las propuestas, los costos cotizados ni las listas de clientes. Solo son visibles en la interfaz de administración.
  • No se proporciona información de empleados. El módulo de Capacitación no almacena datos como identidad, domicilio o salario; solo almacena números de empleado y puestos.
  • No se ofrece exportación masiva. Si necesita datos históricos, escríbanos e indique el uso previsto.

¿Necesita integrar datos, realizar llamadas directas desde un navegador u obtener un campo que no aparece aquí? Escriba a [email protected] e indique el uso y el volumen de llamadas. El uso de esta API implica la aceptación de los Términos del servicio; consulte la información sobre tratamiento de datos en la Política de privacidad.