Iniciar sesión
Desarrolladores

API de Loader4D

Llame a la optimización de carga desde su propio ERP, WMS o sistema de gestión de transporte. El mismo motor de colocación que funciona en el navegador, detrás de una sola petición HTTP.

La API está publicada

Una clave de prueba le da 25 llamadas al mes: motor real, plan real y sin gastar créditos. Verifique su integración sin pagar y elija un plan para pasar a producción.

Qué puede hacer

Punto final de optimización

Envíe sus espacios y su lista de carga en JSON y reciba el plan de colocación con las coordenadas de cada pieza. Las cargas por eje y los artículos que no se pudieron colocar también vienen en la respuesta.

El resultado no se pierde

Una optimización tarda segundos. En un diseño síncrono, una conexión cortada destruye el resultado; aquí vuelve con el identificador del trabajo y lo recoge, de modo que nunca paga dos veces el mismo cálculo.

Una factura previsible

Los créditos se calculan por tramos, no por pieza. El motor gasta el mismo presupuesto de búsqueda en un envío pequeño que en uno grande, así que cobrar por pieza penalizaría las llamadas pequeñas y haría su factura imposible de prever.

Desarrolle sin gastar su cuota

Las claves de prueba devuelven resultados reales y no gastan créditos; están limitadas a 25 llamadas al mes. Pruebe hasta terminar su integración; para pasar a producción solo cambia la clave.

Puntos finales

La autenticación usa una cabecera bearer que lleva su clave. Las claves nunca se aceptan en la cadena de consulta.

Authorization: Bearer l4d_live_...
Llamada Qué hace
POST /api/v1/pack Abre un trabajo de colocación; devuelve 202 y un identificador de trabajo.
GET /api/v1/jobs/{id} Devuelve el estado del trabajo y, al terminar, su resultado.
GET /api/v1/usage Devuelve su cuota del periodo y los créditos restantes.

Petición de ejemplo

Las longitudes son centímetros y los pesos kilogramos. No hay ajuste de unidades por petición; convierta en su lado. Una petición enviada en pulgadas carga un camión diez veces más largo.

POST /api/v1/pack
Authorization: Bearer l4d_test_...
Content-Type: application/json
Idempotency-Key: 7f3c1a9e4b6d4c2f

{
  "reference": "SO-2026-4417",
  "spaces": [
    { "id": "sp1", "name": "40HC", "type": "container",
      "length": 1200, "width": 235, "height": 269,
      "max_weight": 26000, "available": 2 }
  ],
  "items": [
    { "id": "A1", "name": "Karton", "length": 120, "width": 100, "height": 40,
      "weight": 8, "quantity": 24, "group": "Siparis-1",
      "constraints": { "no_tilt": true } },
    { "id": "B1", "name": "Varil", "shape": "cylinder",
      "diameter": 58, "length": 88, "weight": 190, "quantity": 12,
      "constraints": { "floor_only": true } }
  ],
  "strategy": { "group_items": true, "balance_load": true }
}

La respuesta vuelve de inmediato; para el resultado consulte el identificador del trabajo.

HTTP/1.1 202 Accepted
Location: /api/v1/jobs/ba7189d3b1824da3806ca3ee973b2294

{ "id": "ba7189d3...", "status": "queued", "progress": 0,
  "reference": "SO-2026-4417", "credits": 1 }

Cuando el trabajo termina, cada pieza llega con sus coordenadas. El origen es la esquina delantera izquierda inferior del espacio, y el valor dado es esa esquina de la pieza, no su centro.

{ "id": "ba7189d3...", "status": "succeeded", "credits": 1,
  "result": {
    "summary": { "spaces_used": 1, "pieces_requested": 36,
                 "pieces_packed": 36, "weight": 2472,
                 "volume_utilization": 0.7431 },
    "spaces": [
      { "space_id": "sp1", "name": "40HC",
        "placements": [
          { "item_id": "A1", "sequence": 1,
            "x": 0, "y": 0, "z": 0,
            "length": 120, "width": 100, "height": 40, "weight": 8 }
        ],
        "axle_loads": [] }
    ],
    "unpacked": []
  } }

Consulte la referencia de la API para la lista completa de campos y restricciones, los códigos de error y el documento OpenAPI

Créditos y límites

Los créditos se descuentan cuando se acepta el trabajo, no cuando termina. De lo contrario, cien llamadas que llegaran a la vez pasarían todas el control de cuota antes de que se contara una sola.

Piezas totales en la petición Créditos
1 – 1001
101 – 1 0005
1 001 – 10 00025
10 001 y más100

Estos límites existen para que una sola llamada no ocupe el servicio durante minutos. Si su carga de trabajo necesita más, divídala o escríbanos.

Preguntas frecuentes

¿Con qué lenguaje puedo integrar?

Con cualquier lenguaje capaz de hacer una petición HTTP. También puede descargar nuestro documento OpenAPI 3.0 y generar un cliente tipado en la mayoría de lenguajes; esa es la diferencia entre una integración de horas y una de días.

Descargue openapi/v1.json

¿Cómo funciona el precio?

La API forma parte de los planes de pago; las llamadas en producción requieren un paquete de créditos que se renueva cada periodo. Los créditos no usados no se acumulan. Probarla no cuesta créditos: una clave de prueba permite 25 llamadas al mes.

Política de reembolso

¿Cómo se protegen mis claves?

La clave se muestra una sola vez, al crearla; en la base de datos solo se guarda un resumen cifrado. Las claves pertenecen al equipo y no a una persona, así que su integración sigue funcionando aunque quien la montó deje el equipo. Dé a cada integración su propia clave; así, ante una sospecha de filtración, revoca solo esa y las demás siguen funcionando.

Política de privacidad

¿Y si envío la misma petición dos veces por error?

Envíe una cabecera Idempotency-Key con un valor que genere por petición lógica. Un reintento con la misma clave y el mismo cuerpo devuelve el trabajo original en lugar de abrir un segundo. La misma clave con un cuerpo distinto se rechaza: devolver en silencio la respuesta anterior le dejaría esperando un trabajo que nunca se encoló.

¿Un trabajo interrumpido continúa donde se quedó?

No, y conviene decirlo con claridad. La búsqueda es un cálculo único y no se guarda estado intermedio; un trabajo fallido se ejecuta desde el principio. Lo que le da el identificador de trabajo no es continuidad, sino que el resultado no se pierda.

¿Puedo ver también los resultados en la interfaz?

Los trabajos abiertos por la API son independientes y no se añaden a su lista de proyectos; el resultado vuelve directamente en la respuesta. Las llamadas a la API gastan créditos y no asientos, así que no afectan a los asientos de los miembros del equipo que usan la interfaz.