DOCUMENTACIÓN API
packHQ API
Referencia
Integra empaque 3D con IA en tu aplicación con un solo endpoint REST.
REST API
<200ms
Quickstart — first call in 5 minutes
No account needed for the Sandbox. For the API endpoint, get a key from your dashboard.
curl example
curl -X POST https://app.packhq.cloud/api/pack \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-d '{
"items": [
{ "name": "Shoe Box", "length": 12, "width": 7, "height": 5, "unit": "in", "quantity": 4 }
],
"containers": [
{ "name": "Carton", "length": 24, "width": 16, "height": 12, "unit": "in" }
]
}'
Sample 200 response (abbreviated)
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"containers": [
{
"name": "Carton",
"length": 24, "width": 16, "height": 12, "unit": "in",
"items": [
{ "name": "Shoe Box", "x": 0, "y": 0, "z": 0, "dx": 12, "dy": 7, "dz": 5, "nx": 1, "ny": 1, "nz": 1 }
]
}
],
"unpackedItems": []
}POST
/api/packEnvía artículos y contenedores para empaque 3D optimizado con IA. Devuelve coordenadas exactas de ubicación para cada artículo.
Encabezados de Solicitud (nivel comercial)
| Encabezado | Requerido | Descripción |
|---|---|---|
X-Api-Key | Solo comercial | Clave API emitida por P4 Software. Requerida para acceso de nivel comercial. |
Cuerpo de Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
items | array | Sí | Arreglo de objetos de artículos a empacar |
containers | array | Sí | Arreglo de tipos de contenedores disponibles |
singleSkuPerContainer | boolean | — | Si es verdadero, cada contenedor solo tiene un tipo de artículo |
maxContainerWeight | number | — | Peso máximo por contenedor (usa weightUnit) |
weightUnit | string | — | "lb" o "kg" (predeterminado: "lb") |
Objeto de Artículo
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Etiqueta descriptiva del artículo |
length | number | Dimensión de largo |
width | number | Dimensión de ancho |
height | number | Dimensión de alto |
unit | string | "in" or "cm" |
quantity | integer | Cantidad de este artículo a empacar (predeterminado: 1) |
uprightOnly | boolean | Si es verdadero, el artículo no se rotará de lado |
durability | integer | Durabilidad de apilamiento (1-10). Mayor = soporta más peso encima |
weight | number | Peso por unidad (usa weightUnit de la solicitud) |
color | string | Color hexadecimal para visualización 3D (ej. "#FF6B35") |
payload | string | Datos personalizados incluidos en la respuesta |
Objeto de Contenedor
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Etiqueta descriptiva del contenedor |
length | number | Largo interior |
width | number | Ancho interior |
height | number | Alto interior |
unit | string | "in", "cm", or "ft" |
loadingMode | string | "topDown" (default), "frontLoad", "sideLoad" |
payload | string | Datos personalizados incluidos en la respuesta |
Códigos de Error
| Código | Descripción |
|---|---|
400 | Cuerpo de solicitud inválido — verifica campos requeridos y tipos |
401 | Clave API inválida o faltante (nivel comercial) |
403 | Clave válida pero el plan no cubre esta operación — actualización requerida |
408 | Tiempo de empaque agotado — reduce la cantidad de artículos o complejidad |
413 | Solicitud demasiado grande — reduce el número de artículos o contenedores |
429 | Límite de solicitudes excedido — espera y reintenta |
500 | Error interno del servidor — contacta soporte si persiste |
503 | Servicio temporalmente no disponible — reintenta después de un momento |
GET
/api/pack/{id}Recupera un resultado de empaque previamente almacenado por ID.
Campos de respuesta:
id, createdAt, request, responseError: 404 si el resultado no existe o ha expirado
GET
/api/pack/{id}/container/{index}/svgGenera una visualización SVG 2D de un contenedor específico de un resultado de empaque.
Respuesta:
image/svg+xmlError: 404 si el resultado o índice de contenedor no se encuentra