Webhooks

En Zippin podrás crear webhooks desde la interfaz o via API. Ante determinados eventos, haremos un POST a la URL que nos indiques.

Actualmente, los tópicos a los que te puedes suscribir son:

  • status: Se dispara cuando hay un cambio de estado en un envío
  • shipment: Se dispara cuando hay cualquier modificación en un envío
  • account: Se dispara cuando hay una modificacion en los datos o preferencias de una cuenta
  • account_balance: Se dispara cuando hay un cambio en el saldo de la cuenta

Listado de webhooks suscriptos

GET /accounts/:account_id/webhooks
Parámetros de URL:
account_id int ID de la cuenta

Ejemplo:

GET https://api.zippin.com.ar/v2/accounts/7/webhooks

RESPONSE 200
{
    "data": [
        {
            "id": 4,
            "account_id": 7,
            "topic": "status",
            "url": "https://website.com/api/zippin/shipment/state/hook?client=13"
        }
    ],
    "links": {
        "first": "https://api.zippin.com.ar/v2/accounts/7/webhooks?page=1",
        "last": "https://api.zippin.com.ar/v2/accounts/7/webhooks?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "https://api.zippin.com.ar/v2/accounts/7/webhooks",
        "per_page": 20,
        "to": 1,
        "total": 1
    }
}


Suscribir a un webhook

POST /accounts/:account_id/webhooks
Parámetros de URL:
account_id int ID de la cuenta
Parámetros para el body:
topic string Código del tópico
url string URL del webhooks donde se hará el POST

Ejemplo:

POST https://api.zippin.com.ar/v2/accounts/7/webhooks

{
    "topic": "status",
    "url": "https://website.com/api/zippin/shipment/state/hook?client=13"
}

La creación exitosa devolverá el recurso creado con un status 201.


Actualizar un webhook suscripto

Puedes modificar la URL de una suscripción, pero no es posible modificar el topic.

PUT /accounts/:account_id/webhooks/:webhook_id
Parámetros de URL:
account_id int ID de la cuenta
webhook_id int ID del webhook
Parámetros para el body:
url string Nueva URL del webhook

Ejemplo:

PUT https://api.zippin.com.ar/v2/accounts/7/webhooks/65

{
    "url": "https://website.com/api/zippin/shipment/state/hook?client=15"
}

Desuscribir de un webhook

DELETE /accounts/:account_id/webhooks/:webhook_id
Parámetros de URL:
account_id int ID de la cuenta
webhook_id int ID del webhook

Ejemplo:

DELETE https://api.zippin.com.ar/v2/accounts/7/webhooks/10

La desuscripción exitosa devolverá una respuesta vacía con un status 204.