Fulfillment Onboarding - Integration Check for Shopify Customers
Thank you for choosing EasyPost Fulfillment as your 3PL partner. We know that there are many fulfillment solutions to choose from, so we thank you for selecting EasyPost to handle your shipping needs..
In order to keep the onboarding process smooth and seamless, please make sure that you have submitted your credentials to us prior to scheduling an onboarding call. This will allow our engineering team ample time to set up the integration and complete a thorough integration check. In order to do this correctly, there are 8 steps we need you to follow:
- EasyPost Account Setup - Setting up your EasyPost account
- API Credentials - Getting the necessary credentials to allow our API to connect with Shopify's API
- Enabling Products for Integration - Highlighting all the products in your Shopify store that are being sent to our fulfillment centers
- Barcoding - Ensuring all products are properly barcoded
- Product Information Requirements - Ensuring all product information is correct and up-to-date
- HS Tariff Codes - Entering the proper customs/tariff information to your products in order to enable international shipments
- Product Information Export - Exporting all the product information from your Shopify store and sending it to EasyPost
- Check for Bundles - Accounting for any bundled products that you may have in your Shopify store
1. EasyPost Account Setup
Have you signed up for EasyPost, verified your email, and submitted this email address to us? If not, please go to our sign up page and sign up for your account.
Please fill out:
- First and Last Name: Your first and last name
- Email Address: The email address you want associated with your EasyPost account. Keep in mind that you can only have one email address per account and you cannot change it later.
- Phone Number: Your business phone number.
- Password: Please choose a secure password for your EasyPost account. We recommend using one at least 10 characters long, with letters, symbols, and alternate capital cases.
Once you've signed up you should receive a verification email shortly. Follow the instructions to verify your email address.
If you don't receive the email, then please contact us at firstname.lastname@example.org and ask us to resend the link.
2. API Credentials
This particular guide will cover how to get API credentials from Shopify. If you do not use Shopify, we also have specific integration guides for WooCommerce and Magento. If you do not use any of the aforementioned marketplaces, you'll need to generate API credentials from your commerce platform and send them to us. This may require you to contact the support team of your commerce application.
We will need three pieces of information from your Shopify account in order to start the integration with your Shopify store:
- Your myshopify web address
- Private app API Key
- Private app API Password
First, your myshopify web address. The myshopify web address is the URL that you use to log into your Shopify store. It should look like
Next, it's time to get your API Key and API Password, which we'll get at the same time. First, set EasyPost as a private app in your account. You can do this by finding EasyPost on your list of apps and clicking on "View Details" next to EasyPost. Once you've done that, scroll down to the bottom of the Apps page and click "Manage private apps"
Click on "Generate API credentials"
Please configure it to the following and click "Save" at the top right when finished:
- Private App Name: EasyPost Logistics
- Contact Email: email@example.com
- Orders, Transactions, Fulfillments: read and write access
- Products, Variants, and Collections: read access
Copy the API Key and Password and email it to your EasyPost representative.
3. Enabling Products for Integration
You'll need to enable and publish every product you plan on sending to EasyPost for fulfillment. We will not pull any non-enabled products into our system through the integration. If any non-enabled products get sent to us, and there's no record of the product existing on our end, we will not receive the product at our warehouse. For Shopify customers, this also means that you have to assign the product to at least one sales channel.
In order to move forward with the integration process, we'll need to confirm that you've properly barcoded all of your products. If you do not know how to barcode, consult with our barcoding guide here.
In order to confirm that you've barcoded your products correctly, confirm these two things: ensure that each unique SKU has a unique barcode, and make sure that your barcodes are between 12-16 digits. You can find more information on implementing barcodes here as well as some common barcoding errors to avoid here.
Once you've confirmed proper barcoding of all of your products, enter that information into your Shopify account so that it will get exported along with the rest of your product information. If your product has variants, make sure that you enter the barcodes for the variants as well.
Below is an example of the barcode field in a Shopify variant.
5. Product Information Requirements
In order to ensure a smooth integration, we'll need to ensure that we have the correct dimensional value, weight value, and titles of all of your products. For dimensional and weight values, you must use inches and ounces, and you have to make sure that the values are 100% accurate. Carriers will refuse to honor any labels and rates generated to ship products with faulty information.
As far as product names go, we strongly recommend that all product names in your Shopify store are as descriptive as possible. This will help prevent delays in identifying products if there are any other barcoding or scanning issues when we receive your products. Below, we'll go through an example on how to name the shirt below.
- Bad Example: Blue Shirt
- Bad Example: Superman Shirt - Blue
- OK Example: Superman Shirt - Med - Blue
- Great Example: Superman Short Sleeve Shirt - Med - Blue
6. HS Tariff Code
Please enter HS Tariff Codes for all of your products, especially the ones you plan on shipping internationally. Having an inaccurate or blank HS Tariff Code will cause delays or outright rejections by the destination country's customs. The general format of the tariff code is ####.##.## or ####.##.##.##
You can find your product's tariff codes here. The complete HS Tariff code must be used, including heading/subheading and the stat suffix. For example, baseballs would be 9506.69.20.40.
7. Product Information Exporting
Now that you've vetted your product information to ensure data and barcoding quality, we'll need it exported in a CSV in order to ensure the integration is set up properly. We use this CSV to cross-reference what it's in our systems and to ensure the accuracy of your product information. It's best to send this CSV at the same time as your Shopify API credentials.
In order to access your Product CSV on Shopify, go to the Products page of your account and click on export at the top left
Select Export: All and Export as: CSV for Excel, Numbers, or other spreadsheet programs. Then click on "Export Products"
The Product CSV will be sent to your email address. Once you receive it, download it and send it to your EasyPost representative via email. Below, we have an example of what your Shopify Product CSV should look like with regular products (Simple T-Shirt) and product variants (Short Sleeve T-Shirt).
NOTE: We cannot create the product on our end if either the "Published" or "Variant Grams" values are FALSE OR blank. This applies to both products and variants.
8. Check for Bundles
In Shopify, a bundle is a "product" that is made up of other barcoded products in your shop. They need to exist as an actual product or variant in Shopify. Here are some examples of bundle products:
- A discounted four-pack of t-shirts.
- A salt and pepper shaker set that are listed for sale as separate shakers.
- A promotional pack that includes a free sample of another product that cannot be purchased on its own.
Since they're considered products, bundles should have their own unique barcode. Bundles can only be created after we've created your product list. Once you've created and sent your product list, please fill out the EasyPost Bundle CSV. Make sure to fill out:
- User ID: Your EasyPost User ID. If you do not have a User ID yet, then please leave blank.
- Name: The product name. Use the same exact name that you've used in your Shopify store.
- BundleProductId: Your bundle's product ID number. To find it, navigate to the product page for the bundle in Shopify. It should be the number at the end of the URL in your address bar.
- BundleVariantId: Your bundle's variant ID number. Getting this value depends on whether or not your bundle is a variant, which we will discuss in an example below.
- EasypostProductID: The specific EasyPost product IDs that are included in the bundle. We've included a detailed breakdown on how to find this value in an example below.
- Quantity: The quantity of the products included in the bundle. For instance, a bundle of four shirts would be "4" for that product_id in the bundle.
Example: How to Find Your BundleProductID
Below, you'll see where the BundleProductID is in the URL of the bundle's product page.
Example: How to Find your BundleVariantID
If your bundle is classified as a variant, then finding the BundleVariantID is very simple. Just go to the bundle's variant page and find your BundleVariantID number at the end of the URL in your address page. We've included an example below.
If your bundle is not classified as a variant, then you'll have to go into the product page's code to find it. Add .json to the end of the product page URL in the address bar, which will take you to the raw code of the product page. Use Ctrl+F or Command+F to search for "variant" and focus on the first result. Copy the following number, which is your BundleVariantID as shown below.
Example: How to Find your EasypostProductID
Finding your EasypostProductID is pretty simple. Just log in to your EasyPost Fulfillment dashboard, search for the products that are in the bundle, and click on "Details" on the right of the product's "Name" and "Qty". The "Details" dropdown will show you the product's EasypostProductID.