Crear solicitud de despacho
Crear una solicitud de reparto especial
Crea una solicitud de despacho
- Método:
createDelivery - 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. OpcionalplaceId: ID de GoogleMaps del lugar de reparto. Opcional por latitude, longitude y addressLine1latitude: Latitud de dirección de reparto. Opcional, solo necesario si no se especifica placeIdlongitude: Longitud de dirección de reparto. Opcional, solo necesario si no se especifica placeIdpreferCoordinates: When this flag is active, instead of using addressLine1 first and coordinates as a backup, we'll only use the coordinates, and with them we'll get the nearest placeId (it can be 10 to 15 meters away. More extreme cases can arise in more rural areas or in countries with less places density). If the maxDistance argument is specified and different of 300 meters, it's used, otherwise we'll use a max distance of 5000 meters. Default value: falsemaxDistance: Cuando no se usa un placeId, tenemos que buscar una ubicación para el despacho. Se intenta utilizando el addressLine1 y los resultados que se obtienen se ordenan por distancia al punto [latitude,longitude] y se retorna el más cercano. Si la distancia de todos los resultados es superior a maxDistance (ó 300mt si el parámetro no se especifica), se descartan todos y se busca la ubicación más cercana al punto. Si se hacen dos llamadas con el mismo addressLine1, latitude y longitude, la ubicación del despacho 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 recalculo. Opcional, solo necesario si no se especifica placeId. Si no se especifica, se usarán 300mt como distancia máximaaddressLine1: Calle y número de dirección de reparto. Opcional, solo necesario si no se especifica placeIdaddressLine2: Información adición de la dirección. (Dpto 102, Casa A, etc...) OpcionalplaceName: Nombre del punto de entrega. Generalmente es el nombre del clienteplacePhone: Teléfono para llamar en el punto de entrega. Incluír el + y el código de paísisToStore: El reparto comienza en el lugar de reparto en dirección a el local. Opcional (defectofalse)isRoundTrip: El repartidor debe cobrar / el viaje debe ser ida y vuelta. Opcional (defectofalse)requiredVehicleType: Definir el tipo de vehículo necesario para delivery special. El 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 no enviar nada en este campocontents: 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
Nota al margen
Los pedidos especiales no están limitados en los horarios de venta que establezca la marca, siendo de exclusiva responsabilidad del solicitante el verificar si pueden despachar el producto en cuestión.
Ejemplo con placeId
Llamada
POST /api/v1/createDelivery
Content-Type: application/json
{
"placeId": "Ch43134gggXP5g5g5RPWmn-5gg35",
"addressLine2": "Dpto 144",
"storeId": "Li4eEa3W2hiuGGCFa",
"isToStore": false,
"isRoundTrip": false,
"externalId": "P13G3",
"tipAmount": 1000,
"placeName": "Javier Perez",
"placePhone": "+56956385416",
"expectedDate": "2020-04-17T22:15:26Z",
"contents": [
{
"quantity": 1,
"name": "Pizza",
"description": "Extras: Bebida 1.5lt",
"unitPrice": 1000
}
]
}
Respuesta
{
"status": "ok",
"data": {
<Delivery>
}
}
Ejemplo sin placeId
Llamada
POST /api/v1/createDelivery
Content-Type: application/json
{
"latitude": "-33.4421928",
"longitude": "-70.665261",
"addressLine1": "Concha y Toro 33",
"addressLine2": "Dpto 144",
"storeId": "Li4eEa3W2hiuGGCFa",
"isToStore": false,
"isRoundTrip": false,
"externalId": "P13G3",
"tipAmount": 1000,
"placeName": "Javier Perez",
"placePhone": "+56956385416",
"expectedDate": "2020-04-17T22:15:26Z",
"contents": [
{
"quantity": 1,
"name": "Pizza",
"description": "Extras: Bebida 1.5lt",
"unitPrice": 1000
}
]
}
Respuesta
{
"status": "ok",
"data": {
<Delivery>
}
}