ReachShip Multi-Carrier Shipping API (1.0)

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.

API Authorization

Get OAuth token to be used with every API transaction.The token expires every 30 days and has to be regenerated using this endpoint.

query Parameters
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.

Request Body schema: application/x-www-form-urlencoded
Schema not provided

Responses

Request samples

Content type
application/x-www-form-urlencoded
grant_type=client_credentials&client_id=Client_ID&client_secret=Client_secret

Response samples

Content type
application/json
{
  • "access_token": "reachship access token",
  • "token_type": "bearer"
}

Rates And Transit Times

Request pre-ship rating information to determine costs.

header Parameters
Authorization
required
string
Example: Bearer access_token

This indicates the authorization token for the input request.

Request Body schema: application/json
object
required
object

The shipment object.

Responses

Request samples

Content type
application/json
{
  • "shipment": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Create Shipment

Process and submit shipping requests to produce a shipping label.

header Parameters
Authorization
required
string
Example: Bearer access_token

This indicates the authorization token for the input request.

Request Body schema: application/json
required
object

The carrier object.

object
object non-empty

The shipment object.

Array of objects non-empty
object
object
object

Responses

Request samples

Content type
application/json
Example
{
  • "carrier": {
    },
  • "shipment": {
    }
}

Create Manifest

Process and submit requests to create manifest.

header Parameters
Authorization
required
string
Example: Bearer access_token

This indicates the authorization token for the input request.

Request Body schema: application/json
object

The carrier object.

required
object

Responses

Request samples

Content type
application/json
{
  • "carrier": {
    },
  • "manifest_options": {
    }
}

Delete Shipments

Delete Shipments

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier_name
required
string
Enum: "AUSPOST_MYPOST" "FEDEX" "UPS" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE"
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.

Responses

Request samples

Content type
application/json
Example
{
  • "carrier_name": "AUSPOST_MYPOST",
  • "shipment_ids": [
    ]
}

Schedule Pickup

Schedule Pickup

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
Example
{
  • "carrier": {
    },
  • "shipper": {
    },
  • "packages": [
    ],
  • "pickup_window": {
    },
  • "tracking_ids": [
    ]
}

Cancel Pickup.

Cancel Pickup

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier_name
required
string
Enum: "DHL_EXPRESS" "UPS"
account_name
string
object
object

Responses

Request samples

Content type
application/json
{
  • "carrier_name": "DHL_EXPRESS",
  • "dhl_express": {
    }
}

Track Shipment

Track Shipment

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier_name
required
string
Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE"
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.

Responses

Request samples

Content type
application/json
{
  • "carrier_name": "UPS",
  • "tracking_number": "10xxxxxxxx"
}

Response samples

Content type
application/json
{
  • "carrier_name": "UPS",
  • "tracking_number": "10xxxxxxxx",
  • "current_status": "IN_TRANSIT",
  • "events": [
    ]
}

Save carrier credentials

Save carrier credentials

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier
required
string
Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE"
account_name
required
string >= 2 characters
object
object
object
object
object
object

Responses

Request samples

Content type
application/json
{
  • "carrier": "DHL_EXPRESS",
  • "account_name": "DHL Production Account",
  • "dhl_express_credentials": {
    }
}

Update Carrier Credentials.

Update carrier credentials

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier
required
string
Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE"
account_name
required
string >= 2 characters
object
object
object
object
object
object

Responses

Request samples

Content type
application/json
{
  • "carrier": "DHL_EXPRESS",
  • "account_name": "DHL Production Account",
  • "dhl_express_credentials": {
    }
}

Carrier Credentials Summary

Get Carrier Credentials Summary.

header Parameters
Authorization
required
string
Example: Bearer access_token

Responses

Delete Carrier Credentials.

Delete Carrier Credentials.

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
carrier
required
string
Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE"
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.

Responses

Request samples

Content type
application/json
{
  • "carrier": "DHL_EXPRESS",
  • "account_name": "DHL Production Account"
}

Recover Shipment URL.

Recover Shipment URL.

header Parameters
Authorization
required
string
Example: Bearer access_token
Request Body schema: application/json
url
required
string

Responses

Request samples