Carrier App Definition

The code for your app definition can be seen here on github

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

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

DefaultConfirmationTypesobject

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.

LabelFormatsstring[]

This provides a list of label formats supported by the carrier

DefaultLabelSizesstring[]

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'

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'

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

Classstring

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

Gradestring

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

SupportedLabelSizesstring[]

A list of label sizes supported by this service

SupportedCountriesobject[]

A list of countries supported by this service

ServiceAttributesstring[]

A list of attributes about this service

ConfirmationTypesstring[]

The confirmation types associated with this service

Auth Specification

NameTypeRequired?Nullable?Description
Identifierobject

Identify the type of Auth being used by the integration

Identifier   .AuthenticationTypeobject

Identify the type of Auth being used by the integration (oauth)

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