QUICKSTART
API Quick Start
Authentication
SignString
OAuth
Overview
Getting Started
Scope List
Rate Limit
Body Envelope
Request Errors
CHANGELOG
Changelog
REFERENCE
API Overview
v3
Rates
Get rates
get
Calculate rates
post
Get a rate
get
Labels
Get labels
get
Create a label
post
Get a label
get
Manifests
Get manifests
get
Create a manifest
post
Get a manifest
get
Couriers
Get all couriers
get
Cancel Labels
Get the cancelled labels
get
Cancel a label
post
Get a cancelled label
get
Pickups
Get pickups
get
Create a pickup
post
Get a pickup
get
Cancel Pickups
Get the cancelled pickups
get
Cancel a pickup
post
Get a cancelled pickup
get
Shipper Accounts
Get shipper accounts
get
Create a shipper account
post
Get a shipper account
get
Delete a shipper account
delete
Update a shipper account's information
put
Update a shipper account's credentials
patch
Update a shipper account's settings
patch
Specific Shipper Accounts
Create a FedEx shipper account
post
Update a FedEx shipper account
post
Address Validations (Beta)
Create an address validation
post
Locations
Get locations
get
MODEL
Envelope
Meta
v3
Error
v3
Primitive
Billing
v3
Customs
v3
Shipment
v3
Address
v3
Parcel
v3
Item
v3
Courier
v3
Reference
v3
Money
v3
PaymentMethodAccount
v3
Dimension
v3
Weight
v3
Volume
v3
Aes
v3
NoEei
v3
Resource
Rate
v3
RateRecord
v3
Label
v3
Manifest
v3
ShipperAccount
v3
CancelLabel
v3
AddressValidation (Beta)
v3
Location
v3
Pickup
v3
CancelPickup
v3
Carrier Guide
Supported Carriers
ENUM
Shipper Accounts Credentials
Service Types and Service Options List
All Service Options
Webhook
Webhook Overview
Webhook Specifications
Webhook Signature
Webhook Outgoing IPs
SDK
Java SDK
Node.js SDK
Open Source
phone
email-verifier
Support
Contact Support

Webhook Overview

AfterShip Shipping can send a webhook to notify your system when a particular event has happened. Learn to set up webhooks.


You can enable the webhook from the webhooks settings, and click Add Webhooks URL button.

We currently support either HTTP or HTTPS URLs. So you can have security by using an SSL-enabled URL. But keep in mind that your endpoint is going to be wide-open on the Internet, and you might not want others to be able to submit random data to your systems. At this time, aside from trying to keep the URL private, our best advice is to simply include a secret key in the URL that you provide and check the secret GET parameter in your scripts.

AfterShip Shipping sends event-driven data to webhook URL via POST method. In case of an unsuccessful event (HTTP response code NOT between 200 and 299), AfterShip Shipping will make 14 attempts to deliver your webhook with exponential backoff.

The current attempt webhook delay is calculated by this formula: 2^(number of retry) x 30s

# of attempt# of retryDelay (sec) before send outAcc. Delay (sec)
1000
213030
326090
43120210
54240450
65480930
769601890
8719203810
9838407650
109768015330
11101536030690
12113072061410
131261440122850
1413122880245730

For example, If the attempt fails, AfterShip Shipping will retry the 2nd attempt 30s later.

If the 7th attempts fail, AfterShip Shipping retry the 8th attempt 960s later

If the 14th attempts fail, AfterShip Shipping will not send out that webhook.