Webhooks de ShipStation

Cómo crear, administrar y usar webhooks que se publicarán en un punto final cuando se produzcan ciertos eventos en ShipStation.

Si utilizas la API REST de ShipStation para comunicar información de pedidos, o si utilizas un sistema de terceros que quiere extraer datos de ShipStation, puede resultarte beneficioso configurar webhooks. Después de configurar webhooks, ShipStation puede enviar alertas cuando ocurren ciertos eventos en tu cuenta. Estas alertas ayudarán a guiar el sistema a un punto final que se puede usar para recopilar datos de la cuenta de ShipStation.

Conceptos básicos de Webhooks

Los Webhooks son un proceso API que permite a ShipStation enviar actualizaciones en directo a una URL de destino punto final cuando se producen determinadas acciones dentro de tu cuenta de ShipStation. Cuando se activa, ShipStation realizará una llamada API POST para entregar una carga útil de datos a la URL de destino que incluirá un resource_url de seguimiento que se puede usar para recopilar información específica relacionada con los pedidos o envíos. Un webhook publicará la carga útil en la URL de destino unos minutos después de la acción que la activó.

Puedes crear los siguientes webhooks en ShipStation:

  • En pedidos nuevos (ORDER_NOTIFY)

  • En nuevos artículos (ITEM_ORDER_NOTIFY)

  • En los pedidos enviados a (SHIP_NOTIFY)

  • En artículos enviados (ITEM_SHIP_NOTIFY)

  • En artículos enviados por el proveedor de logística (FULFILLMENT_SHIPPED)

  • En artículos rechazados por el proveedor de logística (FULFILLMENT_REJECTED)

Los tipos de webhook En pedidos nuevos y En nuevos artículos se relacionan con los datos del pedido. Estos webhooks se activan cada vez que se crea un nuevo pedido en ShipStation en cualquier estado que no sea En espera de pago, o cuando un pedido en En espera de pago se actualiza a cualquier estado que no sea Cancelado.

  • Se creará una carga útil de webhook para cada acción de importación que cree al menos un nuevo pedido pagado.

  • Todos los pedidos creados al mismo tiempo se incluirán en una sola carga útil del webhook.

Los tipos de webhook En pedidos enviados y En artículo enviado se relacionan con los datos de envío. Estos webhooks se activan cuando se genera una nueva etiqueta de envío saliente para un pedido. Los webhooks no se activarán para envíos de devolución o para logísticas creados a través de un socio de logística como FBA o mediante la acción Marcar como enviado.

  • Si creas envíos individualmente, cada envío activará su propio webhook.

  • Si creas envíos en un lote, cada lote activará un solo webhook.

Los tipos de webhook En artículos enviados por el proveedor de logística y En artículos rechazados por el proveedor de logística se relacionan con los datos de logística. Estos webhooks se activan cuando un pedido delegado pasa del estado Pendiente de logística al estado Enviado y cuando un proveedor de logística rechaza un pedido que le ha delegado un proveedor, respectivamente.

Además, En artículos enviados por el proveedor de logística se activará cuando utilices la acción Marcar como enviado.

Crear webhooks

Puedes crear nuevos webhooks en tu cuenta de ShipStation de dos maneras diferentes:

  • Llamadas a la API

  • Configuración de la cuenta de ShipStation

Esta sección explica cómo crear webhooks a través de la página Configuración de ShipStation. Para obtener información sobre el uso de las llamadas a la API, consulta nuestra documentación detallada sobre la API para obtener más detalles sobre cómo registrar webhooks, suscribirte a un webhook y darte de baja de webhooks.

Para crear un webhook dentro de ShipStation:

  1. Selecciona webhooks en el conjunto de opciones.

    Ícono de socios de integración con webhooks resaltado

    Opción de webhook gris

    Si aún no has creado ningún webhook, la opción estará en gris.

  2. Haz clic en Agregar un webhook.

    Menú Integración de Webhooks con el botón Agregar un webhook resaltado.
  3. Establece el Nombre (máximo 100 caracteres), Tipo, si el webhook se aplica a todas las tiendas o a una tienda específica, y la URL de destino (máximo 200 caracteres).

    Formulario de webhook de socios de integración
  4. Haz clic en Guardar para crear el webhook después de haber ingresado los detalles.

