---
title: "Crear entrega sin pedido"
method: POST
path: "/admin/deliveries"
---

# Crear entrega sin pedido

`POST /admin/deliveries`

## Request

- Base URL: `https://api.service.getjusto.com/v3`
- URL: `https://api.service.getjusto.com/v3/admin/deliveries`
- Auth: none declared

Crea una entrega sin pedido para la marca y el local autorizados. Solicita logística y puede generar cargos, sin crear ni asociar un pedido de Justo Ecommerce. Requiere origen, destino, local y contactos. tipAmount registra la propina por separado del precio del despacho. La cotización previa es una estimación: no se guarda un quoteId ni se reserva el precio; al crear se aplican los precios y validaciones vigentes. confirmation=true acepta el aviso de costo definido por el local, no fija el total cotizado. Para evitar duplicados al reintentar, conservar el mismo externalId, storeId y marca; un externalId identifica una solicitud, no una nueva entrega. Sin externalId, no repetir una creación cuyo resultado sea incierto: consultar primero el listado.

## Request body

- union
  - object
    - `storeId` string, required: ID Justo del local solicitante.
    - `fromAddress` ApiDeliveryAddressInput, required: Dirección de origen o destino provista por la app externa. API la resuelve internamente a placeId.
      - `streetAddress` string, required: Calle y numeración ingresada por el customer o sistema externo.
      - `countryCode` string, required: Código de país ISO 3166-1 alpha-2.
      - `extendedAddress` string: Departamento, oficina u otra información secundaria.
      - `location` object: Coordenadas opcionales para mejorar la resolución de la dirección.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
      - `acceptsNoLine2` boolean: Indica si el customer confirmó que no tiene línea 2.
      - `comment` string: Comentario o instrucciones de entrega.
      - `locality` string: Localidad o comuna.
      - `region` string: Región o estado.
      - `postalCode` string: Código postal.
    - `toAddress` ApiDeliveryAddressInput, required: Dirección de origen o destino provista por la app externa. API la resuelve internamente a placeId.
      - `streetAddress` string, required: Calle y numeración ingresada por el customer o sistema externo.
      - `countryCode` string, required: Código de país ISO 3166-1 alpha-2.
      - `extendedAddress` string: Departamento, oficina u otra información secundaria.
      - `location` object: Coordenadas opcionales para mejorar la resolución de la dirección.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
      - `acceptsNoLine2` boolean: Indica si el customer confirmó que no tiene línea 2.
      - `comment` string: Comentario o instrucciones de entrega.
      - `locality` string: Localidad o comuna.
      - `region` string: Región o estado.
      - `postalCode` string: Código postal.
    - `fromName` string, required: Nombre de contacto de origen.
    - `toName` string, required: Nombre de contacto de destino.
    - `fromPhone` string, required: Teléfono de origen. Debe venir fromPhone o toPhone.
    - `toPhone` string: Teléfono de destino. Debe venir fromPhone o toPhone.
    - `instructions` string: Instrucciones para el repartidor.
    - `isCash` boolean: Si es true, el repartidor debe cobrar efectivo.
    - `amountToPay` number: Monto que debe cobrar el repartidor si isCash es true.
    - `cashAmount` number: Efectivo estimado que entregará el cliente.
    - `isRoundTrip` boolean: Si es true, el repartidor vuelve al origen.
    - `tipAmount` number: Propina para el repartidor en moneda del local. Usa el mismo monto de la cotización confirmada. Se registra por separado del precio del despacho; no la pongas en instructions ni amountToPay.
    - `toExpectedDate` string, date-time: Fecha esperada de entrega.
    - `deliveryPriority` number: Prioridad logística. 2 alta, 3 normal, 4 baja.
    - `sendNotificationToReceiver` boolean: Si es true, envía notificación al receptor.
    - `useCarForDelivery` boolean: Si es true, solicita vehículo tipo auto.
    - `confirmation` boolean: Acepta el aviso cuando el costo supera el umbral de confirmación configurado. No acepta ni reserva un precio de una cotización previa.
    - `externalId` string: Identificador externo opcional de la solicitud. Reutilizar el mismo valor, local y marca en los reintentos para recuperar la entrega existente. Sin este identificador no hay garantía de deduplicación entre solicitudes; no reintentar una creación de resultado incierto sin consultar primero el listado.
  - object
    - `storeId` string, required: ID Justo del local solicitante.
    - `fromAddress` ApiDeliveryAddressInput, required: Dirección de origen o destino provista por la app externa. API la resuelve internamente a placeId.
      - `streetAddress` string, required: Calle y numeración ingresada por el customer o sistema externo.
      - `countryCode` string, required: Código de país ISO 3166-1 alpha-2.
      - `extendedAddress` string: Departamento, oficina u otra información secundaria.
      - `location` object: Coordenadas opcionales para mejorar la resolución de la dirección.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
      - `acceptsNoLine2` boolean: Indica si el customer confirmó que no tiene línea 2.
      - `comment` string: Comentario o instrucciones de entrega.
      - `locality` string: Localidad o comuna.
      - `region` string: Región o estado.
      - `postalCode` string: Código postal.
    - `toAddress` ApiDeliveryAddressInput, required: Dirección de origen o destino provista por la app externa. API la resuelve internamente a placeId.
      - `streetAddress` string, required: Calle y numeración ingresada por el customer o sistema externo.
      - `countryCode` string, required: Código de país ISO 3166-1 alpha-2.
      - `extendedAddress` string: Departamento, oficina u otra información secundaria.
      - `location` object: Coordenadas opcionales para mejorar la resolución de la dirección.
        - `lat` number: Latitud.
        - `lng` number: Longitud.
      - `acceptsNoLine2` boolean: Indica si el customer confirmó que no tiene línea 2.
      - `comment` string: Comentario o instrucciones de entrega.
      - `locality` string: Localidad o comuna.
      - `region` string: Región o estado.
      - `postalCode` string: Código postal.
    - `fromName` string, required: Nombre de contacto de origen.
    - `toName` string, required: Nombre de contacto de destino.
    - `fromPhone` string: Teléfono de origen. Debe venir fromPhone o toPhone.
    - `toPhone` string, required: Teléfono de destino. Debe venir fromPhone o toPhone.
    - `instructions` string: Instrucciones para el repartidor.
    - `isCash` boolean: Si es true, el repartidor debe cobrar efectivo.
    - `amountToPay` number: Monto que debe cobrar el repartidor si isCash es true.
    - `cashAmount` number: Efectivo estimado que entregará el cliente.
    - `isRoundTrip` boolean: Si es true, el repartidor vuelve al origen.
    - `tipAmount` number: Propina para el repartidor en moneda del local. Usa el mismo monto de la cotización confirmada. Se registra por separado del precio del despacho; no la pongas en instructions ni amountToPay.
    - `toExpectedDate` string, date-time: Fecha esperada de entrega.
    - `deliveryPriority` number: Prioridad logística. 2 alta, 3 normal, 4 baja.
    - `sendNotificationToReceiver` boolean: Si es true, envía notificación al receptor.
    - `useCarForDelivery` boolean: Si es true, solicita vehículo tipo auto.
    - `confirmation` boolean: Acepta el aviso cuando el costo supera el umbral de confirmación configurado. No acepta ni reserva un precio de una cotización previa.
    - `externalId` string: Identificador externo opcional de la solicitud. Reutilizar el mismo valor, local y marca en los reintentos para recuperar la entrega existente. Sin este identificador no hay garantía de deduplicación entre solicitudes; no reintentar una creación de resultado incierto sin consultar primero el listado.

