Carrier App Definition
Metadata
Name | Type | Required? | Nullable? | Description |
---|---|---|---|---|
Id | GUID | ✔ | The id for this integration (this GUID should not be changed after publishing) | |
Name | string | ✔ | The name of this integration, used for internal purposes, can be the same as the branded Carrier in Carriers[] | |
AuthProcess | object | ✔ | The specification for authorizing with this carrier | |
Carriers[] | object[] | ✔ | A list of branded carriers |
Carrier
Name | Type | Required? | Nullable? | Description |
---|---|---|---|---|
Id | GUID | ✔ | The id for this branded carrier (this GUID should not be changed after publishing) | |
Name | string | ✔ | The name of this branded carrier, this is what is seen by the customer | |
ApiCode | string | ✔ | The identifier for this carrier to be used in API calls. Must be snake cased and unique. | |
Description | string | ✔ | This is a human readable description of the branded carrier | |
CarrierUrl | string | ✔ | This is the url to the carriers website | |
TrackingUrl | string | ✔ | This is the url template for static tracking pages ex: | |
CarrierAttributes[] | string[] | ✔ | Attributes describing the carrier ex: | |
DefaultConfirmationTypes | ✔ | 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 | ✔ | This provides a list of label formats supported by the carrier | ||
DefaultLabelSizes | ✔ | 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[]
.FromCountry | string | ✔ | The 2 character ISO country code ex: | |
DefaultSupportedCountries[]
.AlternateServiceName | string | ✔ | An optional name for this service based on the countries branding | |
ShippingOptions | object | ✔ | 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 | |
AccountModals | object | ✔ | This defines the connection modal and the settings modals in the ui, along with branded images. | |
AccountModals
.RegistrationFormSchema | ✔ | 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 | ✔ | A form that allows the user update their connection settings, such as when a password is changed. | ||
Images | object | ✔ | This defines a list of images associated with this branded carrier | |
Images.Logo | string | ✔ | This is the full file path to the branded logo | |
Images.Icon | string | ✔ | This is the full file path to the branded icon |
Package Type
Name | Type | Required? | Nullable? | Description |
---|---|---|---|---|
Id | GUID | ✔ | The unique identifier for this package type. It should not change after being published | |
Name | string | ✔ | The name of this package type ex: 'Eco friendly box' | |
ApiCode | string | ✔ | The identifier for this package type to be used in API calls. Must be snake cased and unique. | |
CarrierPackageTypeCode | string | ✔ | This is the code that will be sent to requests, this should be the same code the carrier's api would expect | |
Description | string | ✔ | This is a human readable description about what the packaging is | |
Abbreviation | string | ✔ | This is an abbreviation of the name if necessary | |
PackageAttributes | string[] | ✔ | Package attributes include | |
RequiredToShip | string[] | ✔ | What information is required to ship this package type |
Shipping Service
Name | Type | Required? | Nullable? | Description |
---|---|---|---|---|
Id | GUID | ✔ | The unique identifier for this shipping service. It should not change after being published | |
Name | string | ✔ | The name of this shipping service ex: 'Overnight Guarantee' | |
ApiCode | string | ✔ | The identifier for this shipping service to be used in API calls. Must be snake cased and unique. | |
Code | string | ✔ | This is the code that will be sent to requests, this should be the same code the carrier's api would expect | |
Description | string | ✔ | This is a human readable description about what the service is | |
Abbreviation | string | ✔ | This is an abbreviation of the name if necessary | |
International | boolean | ✔ | Indicates whether or not this service is for international or domestic use | |
Class | ✔ | The class of service. ex: | ||
Grade | ✔ | The grade of the service. ex: | ||
SupportedLabelSizes | ✔ | A list of label sizes supported by this service | ||
SupportedCountries | object[] | ✔ | A list of countries supported by this service | |
ServiceAttributes | ✔ | A list of attributes about this service | ||
ConfirmationTypes | ✔ | The confirmation types associated with this service |
Auth Specification
Name | Type | Required? | Nullable? | Description |
---|---|---|---|---|
Identifier | object | ✔ | Identify the type of Auth being used by the integration | |
Identifier
.AuthenticationType | ✔ | Identify the type of Auth being used by the integration. | ||
Identifier.IsSandbox | object | ✔ | Indicates whether or not the authentication server is sandboxed | |
authorization | object | ✔ | The beginning of an OAuth2.0 flow that ensures the user is logged in and approves access to the Resource. | |
authorization
.url_template | string | ✔ | The url to obtain the access token using the authorization code on the backend | |
authorization
.query_parameters[] | array | ✔ | A list of query parameters that will be attached to the url | |
authorization
.query_parameters[]
.name | string | ✔ | The name of the parameter | |
authorization
.query_parameters[]
.value | string | ✔ | The value associated with the parameter | |
request_token | object | ✔ | The server-server code for token exchange | |
request_token
.url_template | string | ✔ | The url to obtain the access token using the authorization code on the backend | |
request_token.method | string | ✔ | 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[].name | string | ✔ | The name of the parameter | |
request_token
.body[]
.value | string | ✔ | 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[]
.name | string | ✔ | The name of the parameter | |
request_token
.headers[]
.value | string | ✔ | The value associated with the parameter | |
refresh_token | object | ✔ | The server-server code for token exchange | |
refresh_token
.url_template | string | ✔ | The url to refresh the access token using the authorization code on the backend | |
refresh_token.method | string | ✔ | 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[].name | string | ✔ | The name of the parameter | |
refresh_token
.body[]
.value | string | ✔ | 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[]
.name | string | ✔ | The name of the parameter | |
refresh_token
.headers[]
.value | string | ✔ | The value associated with the parameter |