Reference Data

Meet the next generation of supply chain data consistency. With Shipwell's cutting-edge reference data standards, your data stays consistent across APIs and integrations. For example, with the Shipwell Charge Codes Standard, you may use the same charge codes across Shipwell APIs and Shipwell will also handle normalizing and ensuring charge code consistency across integrations and service providers. Say goodbye to mismatched data and hello to seamless connectivity.

Shipwell is the standard that brings everything togetherβ€”effortlessly. It's not just smart. It's scalable. Unify your supply chain, get powerful data, and get the capabilities you need with Shipwell.

Tip

Shipwell supports consistent reference data and standardized codes that are used throughput the platform and APIs.

Spreadsheet

The following spreadsheet file contains a quick view of the reference data that you may view in a tabular format.

Shipwell Reference Data

API Endpoints

The {{baseUrl}} in the URL formats below indicates that this should be replaced with the "base URL" of the environment and API. The {{baseUrl}} = {{scheme}}://{{environmentHost}}/{{basePath}}.

For example:

  • https://sandbox-api.shipwell.com/v2 as the {{baseUrl}} for a sandbox endpoint is constructed using the following information:
    • {{scheme}} = "https" (aka HTTP protocol or scheme) is "https"
    • {{environmentHost}} = "sandbox-api.shipwell.com" is dependent on the environment [i.e. "sandbox-api.shipwell.com" (sandbox), "api.shipwell.com" (production), etc.]
    • {{basePath}} = "/v2" is dependent on the endpoint, but is typically "/v2" or "" (no base path for next generation endpoints like Orders )

Reference Data Endpoints

The following is a table that links to the API Reference details (that notes the request and response details for each API endpoint) on each reference data endpoint in the Type column, provides the URL Endpoint Template, and a Description of the reference data.

Type URL Endpoint Template Description
πŸ”— Accessorials {{baseUrl}}/shipments/accessorials/ Lists pickup and delivery accessorials
πŸ”— Appointment Types {{baseUrl}}/shipments/appointment-types/ Lists pickup and delivery appointment types
πŸ”— Charge Codes {{baseUrl}}/reference-data/charge-codes/ Lists charge codes
πŸ”— Charge Line Item Categories {{baseUrl}}/shipments/charge-line-item-categories/ Lists charge line item categories
πŸ”— Document Types {{baseUrl}}/documents/document-types/ Lists all currently support document types
πŸ”— Equipment Types {{baseUrl}}/shipments/equipment-types/ Lists all equipment types and descriptions
πŸ”— Hazmat and Hazard Classes {{baseUrl}}/shipments/hazmat/ Lists all hazardous material codes and associated descriptions
πŸ”— Location Types {{baseUrl}}/location-types/ Lists all location types codes used in the API
πŸ”— NMFC (National Motor Freight Classification) Codes {{baseUrl}}/shipments/nmfc/ Lists all inputted NFMC codes currently in the system. A complete list is found here.
πŸ”— Package Types {{baseUrl}}/shipments/package-types/ Lists all packaging types currently supported the platform. Note that different carriers might provide different package types. In these instances we provide carrier specific package types, i.e. {{baseUrl}}/quoting/fedex/package-types/, {{baseUrl}}/quoting/ups/purolator/, {{baseUrl}}/quoting/ups/package-types/, {{baseUrl}}/quoting/usps/package-types/.
πŸ”— Piece Types {{baseUrl}}/shipments/piece-types/ Lists all piece types currently supported the platform
πŸ”— Point of Contact Roles or Job Titles {{baseUrl}}/vendors/vendor-poc-roles/ Lists all vendor point of contact roles or job title roles supported in the platform
πŸ”— Service Levels {{baseUrl}}/shipments/service-levels/ Lists all service levels (e.g. standard, guaranteed) supported by the platform
πŸ”— Shipment Modes {{baseUrl}}/shipments/shipment-modes/ Lists all shipment modes and descriptions supported by the platform
πŸ”— Shipment Rep Roles {{baseUrl}}/shipments/shipment-rep-roles/ Lists all shipment representative roles or shipment rep roles supported by the platform
πŸ”— Shipment Stop Status Reason Codes {{baseUrl}}/shipments/stop-status-reason-codes/ Lists all supported shipment stop status reason codes in the platform
πŸ”— Shipment States / Shipment Statuses {{baseUrl}}/shipments/statuses/ Lists all supported statuses in the platform. Note that some user or use cases call this shipment states.

Shipwell Charge Codes Standard

Shipwell has a Shipwell Charge Codes Standard that ensures that charge codes are consistent across the platform and in integrations. The Shipwell Charge Codes Standard is available as reference data.

Versions

Over time different charge codes will be added and Shipwell will version this data in case other systems have breaking changes if/when new charge codes are introduced. For most systems additive changes are not breaking, but for some typed programming languages or hardcoded charge codes it is useful to have a static list at a point in time.

  • If your API or user token has a set version of the API then this is utilized as the version even when you do not specify the version. Typically, this is a company-level setting in your account.
  • If you do not have a set version of the API set as a fallback version, then the version defaults to the latest version (note: versions/version numbers are dates)
  • If you specify the X-Shipwell-Version request header when making a request, that will override the API version utilized in the request
  • Learn more about Shipwell API versioning here .
Version Description
2024-06-11 2024 Shipwell Charge Codes Standard

Specifying Version Header

If you make an API call to GET /reference-data/charge-codes (see API reference), by default the latest version of the Shipwell Charge Codes Standard will be returned unless your account, API token, or API key is set to a particular API version in your company settings. You may override or specify a different version of the charge codes standard by passing the X-Shipwell-Version request header.

curlpythonjava
Copy
Copied
curl --location --request GET 'https://sandbox-api.shipwell.com/reference-data/charge-codes/' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_AUTHORIZATION_HEADER' \
--header 'X-Shipwell-Version: 2024-06-11'
Copy
Copied
import requests

base_path = ""
host = "sandbox-api.shipwell.com"
target_url = "https://" + host + base_path + "/reference-data/charge-codes/" 
shipwell_version = "2024-06-11"

headers = {
    "Content-Type": "application/json",
    "Authorization": "YOUR_AUTHORIZATION_HEADER",
    "X-Shipwell-Version": shipwell_version
}

response = requests.get(target_url, headers=headers)
data = response.json()
print(data)
Copy
Copied
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

OkHttpClient client = new OkHttpClient();

String basePath = "";
String host = "sandbox-api.shipwell.com";
String targetUrl = "https://" +
  host +
  base_path +
  "/reference-data/charge-codes/";
  
String shipwellVersion = "2024-06-11";

Request request = new Request.Builder()
    .url(targetUrl)
    .header("Content-Type", "application/json")
    .header("Authorization", "YOUR_AUTHORIZATION_HEADER")
    .header("X-Shipwell-Version", shipwellVersion)
    .build();

try (Response response = client.newCall(request).execute()) {
    if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
    response.body().string();
}
Copyright Β© Shipwell 2024. All right reserved.