Justo

Justo

  • Docs

›Última milla

General

  • Introducción
  • Crear una llave
  • Estructura
  • Ejemplos

Métodos

  • Información la marca
  • Listar locales
  • Editar el local
  • Listar pedidos pendientes
  • Listar pedidos
  • Rechazar un pedido
  • Aceptar un pedido
  • Activar delivery
  • Obtener un pedido
  • Cupones
  • Editar un pedido
  • Cambiar el estado de un pedido
  • Calcular costo delivery especial
  • Obtener el listado
  • Editar el listado
  • Editar el listado V2
  • Editar menús
  • Obtener un cliente
  • Listar clientes
  • Agregar puntos a cliente
  • Definir código de verificación

Métodos de stock

  • Agotar un producto o modificador
  • Eliminar productos agotados
  • Obtener ítems agotados
  • Definir stock de productos
  • Actualizar stock de productos con respuesta por webhook

Última milla

  • Crear solicitud de despacho
  • Consultar información de despacho
  • Cancelar despacho
  • Crear solicitud de despacho externo

Webhooks

  • Introducción
  • Nuevo pedido
  • Cambio de estado de un pedido
  • Modificación de un pedido
  • Cambio de estado de un despacho
  • Actualización de estado de procesos

Datos

  • Order
  • OrderItem
  • Store
  • Delivery
  • EstimateDelivery
  • Client
  • Address
  • Menu
  • Transaction
  • LoyaltyTransaction
  • Devolution
  • InStoreCouponCode
  • Schedule
  • PaginatedResult
  • OutOfStockItem
  • Billing

Crear solicitud de despacho

Crear una solicitud de reparto especial

Crea una solicitud de despacho

  • Método: createDelivery
  • Parámetros:
    • storeId: ID del local
    • instructions: Instrucciones de entrega. Opcional
    • externalId: Un código para identificar este pedido en el punto de retiro. Si avoidDuplication es true, este campo se utilizará este valor como identificador de idempotencia de un pedido. Opcional, solo obligatorio si avoidDuplication es true
    • tipAmount: Monto de propina. Opcional
    • placeId: ID de GoogleMaps del lugar de reparto. Opcional por latitude, longitude y addressLine1
    • latitude: Latitud de dirección de reparto. Opcional, solo necesario si no se especifica placeId
    • longitude: Longitud de dirección de reparto. Opcional, solo necesario si no se especifica placeId
    • preferCoordinates: 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: false
    • maxDistance: 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áxima
    • addressLine1: Calle y número de dirección de reparto. Opcional, solo necesario si no se especifica placeId
    • addressLine2: Información adición de la dirección. (Dpto 102, Casa A, etc...) Opcional
    • placeName: Nombre del punto de entrega. Generalmente es el nombre del cliente
    • placePhone: Teléfono para llamar en el punto de entrega. Incluír el + y el código de país
    • isToStore: El reparto comienza en el lugar de reparto en dirección a el local. Opcional (defecto false)
    • isRoundTrip: El repartidor debe cobrar / el viaje debe ser ida y vuelta. Opcional (defecto false)
    • 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 son walk, bike, ebike, moto, car. Opcional
    • expectedDate: Fecha de retiro en el primer punto. Opcional. Formato ISO_8601. Si es para lo antes posible no enviar nada en este campo
    • contents: 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 producto
      • quantity: Cantidad del producto
      • description: Alguna descripción del producto. Puede ser el contenido o los modificadores
      • unitPrice: 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 mismo externalId. 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 (defecto false)
  • 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>
  }
}
← Actualizar stock de productos con respuesta por webhookConsultar información de despacho →
  • Crear una solicitud de reparto especial
    • Nota al margen
    • Ejemplo con placeId
    • Ejemplo sin placeId