## Response `200`

The OpenAPI spec

- object
  - `success` boolean
  - `data` ApiDeliveryWithoutOrder: Entrega de Justo Delivery creada sin un pedido de Justo Ecommerce asociado. Se usa para despachos manuales o integraciones externas que necesitan logística fuera del checkout de Justo.
    - `_id` string: ID Justo de la entrega.
    - `websiteId` string: ID de la marca autorizada.
    - `storeId` string: ID Justo del local que solicita la entrega.
    - `orderId` string: Siempre null para entregas sin pedido.
    - `partner` string: Partner logístico usado para la entrega.
    - `status` 'active' | 'canceled' | 'done' | 'error' | 'pending' | 'scheduled' | 'delivering' | 'waiting' | 'unconfirmed': Estado actual de la entrega.
    - `specialCode` string: Código corto de entrega especial.
    - `externalId` string: Identificador externo opcional enviado por la integración.
    - `price` number: Precio del despacho con impuestos, sin propina.
    - `priceWithoutTax` number: Precio sin impuestos.
    - `tipAmount` number: Propina registrada para el repartidor, en moneda del local.
    - `receiveProofImage` string, uri, nullable: URL de la imagen de evidencia del retiro. Null si no hay una imagen registrada.
    - `deliverProofImage` string, uri, nullable: URL de la imagen de evidencia de la entrega. Null si no hay una imagen registrada.
    - `isCash` boolean: Indica si el repartidor debe cobrar efectivo.
    - `isRoundTrip` boolean: Indica si el repartidor debe volver al origen.
    - `instructions` string: Instrucciones operativas para el repartidor.
    - `fromName` string: Nombre de contacto en origen.
    - `toName` string: Nombre de contacto en destino.
    - `fromPlaceId` string: Place ID de origen.
    - `toPlaceId` string: Place ID de destino.
    - `fromAddressLine2` string: Complemento de dirección de origen.
    - `toAddressLine2` string: Complemento de dirección de destino.
    - `fromLocation` ApiDeliveryLocation: Punto de origen o destino de una entrega sin pedido.
      - `address` string: Dirección principal.
      - `addressSecondary` string: Comuna, ciudad o referencia secundaria.
      - `placeId` string: ID del lugar.
      - `streetAddress` string: Calle y número.
      - `extendedAddress` string: Departamento, oficina o referencia.
      - `contactPhone` string: Teléfono de contacto del punto.
      - `contactName` string: Nombre de contacto del punto.
      - `lat` number: Latitud.
      - `lng` number: Longitud.
    - `toLocation` ApiDeliveryLocation: Punto de origen o destino de una entrega sin pedido.
      - `address` string: Dirección principal.
      - `addressSecondary` string: Comuna, ciudad o referencia secundaria.
      - `placeId` string: ID del lugar.
      - `streetAddress` string: Calle y número.
      - `extendedAddress` string: Departamento, oficina o referencia.
      - `contactPhone` string: Teléfono de contacto del punto.
      - `contactName` string: Nombre de contacto del punto.
      - `lat` number: Latitud.
      - `lng` number: Longitud.
    - `location` object, nullable: Última ubicación del repartidor. Disponible al consultar el detalle mientras está en retiro, en camino o en espera; null en los demás estados.
      - `lat` number, required: Latitud del repartidor.
      - `lng` number, required: Longitud del repartidor.
      - `updatedAt` string, date-time: Fecha del reporte GPS; no es la hora de consulta.
    - `driverInformation` object, nullable: Información del repartidor asignado, si está disponible.
      - `name` string: Nombre del repartidor.
      - `code` string: Código del repartidor.
      - `type` string: Tipo de vehículo.
    - `driverPassword` string: Código de verificación del repartidor, si aplica.
    - `trackingURL` string: URL de tracking público de la entrega.
    - `createdAt` string, date-time: Fecha de creación.
    - `forDate` string, date-time: Fecha programada de la entrega.
    - `canceledAt` string, date-time: Fecha de cancelación.
    - `completedAt` string, date-time: Fecha de término.

