Crear solicitud de despacho externo
Descripción
Crea una solicitud para utilizar los servicios de Justo para llevar un paquete desde un punto inicial, pudiendo ser diferente a la ubicación de una tienda, a un punto final.
- Método:
createExternalDelivery - Parámetros:
storeId: ID del localinstructions: Instrucciones de entrega. OpcionalexternalId: Un código para identificar este pedido en el punto de retiro. Si avoidDuplication estrue, este campo se utilizará este valor como identificador de idempotencia de un pedido. Opcional, solo obligatorio si avoidDuplication es truetipAmount: Monto de propina. OpcionaloriginAddress: Objeto que contiene la información del punto de origen del viaje. Se compone de los siguientes parámetros:latitude: Latitud de dirección de origen.longitude: Longitud de dirección de origen.addressLine1: Calle y número de dirección de origen.addressLine2: Información adicional de la dirección. (Dpto 102, Casa A, etc...) OpcionalplacePhone: Teléfono para llamar en el punto de origen. Incluir el + y el código de país.placeName: Nombre del punto de origen. Generalmente es el nombre de quien entrega el paquete.
destinationAddress: Objeto que contiene la información del punto de reparto. Se compone de los siguientes parámetros:latitude: Latitud de dirección de reparto.longitude: Longitud de dirección de reparto.addressLine1: Calle y número de dirección de reparto.addressLine2: Información adicional de la dirección. (Dpto 102, Casa A, etc...) OpcionalplacePhone: Teléfono para llamar en el punto de entrega. Incluir el + y el código de país.placeName: Nombre del punto de entrega. Generalmente es el nombre de quien recibe el paquete.
maxDistance: Se obtienen resultados de direcciones utilizando el addressLine1. Los resultados obtenidos se ordenan por distancia al punto correspondiente [latitude,longitude] y se retorna el más cercano. Si la distancia de todos los resultados es superior a maxDistance (o 300 metros si el parámetro no se especifica), se descartan todos y se busca la ubicación más cercana al punto correspondiente. Si se hacen dos llamadas con el mismo addressLine1, latitude y longitude, la ubicación del punto será la misma, aunque tengan diferencias en maxDistance. Si se necesita forzar un cambio, sugerimos hacer un cambio menor de la latitud o longitud para forzar el recálculo. Opcional, Si no se especifica, se usarán 300 metros como distancia máximaisRoundTrip: El repartidor debe cobrar / el viaje debe ser ida y vuelta. Opcional (defectofalse)requiredVehicleType: Definir el tipo de vehículo necesario para el delivery especial. Definir el tipo de vehículo puede afectar los tiempos de despacho. Esta opción está disponible por marca. Los valores posibles sonwalk,bike,ebike,moto,car. OpcionalexpectedDate: Fecha de retiro en el primer punto. Opcional. Formato ISO_8601. Si es para lo antes posible, enviar el campo vacíocontents: El contenido de la entrega. Sirve para que los repartidores no se confundan con el contenido del paquete y realicen la entrega correctamente. Es un arreglo con cada producto:name: Nombre del productoquantity: Cantidad del productodescription: Alguna descripción del producto. Puede ser el contenido o los modificadoresunitPrice: Precio del producto por unidad
avoidDuplication: Cuando este flag se encuentra activo se utilizará el parámetro externalId como un identificador de idempotencia en los sistemas de Justo. Esto significa que se podrá generar un y sólo un delivery con el mismoexternalId. Si este flag se encuentra activo y se intenta generar un nuevo delivery con un externalId que ya había sido utilizado previamente, se retornará la información del delivery anteriormente generado y no creará uno nuevo. Opcional (defectofalse)
- Respuesta:
Delivery: El delivery Delivery
Ejemplo
Llamada
POST /api/v1/createExternalDelivery
Content-Type: application/json
{
"originAddress" : {
"latitude": "-33.403961",
"longitude": "-70.573359",
"addressLine1": "Rosario Norte 660",
"addressLine2": "Oficina 192",
"placePhone" : "+56912345678",
"placeName": "Juan Perez"
},
"destinationAddress" : {
"latitude": "-33.412449",
"longitude": "-70.574669",
"addressLine1": "Neveria 5092",
"addressLine2": "Dpto 144",
"placePhone": "+56987654321",
"placeName": "Javier Diaz"
},
"storeId": "Li4eEa3W2hiuGGCFa",
"externalId": "P13G3",
"tipAmount": 998,
"expectedDate": "2023-07-24T22:15:26Z",
"contents": [
{
"quantity": 1,
"name": "Pizza",
"description": "Extras: Bebida 1.5lt",
"unitPrice": 4000
}
]
}
Respuesta
{
"status": "ok",
"data": {
<Delivery>
}
}