Justo

Justo

  • Docs

›Webhooks

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

Introducción

Puedes crear Webhooks para le avisemos a tu servidor cuando pase algo, por ejemplo, un nuevo pedido.

En la pestaña Webhooks de la sección API de tu panel de administración puedes crear un Webhook.

Los datos enviados se enviarán en una llamada POST en un JSON payload con formato:

{
  "data": {
    "order": {
      ...
    }
  },
  "date": "2020-01-06T15:36:50.145Z",
  "type": "newOrder"
}

Seguridad

Al crear un Webhook debes entrar un clave, que le llamamos secreto. Todas las llamadas que hagamos a tu url van a ser firmadas con esta clave. Así puedes verificar que son datos reales enviados por Justo. La firma es un hash sha-1 del body (en antes de convertir el JSON a objeto) y viene en el header X-Orion-Signature

Para verificar la firma debes hacer lo siguiente:

import JSSHA from 'jssha'

const mySecret = '12345'

// para comprobar que la firma es correcta debemos generarla de nuevo y ver si coincide con la entregada en el request
const checkSignature = (body, passedSignature) => {
  const shaObj = new JSSHA('SHA-1', 'TEXT')
  // usamos la clave que le ingresamos al webhook
  shaObj.setHMACKey(mySecret, 'TEXT')
  // generamos el hash del body
  shaObj.update(body)
  const signature = shaObj.getHMAC('HEX')

  // si son iguales significa que esta verificado
  return passedSignature === calculatedSignature
}

checkSignature(request.body, headers['x-orion-signature'])

No es necesario realizar una verificación de firma, pero es muy recomendado

← Crear solicitud de despacho externoNuevo pedido →
  • Seguridad