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 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 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
    • originAddress : 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...) Opcional
      • placePhone : 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...) Opcional
      • placePhone : 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áxima
    • isRoundTrip: El repartidor debe cobrar / el viaje debe ser ida y vuelta. Opcional (defecto false)
    • 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 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, enviar el campo vacío
    • 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

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>
  }
}
← Cancelar despachoIntroducción →
  • Descripción
    • Ejemplo