Saltar al contenido principal
Al terminar esta página habrás despachado un envío y lo habrás visto llegar hasta la puerta. Nada de esto cuesta dinero ni mueve a un repartidor real: una llave de prueba actúa en un mundo aparte, donde un repartidor simulado recorre de verdad todo el ciclo, con tiempos reales, emitiendo los mismos eventos y la misma prueba de entrega que uno de producción. Solo necesitas una cosa para empezar: una llave de API de prueba, que se emite desde el panel de socios. Las llaves se muestran una sola vez, en el momento en que se crean. Nunca pongas una llave en tu código ni la mandes al navegador desde tu propia app web; es la credencial completa. Una llave de prueba es la forma segura de probar llamadas en esta documentación, porque una llave real ahí reserva y cobra envíos reales. Los ejemplos de abajo están en Ruby, y son HTTP plano contra una URL base y una llave bearer, así que se traducen línea por línea a cualquier lenguaje. No hay nada que instalar: usan solo lo que Ruby trae de fábrica, así que ruby check_your_key.rb los corre tal cual.
1

Revisa la llave

Cada llamada lleva Authorization: Bearer <your key>, y esta existe para comprobar que la llave funciona antes de que construyas algo sobre ella. Responde con la cuenta a la que pertenece la llave y el mundo en el que actúa.
check_your_key.rb
Si en cambio responde invalid_api_key, la llave está revocada o es del otro modo. No hay una tercera posibilidad: una llave que se autentica puede hacer todo lo que su modo permite, salvo que se haya emitido de solo lectura: en ese caso puede leer y cualquier otra llamada responde 403 read_only_key.
2

Registra un punto de recolección

Un envío se despacha desde una tienda, así que necesitas al menos una. Envía el nombre, un teléfono al que el repartidor pueda llamar y la calle; todo lo demás es opcional.
create_store.rb
Ese st_... es el id que pasas como store_id de aquí en adelante. Una tienda pertenece al mundo en el que fue creada y no puede moverse entre ellos, así que las que hagas ahora son tiendas de prueba y así se quedan.
3

Cotízalo y despáchalo

Dos llamadas. La primera pregunta cuánto cuesta un envío a una dirección dada y aparta ese precio; la segunda despacha y cobra el precio que te cotizaron.La dirección de entrega de abajo es una dirección real en Guadalajara, a unos 2.4 km de la tienda, cómodamente dentro del área que Listo cubre. Usa la colonia de tu propia tienda cuando adaptes esto.
quote_and_create.rb
Fíjate en el encabezado Idempotency-Key. Es obligatorio en cada creación, y es lo que hace seguro un reintento después de un timeout: la misma llave devuelve el envío original en lugar de mandar un segundo repartidor.
4

Mira cómo avanza

Abre el enlace de rastreo y verás al repartidor ir hasta la tienda y después hasta la puerta, en la misma página que reciben tus clientes. En pocos minutos el envío recorre todo el ciclo:
Puedes seguir lo mismo desde tu propio código de dos maneras. Consultando GET /v1/deliveries/{id} y leyendo status, lo cual está bien mientras te familiarizas, o apuntando un endpoint de webhook a tu servidor para que te avisen. Lo segundo es lo que hace una integración en producción, y es la siguiente página por leer.

A dónde ir después

  • Cotiza y crea un envío cubre el cuerpo de la creación completo: programación, efectivo y tarjeta, el manifiesto y todas las formas en que la llamada puede rechazarse.
  • Recibe y verifica webhooks reemplaza el sondeo por eventos, y muestra cómo comprobar que uno viene de verdad de Listo.
  • Modo de prueba explica qué hace y qué no hace el repartidor simulado, y cómo se comporta el dinero de juguete.
  • La referencia de la API se genera desde las propias pruebas de Listo, así que cada campo y cada ejemplo que aparece ahí es uno con el que la API responde de forma demostrable.