Webhook de faltantes sin candidatos

Notificación de los pedidos que terminan el picking con ítems faltantes y sin ningún sustituto candidato asignado.

Cuando un ítem queda como faltante y existe al menos un sustituto candidato, Janis puede consultar al cliente final si acepta el reemplazo. Pero si el ítem falta y no tiene ningún candidato de sustitución, el cliente no recibe ningún aviso y se entera recién al recibir el pedido. Este webhook notifica esos faltantes a un sistema externo (por ejemplo, el integrador que gestiona la comunicación por WhatsApp), para avisarle al cliente con anticipación y reducir los reclamos post-entrega.

📘

Antes de empezar

  • Se necesita un endpoint propio que reciba las notificaciones. Ver Webhooks: Buenas prácticas.
  • El sistema que recibe el evento es el responsable de comunicarse con el cliente final: Janis notifica el faltante, no envía el mensaje al cliente.

Cuándo se envía la notificación

Janis emite el evento missing-items-final del servicio oms cuando un pedido finaliza su proceso de picking con uno o más ítems marcados como faltantes y sin ningún candidato de sustitución asignado.

  • Los ítems que entran al flujo de confirmación de sustitutos candidatos o de candidatos pendientes no se informan en este evento.
  • Un mismo pedido puede tener al mismo tiempo ítems pendientes de confirmación de candidatos e ítems sin candidato. En ese caso, el evento informa únicamente los ítems sin candidato y el flujo de confirmación de sustitutos sigue su curso normal, sin duplicaciones.

Configuración de la suscripción

La notificación solo se envía si existe una suscripción activa con el evento correspondiente. Aunque el pedido tenga faltantes sin candidatos, sin suscripción no se notifica nada.

  1. Ingresar a Webhooks y crear una suscripción nueva.
  2. Completar el Nombre, la URL del endpoint y, si el endpoint lo requiere, los headers de autenticación.
  3. En el campo de eventos, seleccionar el evento de OMS de pedidos missing-items-final.
  4. Opcional: configurar un Filtro para recibir solo algunos pedidos (por ejemplo, filtrando por sellerSalesChannelReferenceId).
  5. Guardar la suscripción.

Como el resto de los eventos de Janis, ante respuestas no exitosas del endpoint se realizan hasta 7 reintentos. Para el detalle general de suscripciones, filtros y reintentos, ver Suscripción de Webhook para notificar Eventos.

Estructura de la notificación

Además de los datos generales del pedido (id, commerceId, commerceSequentialId, orderGroupId, orderGroupCommerceId, canal de venta y carrierRefId), el evento incluye en metadata la siguiente información:

CampoDescripción
warehouseIdID del warehouse desde el que se despacha el pedido.
eventDateFecha y hora en que se generó el evento, en UTC.
missingItemsLista de los ítems faltantes sin candidato de sustitución.

Cada ítem de missingItems trae los datos necesarios para informar al cliente sin tener que consultar el pedido:

CampoDescripción
refIdReference ID del SKU.
nameNombre del producto.
purchasedQuantityCantidad comprada por el cliente.
missingQuantityCantidad faltante (no pickeada y sin candidato de sustitución).
purchasedPricePrecio unitario del ítem al momento de la compra.
pickingPointIdID del warehouse donde el ítem se marcó como faltante.
🚧

warehouseId y pickingPointId pueden ser distintos

Un pedido puede pickearse en más de un warehouse. Por eso warehouseId indica el warehouse de despacho del pedido, mientras que cada ítem informa en pickingPointId el warehouse donde se marcó como faltante. Para saber dónde ocurrió cada faltante, tomar como referencia pickingPointId.

Ejemplo

{
  "service": "oms",
  "entity": "order",
  "eventName": "missing-items-final",
  "metadata": {
    "id": "<YOUR_ORDER_ID>",
    "commerceId": "<YOUR_COMMERCE_ID>",
    "commerceSequentialId": "<YOUR_COMMERCE_SEQUENTIAL_ID>",
    "orderGroupId": "<YOUR_ORDER_GROUP_ID>",
    "orderGroupCommerceId": "<YOUR_ORDER_GROUP_COMMERCE_ID>",
    "sellerSalesChannelId": "<YOUR_SALES_CHANNEL_ID>",
    "sellerSalesChannelReferenceId": "<YOUR_SALES_CHANNEL_REFERENCE_ID>",
    "sellerSalesChannelName": "<YOUR_SALES_CHANNEL_NAME>",
    "carrierRefId": "<YOUR_CARRIER_REF_ID>",
    "warehouseId": "<YOUR_WAREHOUSE_ID>",
    "eventDate": "2026-07-28T15:30:00.000Z",
    "missingItems": [
      {
        "refId": "<YOUR_SKU_REFERENCE_ID>",
        "name": "Leche entera 1 L",
        "purchasedQuantity": 3,
        "missingQuantity": 2,
        "purchasedPrice": 100.5,
        "pickingPointId": "<YOUR_PICKING_WAREHOUSE_ID>"
      }
    ]
  }
}

Para la especificación técnica completa del evento, ver la documentación de webhooks de OMS.


Did this page help you?