ReachShip Multi-Carrier Shipping API is a flexible, modern, and easy-to-use API that aggregates various shipping APIs into one. Multi-Carrier shipping functionality and support are provided by shipping APIs that interface with multiple carriers regionally and internationally.
Rather than integrating with each carrier individually, ReachShip Shipping API simply needs to integrate with your eCommerce Store to gain access to the whole carrier-related functionalities like getting shipping rates, generating & printing shipping labels, scheduling a pickup, shipment tracking, etc.
Integrating the API is a breeze considering the excellent developer support we provide.
Get OAuth token to be used with every API transaction.The token expires every 30 days and has to be regenerated using this endpoint.
grant_type | string Value: "client_credentials" |
client_id | string = 34 characters Example: client_id=Client_ID Specifies the Client ID generated in the ReachShip dashboard. |
client_secret | string = 32 characters Example: client_secret=Client_Secret Specifies the Client Secret generated in the ReachShip dashboard. |
grant_type=client_credentials&client_id=Client_ID&client_secret=Client_secret
{- "access_token": "reachship access token",
- "token_type": "bearer"
}
Request pre-ship rating information to determine costs.
Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
object | |
required | object The shipment object. |
{- "shipment": {
- "ship_to": {
- "city_locality": "Cupertino",
- "state_province": "CA",
- "postal_code": "95014",
- "country_code": "US"
}, - "ship_from": {
- "city_locality": "Austin",
- "state_province": "TX",
- "postal_code": "78756",
- "country_code": "US"
}, - "packages": [
- {
- "weight": {
- "value": 1,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "IN"
}, - "width": {
- "value": 1,
- "unit": "IN"
}, - "height": {
- "value": 1,
- "unit": "IN"
}
}
]
}
}
[- {
- "companyName": "FEDEX",
- "serviceName": "FedEx First Overnight®",
- "estimatedDelivery": "NA",
- "totalBaseCharge": 137.92,
- "totalChargeWithTaxes": 164.81,
- "currency": "USD",
- "serviceCode": "FIRST_OVERNIGHT",
- "reachshipAccountIdentifier": "fedex account 1",
- "extraCharges": {
- "Fuel Surcharge": 26.89
}
}
]
Process and submit shipping requests to produce a shipping label.
Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
required | object The carrier object. |
object | |
object non-empty The shipment object. | |
Array of objects non-empty | |
object | |
object | |
object |
{- "carrier": {
- "name": "UPS",
- "service_code": "03",
- "account_name": "ups-account-01"
}, - "shipment": {
- "ship_to": {
- "name": "Bob",
- "phone": {
- "dial_code": "1",
- "raw_phone": "9999999999"
}, - "email": "bob@gmail.com",
- "address_line_1": "Perry-Castañeda Library",
- "address_line_2": "101 East 21st St.",
- "city_locality": "Austin",
- "state_province": "CA",
- "postal_code": "95014",
- "country_code": "US"
}, - "ship_from": {
- "name": "Alice",
- "phone": {
- "dial_code": "1",
- "raw_phone": "9999999999"
}, - "email": "alice@gmail.com",
- "address_line_1": "5501 N",
- "address_line_2": "Portland Ave",
- "city_locality": "Oklahoma City",
- "state_province": "OK",
- "postal_code": "73112",
- "country_code": "US"
}, - "ship_date": "2021-09-01",
- "packages": [
- {
- "description": "Hoodie",
- "country_of_manufacture": "US",
- "insurance": {
- "amount": 10,
- "currency": "USD"
}, - "weight": {
- "value": 1.2,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "CM"
}, - "width": {
- "value": 1,
- "unit": "CM"
}, - "height": {
- "value": 1,
- "unit": "CM"
}
}, - {
- "weight": {
- "value": 1.1,
- "unit": "KG"
}, - "length": {
- "value": 2,
- "unit": "CM"
}, - "width": {
- "value": 2,
- "unit": "CM"
}, - "height": {
- "value": 2,
- "unit": "CM"
}
}
]
}
}
Process and submit requests to create manifest.
Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
object The carrier object. | |
required | object |
{- "carrier": {
- "name": "AUSPOST_STARTRACK",
- "account_name": "Test Account Name"
}, - "manifest_options": {
- "auspost_startrack": {
- "order_ids": [
- "ABC1234567"
]
}
}
}
Delete Shipments
Authorization required | string Example: Bearer access_token |
carrier_name required | string Enum: "AUSPOST_MYPOST" "FEDEX" "UPS" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
shipment_ids | Array of strings non-empty |
tracking_ids | Array of strings non-empty |
order_ids | Array of strings non-empty Sendle Order IDs. |
account_name | string Specify the carrier account to be considered while deleting the shipment. By default, the primary carrier account will be considered for deleting shipments. |
{- "carrier_name": "AUSPOST_MYPOST",
- "shipment_ids": [
- "shipment_id_1",
- "shipment_id_2"
]
}
Schedule Pickup
Authorization required | string Example: Bearer access_token |
object | |
object | |
object | |
object | |
Array of objects | |
tracking_ids | Array of strings non-empty unique [ items non-empty ] |
destination_country_code | string Destination country code. This is a required parameter for UPS. Click here to view the available country codes. |
object | |
object |
{- "carrier": {
- "name": "UPS",
- "service_code": "03"
}, - "shipper": {
- "name": "Bob",
- "email": "bob@gmail.com",
- "phone": {
- "raw_phone": "9090909090",
- "dial_code": "1"
}, - "address_line_1": "5501 N",
- "address_line_2": "Portland Ave",
- "city_locality": "Oklahoma City",
- "state_province": "OK",
- "postal_code": "73112",
- "country_code": "US"
}, - "packages": [
- {
- "weight": {
- "value": 1,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "IN"
}, - "width": {
- "value": 1,
- "unit": "IN"
}, - "height": {
- "value": 1,
- "unit": "IN"
}
}
], - "pickup_window": {
- "date": "2021-08-31",
- "ready_time": "09:00",
- "close_time": "19:00"
}, - "tracking_ids": [
- "1001100100"
]
}
Cancel Pickup
Authorization required | string Example: Bearer access_token |
carrier_name required | string Enum: "DHL_EXPRESS" "UPS" "USPS'" |
account_name | string |
object | |
object | |
object |
{- "carrier_name": "DHL_EXPRESS",
- "dhl_express": {
- "requestor_name": "Alice",
- "origin_service_area": "MAD",
- "country_code": "ES",
- "region_code": "EU",
- "pickup_confirmation_number": "ABC100000000000",
- "pickup_date": "2023-11-02",
- "cancel_time": "09:55"
}
}
Track Shipment
Authorization required | string Example: Bearer access_token |
carrier_name required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
tracking_number required | string |
account_name | string Specify the carrier account to be considered while tracking shipment. By default, the primary carrier account will be considered for tracking shipment. |
{- "carrier_name": "UPS",
- "tracking_number": "10xxxxxxxx"
}
{- "carrier_name": "UPS",
- "tracking_number": "10xxxxxxxx",
- "current_status": "IN_TRANSIT",
- "events": [
- {
- "status": "IN_TRANSIT",
- "description": "Shipment is at UPS Freight location",
- "location": "UPS Access Point, US",
- "status_timestamp": "NA"
}, - {
- "status": "IN_TRANSIT",
- "description": "Package shipped",
- "location": "California, US",
- "status_timestamp": "NA"
}, - {
- "status": "SHIPMENT_CREATED",
- "description": "Billing information received",
- "status_timestamp": "NA"
}
]
}
Save carrier credentials
Authorization required | string Example: Bearer access_token |
carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
account_name required | string >= 2 characters |
object | |
object | |
object | |
object | |
object | |
object | |
object |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account",
- "dhl_express_credentials": {
- "account_number": "YOUR_DHL_ACCOUNT_NUMBER",
- "site_id": "YOUR_DHL_SITE_ID",
- "site_password": "YOUR_DHL_SITE_PASSWORD",
- "is_primary": true
}
}
Update carrier credentials
Authorization required | string Example: Bearer access_token |
carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
account_name required | string >= 2 characters |
object | |
object | |
object | |
object | |
object | |
object | |
object |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account",
- "dhl_express_credentials": {
- "account_number": "YOUR_DHL_ACCOUNT_NUMBER",
- "site_id": "YOUR_DHL_SITE_ID",
- "site_password": "YOUR_DHL_SITE_PASSWORD",
- "is_primary": true
}
}
Delete Carrier Credentials.
Authorization required | string Example: Bearer access_token |
carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
account_name required | string >= 2 characters |
alternative_primary_account_name | string >= 2 characters When deleting a primary carrier account, specify an existing alternative account name to be assigned as primary. |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account"
}