Carrier App Definition

Metadata

NameTypeRequired?Nullable?Description
IdGUID

The id for this integration (this GUID should not be changed after publishing)

Namestring

The name of this integration, used for internal purposes, can be the same as the branded Carrier in Carriers[]

AuthProcessobject

The specification for authorizing with this carrier

Carriers[]object[]

A list of branded carriers

Carrier

NameTypeRequired?Nullable?Description
IdGUID

The id for this branded carrier (this GUID should not be changed after publishing)

Namestring

The name of this branded carrier, this is what is seen by the customer

ApiCodestring

The identifier for this carrier to be used in API calls. Must be snake cased and unique.

Descriptionstring

This is a human readable description of the branded carrier

CarrierUrlstring

This is the url to the carriers website

TrackingUrlstring

This is the url template for static tracking pages ex: http://www.shipper.com/tracking/{0}

CarrierAttributes[]string[]

Attributes describing the carrier ex: ManifestDigital, ManifestPhysical, Consolidator, Regional

DefaultConfirmationTypes

ConfirmationDictionary

This dictionary allows you to specify which supported delivery confirmation types the carrier offers. Setting one to undefined will use the default name in shipstation.

LabelFormats

LabelFormatsEnum[]

This provides a list of label formats supported by the carrier

DefaultLabelSizes

LabelSizesEnum[]

This provides a list of supported label sizes by the carrier

DefaultSupportedCountries[]object[]

A list of supported countries, used to determine which services are visible based on shipstation sellers home country

DefaultSupportedCountries[]   .FromCountrystring

The 2 character ISO country code ex: US, MX, FR

DefaultSupportedCountries[]   .AlternateServiceNamestring

An optional name for this service based on the countries branding

ShippingOptionsobject

This object defines which shipping options should be made available and what those shipping options should be called in the ui

ShippingServices[]object[]

A list of shipping services associated with this branded carrier

PackageTypes[]object[]

A list of package types associated with this branded carrier

AccountModalsobject

This defines the connection modal and the settings modals in the ui, along with branded images.

AccountModals   .RegistrationFormSchema

Form

A form that allows the user to connect to the service. This form will usually prompt for an account number and login credentials.

AccountModals   .SettingsFormSchema

Form

A form that allows the user update their connection settings, such as when a password is changed.

Imagesobject

This defines a list of images associated with this branded carrier

Images.Logostring

This is the full file path to the branded logo

Images.Iconstring

This is the full file path to the branded icon

Package Type

NameTypeRequired?Nullable?Description
IdGUID

The unique identifier for this package type. It should not change after being published

Namestring

The name of this package type ex: 'Eco friendly box'

ApiCodestring

The identifier for this package type to be used in API calls. Must be snake cased and unique.

CarrierPackageTypeCodestring

This is the code that will be sent to requests, this should be the same code the carrier's api would expect

Descriptionstring

This is a human readable description about what the packaging is

Abbreviationstring

This is an abbreviation of the name if necessary

PackageAttributesstring[]

Package attributes include International, Domestic, Consolidator

RequiredToShipstring[]

What information is required to ship this package type Weight and or Dimensions

Shipping Service

NameTypeRequired?Nullable?Description
IdGUID

The unique identifier for this shipping service. It should not change after being published

Namestring

The name of this shipping service ex: 'Overnight Guarantee'

ApiCodestring

The identifier for this shipping service to be used in API calls. Must be snake cased and unique.

Codestring

This is the code that will be sent to requests, this should be the same code the carrier's api would expect

Descriptionstring

This is a human readable description about what the service is

Abbreviationstring

This is an abbreviation of the name if necessary

Internationalboolean

Indicates whether or not this service is for international or domestic use

Class

ServiceClassEnum

The class of service. ex: Ground, OneDay, ThreeDay

Grade

ServiceGradeEnum

The grade of the service. ex: Economy, Expedited, Overnight

SupportedLabelSizes

LabelSizesEnum[]

A list of label sizes supported by this service

SupportedCountriesobject[]

A list of countries supported by this service

ServiceAttributes

ServiceAttributesEnum[]

A list of attributes about this service

ConfirmationTypes

ConfirmationType[]

The confirmation types associated with this service

Auth Specification

NameTypeRequired?Nullable?Description
Identifierobject

Identify the type of Auth being used by the integration

Identifier   .AuthenticationType

AuthenticationType

Identify the type of Auth being used by the integration.

Identifier.IsSandboxobject

Indicates whether or not the authentication server is sandboxed

authorizationobject

The beginning of an OAuth2.0 flow that ensures the user is logged in and approves access to the Resource.

authorization   .url_templatestring

The url to obtain the access token using the authorization code on the backend https://carrier.com/oauth/authorize

authorization   .query_parameters[]array

A list of query parameters that will be attached to the url

authorization   .query_parameters[]   .namestring

The name of the parameter

authorization   .query_parameters[]   .valuestring

The value associated with the parameter

request_tokenobject

The server-server code for token exchange

request_token   .url_templatestring

The url to obtain the access token using the authorization code on the backend https://carrier.com/oauth/request

request_token.methodstring

The http method to use when making the server-server code for token request "GET", "POST"

request_token.body[]array

A list of query parameters that will be attached to the url

request_token.body[].namestring

The name of the parameter

request_token   .body[]   .valuestring

The value associated with the parameter

request_token.headers[]array

A list of header values that will be sent to request the token

request_token   .headers[]   .namestring

The name of the parameter

request_token   .headers[]   .valuestring

The value associated with the parameter

refresh_tokenobject

The server-server code for token exchange

refresh_token   .url_templatestring

The url to refresh the access token using the authorization code on the backend https://carrier.com/oauth/refresh

refresh_token.methodstring

The http method to use when making the server-server code for token request "GET", "POST"

refresh_token.body[]array

A list of query parameters that will be attached to the url

refresh_token.body[].namestring

The name of the parameter

refresh_token   .body[]   .valuestring

The value associated with the parameter

refresh_token.headers[]array

A list of header values that will be sent to request the token

refresh_token   .headers[]   .namestring

The name of the parameter

refresh_token   .headers[]   .valuestring

The value associated with the parameter