## Other responses

- `400`: Solicitud rechazada por validación, autorización o reglas de la operación. Los problemas de pago y deuda reconocidos incluyen información para resolverlos.
- `500`: Error al procesar la solicitud. Un error o timeout de creación no garantiza que el despacho no se haya creado.

## Changes

- **2026-11-01** `4b46b8f3312f`: 1 warning, 7 info
  - added the new `false` enum value to the `success` response property for the response status `400`
  - added the non-success response with the status `500`
  - added the optional property `error/details` to the response with the `400` status
  - added the optional property `resolutionCode` to the response with the `400` status
  - …4 more
- **2026-10-31** `4ad06bd631ce`: 1 warning, 5 info
  - the `tipAmount` request property's min was set to `0.00`
  - added the optional property `data/deliverProofImage` to the response with the `200` status
  - added the optional property `data/driverInformation` to the response with the `200` status
  - added the optional property `data/location` to the response with the `200` status
  - …2 more
- **2026-06-02** `1f802d7c8280`: 2 breaking, 4 warning
  - added the new required request property `fromAddress`
  - added the new required request property `toAddress`
  - removed the request property `fromAddressLine2`
  - removed the request property `fromPlaceId`
  - …2 more
- **2026-06-02** `dd70866e9669`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getjusto/apis/justo-api/changes/admin/deliveries/post.md)

---

[API](https://skmtc.dev/getjusto/apis/justo-api.md) - [All operations](https://skmtc.dev/getjusto/apis/justo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getjusto/apis/justo-api/revisions/c810bd8246fd?raw)
