Shipment File Transfers

Transfer historical data to improve training.

About Shipium historical shipment file transfers

Shipium offers a variety of options for you to transfer regular historical shipment data exports for Shipium ML model training.

Before requesting a file transfer, you will first need to identify if you will be manually dropping files or configuring an automated process to handle file transfers on a set cadence.

Manual transfers

Automated transfers

  • Shipium supports both SFTP and S3 direct file drops.

If you would like to pursue setting up either a manual or automated file transfer, please reach out to your Shipium Implementation Team Member or Customer Success Manager to start the process.

The rest of this document provides a full onboarding guide and FAQs.

Set up automated file transfers for your organization

To start using an automated file transfer method, you will need to complete the following steps. Your dedicated Shipium team member will be available to assist you with each one.

  1. Gather your configuration details.
  • Username. It is recommended to use a credential username associated with the service/application that will be accessing the Shipium hosted SFTP or S3 location.
  • Public Key. Asymmetric encryption is used to secure file drops and will require your public key to enable us to decrypt files uploaded to the SFTP or S3. You'll use the ssh-keygen command to create your public keys (it's generally safer to generate key pairs locally on a trusted device). To create a proper public key, you'll need to adhere to these constraints:
    • No line breaks. The public key must be a single line without any line breaks.
    • Proper key type. The key should start with a valid key type, such as ssh-rsa, ssh-ed25519, and ecdsa-sha2-nistp256.
    • No trailing characters. There should be no trailing characters or new lines at the end of the key, and there should be no extra spaces before or after the key.
  • IP Addresses. The IP(s) or range of IPs that will be used by your application to access a Shipium file share must be provided for Shipium to enable them on our IP allow-list.
  1. Submit a customer setup request ticket.
    Once you have successfully gathered all your internal configuration details, you can either directly support a setup request ticket via the Shipium Customer Help Center or send the configuration details directly to your dedicated Shipium team member for them to submit on your behalf.
  2. Allow Shipium setup and processing.
    Please allow 2-3 business days for Shipium to complete the processing of your file transfer setup request. Once completed, you will receive a ticket confirmation and/or email confirmation from your Shipium team member that your access has been successfully granted and available for immediate use.
  3. Configure your SFTP or S3 connection.
    Upon closure of your file transfer access request, you will immediately be able to access your secure drop location. Use the below details to complete your internal setup:
    • For SFTP:
      Server Name - partner-upload.shipium.com
      Port - 22
    • For S3:
      S3 Bucket URL, Access Key ID, & Secret Keys - Will be provided directly to you upon completion of the setup request
  4. Test the transfer.
    Once you have completed the setup of your SFTP or S3 connection and confirm access, it is recommended to test the file handoffs using a test CSV file. This will allow Shipium to verify we are able to successfully decrypt and process the file transfer prior to automating the uploads.
    • Folder Directory:
      Files uploaded to the SFTP or S3 must be placed in the pre-defined drop location that will default be available to you post setup.
      Drop Location - /partner/[partner_name]/historical-shipment-data/
  5. Schedule your uploads.
    For customers not using Shipium label creation, we will require your historical shipment data to be uploaded at minimum once per month to ensure our ML models are kept up to date with the latest data regarding your network’s shipping performance to make the most accurate productions for you and your customers.
    It is recommended to schedule these uploads to take place the first of each month to hand off the relevant historical shipping data for all shipments delivered within the prior month.

Need Help? We are here to help! Let your Shipium team member know you are in need of assistance, and they will support you in troubleshooting.


File format

For the files that will be uploaded as part of this process, the following table shows the columns, the names that should appear in column headers, and a description of each of the fields.

# Column nameRequired?DescriptionType
1shipment_idYThe unique identifier for the shipment that was shippedString
2order_idYThe customer order reference ID tied to one or more outbound shipmentsString
3package_idNThe package identifier tied to one or more packages contained in a shipment (if applicable)String
4carrier_tracking_idYThe carrier-assigned unique label tracking ID assigned at label creationString
5tenant_idNThe unique identifier of the specific tenant account the shipment was executed on if one or more tenants are configured under your Shipium account setupUUID
6tenant_nameNThe name of the specific tenant account the shipment was executed on if one or more tenants are configured under your Shipium account setupString
7label_costNThe individual cost per label under a shipmentFloat
8currency_codeYThe three-character standard currency code associated with the invoiced shipment costscurrency code
9ordered_date_timeNThe order creation timestampISO 8601 date-time
10shipped_date_timeYThe shipped timestamp when the package departed your origin facilityISO 8601 date-time
11delivered_at_date_timeYThe delivery timestamp provided by the final mile carrier upon delivery of the packageISO 8601 date-time
12desired_delivery_dateNThe original date requested for delivery of the customer orderISO 8601 date-time
13origin_idNThe reference identifier for the ship-from location within your networkUUID
14origin_postal_codeYPostal code from which the package was shippedString
15origin_state_regionNState or region from which the package was shippedString
16origin_country_codeYTwo-character country code from which the package was shippedISO 3166 country code
17destination_state_regionNState or region to which the package was shippedString
18destination_postal_codeYPostal code to which the package was shippedString
19destination_country_codeYTwo-character country code to which the package was shippedISO 3166 country code
20destination_address_typeYThe address type code for the location to which the package was shipped:
residential or commercial
String enumeration
21destination_is_po_boxNBoolean indicating if the location to which the package was shipped was a post office box:
true or false
Boolean
22package_materialYThe type of packaging material used:
box, envelope, or flat_pack
String enumeration
23package_lengthYThe longest side of the package in package_linear_unit unitsFloat
24package_widthYThe second longest side of the package in package_linear_unit unitsFloat
25package_heightYThe shortest side of the package in package_linear_unit unitsFloat
26package_linear_unitYThe unit of linear measure for the package:
in or cm
String enumeration
27package_weightYThe total weight of the package, including packaging and contents in package_weight_unit unitsFloat
28billable_weightNThe invoiced weight from the carrierFloat
29package_weight_unitYThe unit of weight measure for the package:
g, kg, oz, or lb
String enumeration
30carrier_idYThe carrier identifier for the last mile carrier;
see Supported Carriers for listing
String enumeration
31carrier_service_method_idYThe carrier service method identifier for the last mile carrier;
see Supported Carriers for listing
String enumeration
32delivery_signature_optionNBoolean indicating if the package required an adult signature upon delivery:
true or false
Boolean
33ship_optionNOptional parameter to indicate your preferred ship option; see Ship Options' for listingString
34contains_hazmatNBoolean indicating if the package contained one or more hazardous materials items:
true or false
Boolean
35lithium_ionNBoolean indicating if the package contained one or more items containing a lithium ion cell:
true or false
Boolean
36limited_quantityNBoolean indicating if the package contained one or more limited quantity items
true, false
Boolean