Webhooks
En esta sección contiene la documentación sobre los Webhooks que brinda Ventiapp. Qué son, cuales hay disponibles, cómo crearlos y eliminarlos
Que es un Webhook ?
Los webhooks son una herramienta para recuperar y almacenar datos de un evento determinado. Te permiten registrar una URL https:// a la cual Ventiapp estaría llamando cuando el evento registrado se dispare. Estos son los eventos que contamos con webhook:
Evento | Topics |
Orders | orders/created, orders/updated, orders/cancelled, orders/billing, orders/returned, orders/shipment, orders/tracking |
Digital Orders | orders/redeemed |
Bills | bills/created |
Products | products/created, products/updated. products/deleted |
Invoice | invoice/created |
(*) Más eventos próximamente
Métodos de API
List Webhooks
GET
https://ventiapi.azurewebsites.net/api/webhooks/list
Listado de webhooks, nos retornará una lista con los webhooks activos en Ventiapp
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer + token |
Content-Type | string | application/json |
Create Webhook
POST
https://ventiapi.azurewebsites.net/api/webhooks/create
Creación de Webhook, aquí debemos enviar los siguientes datos para que se cree un webhook en Ventiapp. Es obligatorio que la url sea en https:// Este responderá con el ID del webhook, importante para poder eliminarlo.
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer + token |
Content-Type | string | application/json |
Body Parameters
Funcionamiento de Authorization (beta)
Actualmente el body de authorization tiene dos maneras distintas de operar, este campo se define en authType
oauth:
Esta funcionalidad generará un token contra el endpoint deseado, el token obtenido se utilizará para el posteo de todos los topics en el webhook definido
Headers: Contiene la información requerida para hacer login contra el endpoint OAuth que generará el token. Params: Contiene los parámetros que deben ir a nivel de URL en el endpoint definido. AddressLogin: URL del endpoint definido para generar tokens Body: Cuerpo de la llamada que se enviará como POST al endpoint definido TokenKey: Clave (nombre del objeto) donde se retornará el token OAUTH. Ej: "access_token" ExpiresKey: Clave (nombre del objeto) donde se retornará la duración de vida en segundos del token TokenType: Tipo de token y como se consumirá, ej: Bearer, Token, Basic.
Ejemplo
api-key:
Esta funcionalidad utilizará un set de API-KEYs definido en el nivel Headers, estos mismos se almacenarán y utilizarán para consumir al webhook definido
Headers: Contiene la información requerida para autenticarse contra el URL definido.
Ejemplo
Delete Webhook
POST
https://ventiapi.azurewebsites.net/api/webhooks/delete
Eliminación de Webhook, aquí debemos el ID del webhook a eliminar Bearer + token
Headers
Name | Type | Description |
---|---|---|
Content-Type | string | application/json |
Body Parameters
Que envía el webhook ?
El webhook notificará a la URL que fue asignada un objeto de acuerdo al evento que se haya elegido.
Orders:
Digital Orders:
Bills
Products:
Invoice:
Notas importantes
Variación de la información
La información que viaja por los webhooks es completamente dinánica, es decir, es posible que varios campos cambien de información, inclusive los carritos de compra. Esto depende de la información que nos informa cada canal de ventas.
Es MUY RECOMENDADO que se implementen los webhooks de actualización de ordenes ya que en estos la información puede que tenga mucha variación.
Ejemplos de cambios de información:
Cambios de información de Shipping
Cambios en el carrito (items)
Cambios en costos de envío
Cambios de estado de orden
Cambios de estado de shipping
Otro ejemplo muy importante, es cuando se generra la orden en primera instancia, es probable que no tenga guía de shipping ni información de shipping hasta unos varios minutos luego, en los cuales se disparará una actualización de orden.
Carrito de Mercado Libre
Mercado Libre hace separación de ordenes del mismo carrito en varias llamadas. Es por eso que viene el campo cartId para que se pueda adaptar una agrupación desde el lado del desarrollo.
Compras de Linio
Linio tiene 2 tipos de ID, uno que es el campo Id de la orden dentro de su canal, y otro que se llama Número de la orden. El que figura dentro de Linio Seller Center es el campo Número de la orden, en la API de Ventiapp este campo es externalNumber
Digital Orders
Este tipo de orden solamente aplica para productos digitales, en caso de que el usuario visite la URL que se le envía luego de utilizar el método AddDigitalRedeems se disparará el webhook de orders/redeemed
Orders/Returned
Este webhook actualmente se encuentra habilitado para Mercado Libre en caso de una devolución express. Cuando sucede este tipo de devolución ? Aquí podrás ver Devoluciones Express
Orders/Shipment
Este webhook actualmente se encuentra habilitado en caso de asignación de un envío, al popularse la información del envío este webhook se dispara por única vez. Las órdenes que contengan el estado buffered también se notificarán.
Orders/Tracking
Este webhook actualmente se encuentra habilitado en caso de que la información de tracking de una órden esté completa. En el caso de envíos que tengan información retrasada (ej. Mercado Libre con estado buffered) la notificación se disparará hasta que se complete dicha información. Es recomendable utilizar este webhook para saber en que momento la guía de envío se encuentra disponible para impresión
Invoice/Created
Este webhook se encuentra habilitado para los casos donde se genera un documento fiscal relacionado con la orden.
Última actualización