Skip to main content

Prerequisites

Before continuing, you should have already completed the following for this connector:
1

Configure the Connector

Enable the connector and set up its connector profile in your project. See Managing Connectors.

Connector Profile

Easyship - Access Token
2

Link an Account

Connect an account using StackOne Hub or Auth Link.

Link Account

Easyship - Access Token

Subscribe via the StackOne dashboard

This connector uses Programmatic Webhooks. When you enable webhook events for a connected Easyship account, StackOne automatically registers and activates a webhook subscription in Easyship via the API.

1

Select event subscriptions in the dashboard

In the StackOne dashboard, open the Easyship connector profile and enable the webhook events you want to receive. See the Available Webhook Events section below for the full list.

2

Connect the Easyship account

On account connection (or when event subscriptions change), StackOne registers the webhook in Easyship on your behalf using the connected account’s API access token. The webhook is created via POST /2024-09/webhooks and then activated via PATCH /2024-09/webhooks/{id}/activate. Each account receives its own dedicated webhook subscription.

3

Verify delivery

Trigger a matching change in Easyship (for example, create a test shipment and generate a label) and confirm the event reaches your downstream consumer.

  • Easyship signs each delivery with the X-EASYSHIP-SIGNATURE header — a JWT signed with HS256 using the webhook’s secret key.
  • StackOne responds with 200 OK automatically for all recognised events.
  • Easyship retries failed deliveries if the endpoint does not return a 2xx response.
4

Unsubscribe

Disconnecting the account or removing all event subscriptions deactivates the StackOne-managed webhook in Easyship, stopping all event deliveries.

Available Webhook Events

The following Easyship events can be enabled. Only events selected in StackOne are included in the subscription.

1

Shipment events

Events related to shipment lifecycle and label generation.

  • Shipment Label Created (shipment.label.created) — Fired when a shipping label is successfully generated
  • Shipment Label Failed (shipment.label.failed) — Fired when label creation fails
  • Shipment Tracking Checkpoint Created (shipment.tracking.checkpoints.created) — Fired when a new tracking checkpoint is recorded
  • Shipment Tracking Status Changed (shipment.tracking.status.changed) — Fired when the overall tracking status changes
  • Shipment Cancelled (shipment.cancelled) — Fired when a shipment is cancelled
  • Shipment Warehouse State Updated (shipment.warehouse_state.updated) — Fired when the warehouse state of a shipment changes
2

Batch events

Events related to batch shipment processing.

  • Batch Shipment Processed (First) (batch.shipment.processed.first) — Fired when the first shipment in a batch finishes processing
  • Batch Shipment Processed (Last) (batch.shipment.processed.last) — Fired when the final shipment in a batch finishes processing
  • Batch Shipment Processed (batch.shipment.processed) — Fired for each individual shipment as it is processed within a batch
3

Account and billing events

Events related to account state, credits, and couriers.

  • Credit Balance Low (credit.balance.low) — Fired when the account credit balance falls below the configured threshold
  • Company Created (company.created) — Fired when a new company is created (Enterprise accounts only)
  • Courier State Changed (courier.state.changed) — Fired when a courier’s activation state changes on the account
  • OAuth Application Access Revoked (oauth_application.access.revoked) — Fired when OAuth access for an application is revoked

Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.