Si el viaje tiene más de una entrega, mandá paradas en orden: la última es el destino. Cada parada puede llevar el remito de tu sistema. Quien recibe lo firma desde su teléfono, con observaciones si faltó algo o llegó roto, y a vos te llega la firma por webhook.
curl -X POST https://www.rutazo.com/api/v1/cargas \
-H "Authorization: Bearer rtz_test_…" -H "Content-Type: application/json" \
-H "Idempotency-Key: ENTREGA-80012" \
-d '{
"categoria": "carga-general",
"origen": { "direccion": "Parque Industrial Pilar, Buenos Aires" },
"destino": { "direccion": "Zárate, Buenos Aires", "lat": -34.0981, "lng": -59.0286 },
"fecha": "2026-10-15",
"forma_pago": "contado_descarga",
"publicacion": "propia",
"asignar_a": { "cuit": "30716378752" },
"paradas": [
{ "lat": -34.1633, "lng": -58.9592, "direccion": "Corralón López, Campana",
"remito": { "numero": "0001-00000123", "pdf_base64": "JVBERi0xLjcK…",
"destinatario": { "nombre": "Corralón López", "cuit": "30712345678", "telefono": "3489555123" },
"items": [ { "descripcion": "Chapa galvanizada C25", "cantidad": 10, "unidad": "bobinas" } ] } },
{ "lat": -34.0981, "lng": -59.0286, "direccion": "Zárate, Buenos Aires",
"remito": { "numero": "0001-00000124", "destinatario": { "nombre": "Ferretería Sur" } } }
]
}'
Tu PDF, blindado. Si mandás el PDF del remito tal como lo emite tu sistema, en pdf_base64 (hasta 5 MB), quien recibe lo ve antes de firmar y la firma queda atada a ese archivo con su huella (SHA-256). Si alguien cambia el PDF después, la verificación no cierra.
Con numero alcanza: el detalle de items es opcional. En una carga sin paradas, el remito va en remito, al mismo nivel que destino. Si un remito tiene un error de formato, la carga no se crea y detalles dice cuál (paradas.0.remito).
Los remitos de una carga. url es el link para firmar: mandáselo a quien recibe. Firmado, el mismo link es la verificación del documento.
curl https://www.rutazo.com/api/v1/cargas/9a74464a-…/remitos \
-H "Authorization: Bearer rtz_test_…"
{ "remitos": [ { "id": "…", "parada": 1, "numero": "0001-00000123", "estado": "con_observaciones",
"url": "https://www.rutazo.com/r/…", "pdf": "https://www.rutazo.com/api/r/…/pdf",
"firma": { "nombre": "Juan Pérez", "dni": "30111222", "conforme": false,
"observaciones": "Faltan 2 bobinas", "fecha": "…",
"ubicacion": { "lat": -34.16, "lng": -58.95, "precision_m": 12 },
"hash_firma": "…", "hash_anterior": "…" } } ] }
Remitos que salen después. Si tu sistema emite el remito más tarde, agregalo a la carga ya creada, con la posición de la parada (1 = la primera). También exige Idempotency-Key.
curl -X POST https://www.rutazo.com/api/v1/cargas/9a74464a-…/remitos \
-H "Authorization: Bearer rtz_test_…" -H "Content-Type: application/json" \
-H "Idempotency-Key: REMITO-0001-00000125" \
-d '{ "remitos": [ { "parada": 2, "numero": "0001-00000125", "destinatario": { "nombre": "Ferretería Sur" } } ] }'
La firma, por webhook. Suscribite a remito.firmado y cerrá la entrega en tu sistema sin consultar nada:
{ "id": "…", "evento": "remito.firmado", "fecha": "…", "es_prueba": false,
"carga": { "id": "9a74464a-…", "referencia": "RUT-2026-9A74", "referencia_externa": "ENTREGA-80012" },
"remito": { "id": "…", "numero": "0001-00000123", "parada": 1 },
"estado": "con_observaciones",
"firmante": { "nombre": "Juan Pérez", "dni": "30111222" },
"observaciones": "Faltan 2 bobinas", "hash_firma": "…" }
La firma es electrónica (Ley 25.506) y queda con la hora del servidor, la IP, la ubicación si quien firma la comparte y un hash encadenado. No reemplaza el remito fiscal: el número es el de tu sistema.
Última actualización: 1 de octubre de 2026