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
- Shipium supports CSV bulk file uploads natively within the Shipium Console.
- Alternatively, files can be submitted in a ticket using the Shipium Customer Help Center.
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.
- 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
, andecdsa-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.
- 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. - 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. - 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
- For SFTP:
- 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/
- Folder Directory:
- 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.
Downloadable file template
You can download this CSV template of the file format outlined below. Once you add your historical shipment data to the template, you can upload it via one of the mechanisms described above.
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 name | Required? | Description | Type |
---|---|---|---|---|
1 | shipment_id | Y | The unique identifier for the shipment that was shipped | String |
2 | shipium_shipment_id | N | The Shipium unique identifier for the shipment that was shipped | String |
3 | order_id | Y | The customer order reference ID tied to one or more outbound shipments | String |
4 | package_id | N | The package identifier tied to one or more packages contained in a shipment (if applicable) | String |
5 | carrier_tracking_id | Y | The carrier-assigned unique label tracking ID assigned at label creation | String |
6 | tenant_id | N | The unique identifier of the specific tenant account the shipment was executed on if one or more tenants are configured under your Shipium account setup | UUID |
7 | tenant_name | N | The name of the specific tenant account the shipment was executed on if one or more tenants are configured under your Shipium account setup | String |
8 | label_cost | N | The individual cost per label under a shipment | Float |
9 | currency_code | Y | The three-character standard currency code associated with the invoiced shipment costs | currency code |
10 | ordered_date_time | N | The order creation timestamp | ISO 8601 date-time with offset |
11 | shipped_date_time | Y | The shipped timestamp when the package departed your origin facility | ISO 8601 date-time with offset |
12 | shipped_date_time_timezone | Y | The shipped timestamp timezone when the package departed your origin facility | ISO 8601 date-time with offset |
13 | delivered_at_date_time | Y | The delivery timestamp provided by the final mile carrier upon delivery of the package | ISO 8601 date-time with offset |
14 | delivered_at_date_time_timezone | Y | The delivery timestamp timezone provided by the final mile carrier upon delivery of the package | ISO 8601 date-time with offset |
15 | desired_delivery_date | N | The original date requested for delivery of the customer order | ISO 8601 date-time |
16 | origin_id | N | The reference identifier for the ship-from location within your network | UUID |
17 | origin_postal_code | Y | Postal code from which the package was shipped | String |
18 | origin_state_region | N | State or region from which the package was shipped | String |
19 | origin_country_code | Y | Two-character country code from which the package was shipped | ISO 3166 country code |
20 | destination_state_region | N | State or region to which the package was shipped | String |
21 | destination_postal_code | Y | Postal code to which the package was shipped | String |
22 | destination_country_code | Y | Two-character country code to which the package was shipped | ISO 3166 country code |
23 | destination_address_type | Y | The address type code for the location to which the package was shipped:residential or commercial | String enumeration |
24 | destination_is_po_box | Y | Boolean indicating if the location to which the package was shipped was a post office box:true or false | Boolean |
25 | package_material | Y | The type of packaging material used:box , envelope , flat_pack , mailing_tube , or parcel_pallet | String enumeration |
26 | package_length | Y | The longest side of the package in package_linear_unit units | Float |
27 | package_width | Y | The second longest side of the package in package_linear_unit units | Float |
28 | package_height | Y | The shortest side of the package in package_linear_unit units | Float |
29 | package_linear_unit | Y | The unit of linear measure for the package:in or cm | String enumeration |
30 | package_weight | Y | The total weight of the package, including packaging and contents in package_weight_unit units | Float |
31 | billable_weight | N | The invoiced weight from the carrier | Float |
32 | package_weight_unit | Y | The unit of weight measure for the package:g , kg , oz , or lb | String enumeration |
33 | carrier_id | Y | The carrier identifier for the last mile carrier; see Supported Carriers for listing | String enumeration |
34 | carrier_service_method_id | Y | The carrier service method identifier for the last mile carrier; see Supported Carriers for listing | String enumeration |
35 | delivery_signature_option | N | Boolean indicating if the package required an adult signature upon delivery:true or false | Boolean |
36 | ship_option | N | Optional parameter to indicate your preferred ship option; see Ship Options' for listing | String |
37 | contains_hazmat | N | Boolean indicating if the package contained one or more hazardous materials items:true or false | Boolean |
38 | lithium_ion | N | Boolean indicating if the package contained one or more items containing a lithium ion cell:true or false | Boolean |
39 | limited_quantity | N | Boolean indicating if the package contained one or more limited quantity itemstrue , false | Boolean |
Updated 8 days ago