Eliminar Webhooks

Puedes eliminar webhooks existentes en tu cuenta de ShipStation de dos maneras:

  • Llamadas a la API

  • Configuración de la cuenta de ShipStation

Esta sección explica cómo eliminar webhooks a través de la página Configuración de ShipStation. Para obtener información sobre el uso de llamadas a la API, consulta nuestra documentación detallada acerca de la API para obtener más detalles sobre la eliminación de webhooks.

Para eliminar un webhook dentro de ShipStation:

  1. Selecciona webhooks en el conjunto de opciones.

    Ícono de socios de integración con webhooks resaltado
  2. Haz clic en Eliminar junto al webhook que ya no necesitas.

    Menú Webhooks con el botón Eliminar resaltado.
  3. Haz clic en Sí, eliminar para confirmar la acción.

    Ventana emergente de confirmación de eliminación de Webhooks con el botón Sí, eliminar resaltado

Modificar webhooks

Independientemente de cómo se creó el webhook, solo puedes modificar un webhook existente a través de la configuración de tu cuenta de ShipStation.

Para modificar un webhook existente:

  1. Selecciona webhooks en el conjunto de opciones.

    Ícono de socios de integración con webhooks resaltado
  2. Haz clic en Editar junto al webhook que deseas modificar.

    Menú Webhooks con el botón Editar resaltado.
  3. Actualiza el Nombre (máximo de 100 caracteres), el Tipo, si el webhook se aplica a todas las tiendas o a una tienda específica, y la URL de destino (máximo de 200 caracteres) según sea necesario.

  4. Haz clic en Guardar para actualizar el webhook.

Uso de cargas útiles de webhook

Cuando se activa un webhook, ShipStation realiza una llamada API POST a la URL de destino.

Esta llamada incluye una carga útil relacionada con la acción y los datos recién creados:

  • resource_url: el punto final que deberá contactarse para recopilar datos relacionados con la acción que activó el webhook. El resource_url contiene varios parámetros de URL:

    • storeId: identificador interno de ShipStation para la tienda. storeId no se incluirá si el webhook afecta a todas las tiendas.

    • importBatch o batchId: identificadores internos de ShipStation para la acción Importar (para webhooks de PEDIDO) o la acción Creación de etiquetas (para webhooks de ENVÍO).

    • includeOrderItems o includeShipmentItems: controla si los artículos se incluyen en la respuesta al ponerse en contacto con el resource_url. Si utilizas un webhook de ARTÍCULO, se establecerá como Verdadero.

  • resource_type: el tipo de webhook que activó la carga útil.

Para usar la carga útil del webhook, debes hacer una llamada API GET a la API REST de ShipStation que usa resource_url como punto final. Al realizar esta llamada a la API, debes incluir un encabezado de autenticación, al igual que otras llamadas a la API realizadas a ShipStation. Consulta nuestra documentación detallada sobre la API para obtener más detalles sobre la autenticación de la API .

Al ponerse en contacto con resource_url, la respuesta seguirá la misma estructura que la llamada Lista de pedidos (para webhooks de PEDIDO) o Lista de envíos (para los webhooks de ENVÍO).

Estos son algunos ejemplos de cargas de webhook:

En pedidos nuevos (ORDER_NOTIFY)

{"resource_url":"https://ssapiX.shipstation.com/orders?storeID=123456&importBatch=1ab23c4d-12ab-1abc-a1bc-a12b12cdabcd","resource_type":"ORDER_NOTIFY"}

En nuevos artículos (ITEM_ORDER_NOTIFY)

{"resource_url":"https://ssapiX.shipstation.com/orders?storeID=123456&importBatch=1ab23c4d-12ab-1abc-a1bc-a12b12cdabcd&includeOrderItems=True","resource_type":"ITEM_ORDER_NOTIFY"}

En los pedidos enviados a (SHIP_NOTIFY)

{"resource_url":"https://ssapiX.shipstation.com/shipments?storeID=123456&batchId=12345678","resource_type":"SHIP_NOTIFY"}

En artículos enviados (ITEM_SHIP_NOTIFY)

{"resource_url":"https://ssapiX.shipstation.com/shipments?storeID=123456&batchId=12345678&includeShipmentItems=True","resource_type":"ITEM_SHIP_NOTIFY"}