MyOrderDesk - ShipStation Integration Setup Follow
About ShipStation
ShipStation helps merchants quickly generate shipping labels for all of their online orders. With ShipStation, you can connect all of your carriers and order sources in one place, and make the entire order management and shipping experience simple.
About the Integration with MyOrderDesk
When an order is placed on a MOD website, all the necessary information needed to ship the job will be sent to ShipStation. After the shipment is complete, ShipStation will send information back to MOD both triggering the order to be marked Shipped, and an email notification with the tracking number be sent to the person who placed the order.
To Begin
You will need to create an account with ShipStation. You can do this at shipstation.com.
You will also need to add the ShipStation integration. The use of the REST API is included for free when used for ShipStation. Please contact our Servicing team, or your Account Manager to get started with this integration.
You have some options to consider on how you want to push details into ShipStation.
- You can set up each of your websites as separate stores in ShipStation (you are still able to see all of them in one place when looking for Jobs to ship). This requires that you follow the steps to integrate at the Master Account and each of your Branded Websites. This may be helpful if you want your staff to know exactly which website the Job came from in case you use your customer's shipping account to send out their shipments, or you handle their shipments differently.
- You can set up your integration at the MOD Master Account level so that all Jobs from all sites push into one ShipStation Store. This is a quick and easy way to get started with ShipStation if you have a lot of sites. With this option, you can always go into your services area for a specific site and either disable the integration or create its own connection/ShipStation Store if need be.
Setting things up in MyOrderDesk
Set up the Site with Ship and Bill To Data
ShipStation requires both Ship-To and Bill-To address detail. Make sure the Site/Group has a Payment Method and collects the address to Bill To along with where the item will Ship To. To keep from having ShipStation ignore the job when the information is missing, we will send the Address entered in the Site Owners User Profile if any of the BillTo data is missing. We will also send “NONE” for Payment Method when it is missing.
Category and Status Mapping
ShipStation has a series of statuses that you will need to map to a MyOrderDesk Category. This is so ShipStation knows that a particular Job is ready to be shipped. They will periodically reach out to MOD and retrieve new Jobs. If your Job has a category that maps to their Paid Status, they will add it to their queue in ShipStation for shipping. Note: A Job in MOD does not necessarily have to be paid, you just need to make sure that whatever Category you map to their Paid (Awaiting Shipment) Status is what you have set the Job in MOD to if you are ready for it to be shipped. The ShipStation statuses that must be mapped are:
- Canceled
- On Hold
- Paid (Awaiting Shipment)
- Shipped
- Unpaid (Awaiting Payment)
You can create all-new Categories in MOD for this purpose, or use some of the default Categories set up in your account for you and add whatever else is needed (older accounts did not have default Categories so will need to create all of them if you haven't set them up for yourself already).
To create a Category in MOD, go to Admin > Order History > select the Advanced Search icon, and then the pencil icon (edit) next to the Categories box. See below.
Here is a screenshot of my Category Setup page.
Notice that I am using a combination of the Categories already set up in my account, and I added a few additional. For my example I will map in this way:
- MOD Cancelled = ShipStation Cancelled
- MOD On Hold = ShipStation On Hold
- MOD 5.0 Ready for Shipping = ShipStation Paid (Awaiting Shipment)
- MOD 5.1 Shipped = ShipStation Shipped
- MOD 3.0 In Production = ShipStation Unpaid (Awaiting Payment)
Helpful Tip: Once you have your Categories set up in one of your MOD sites, you can use the Copy Settings feature to copy those Categories to all your others. To do this, go to your MOD admin account and at the top of your left navigation, select the dropdown for your various sites. You will see an option for Copy Settings. Select that and copy settings for your Categories from the site you just set up, to any of the other sites you want to integrate with ShipStation.
Settings
Once the service is added to your account, and you've determined how your mapping will work, you will need to set up the integration in MOD. To do this, locate and open Admin > Services > ShipStation.
- Enabled Unique ShipStation Store Option for this Site. If you want all the sub-sites of your Master Site flowing into one ShipStation Store, then you will select this option only in the Master Site, and then leave it unchecked in the sub-sites. If you have any sub-sites that you want to create unique ShipStation Stores for, then you would enable this option in that sub-site.
- Shipped Category - You will need to select what Category in MOD you want your jobs to be set to when ShipStation sends back a notification that an item(s) has been shipped. Select from the drop-down of Categories you have set up in each of your sites. It is very important that if you are having any/all of your sub-sites flowing into one ShipStation Store, that you use the exact same Category name in each sub-site that you selected in the Master Site.
- Notify Shop and/or Customer - Select if you would like MyOrderDesk to send out a notification to either your shop or your customer when the item has been marked shipped in ShipStation. Because ShipStation has its own notification feature, you may choose to use theirs to notify your customer rather than have the email generated by MOD, in that case, simply uncheck the option to notify the customer here.
- Custom Field 1 Map (as well as Field 2 & Field 3) - These fields are used when you have a custom payment method that uses the Custom Fields to collect more information from the end user, and you would like that detail passed to ShipStation. In one of the Mapping fields, select from the dropdown menu one of the six custom fields you set up in the payment method that you would like to pass to ShipStation. When the job is sent over, you will find the detail under the ShipStation "Notes" area.
- Authentication - In ShipStation you will need to use the credentials set up in the REST API. We provide a link to that area of Admin for you.
- Web Endpoint - ShipStation needs a unique identifier for our integration with the two products. The URL you see here is unique to your account. You will be pasting this into ShipStation when you set it up.
Connect MyOrderDesk to ShipStation
Login to your ShipStation account. If this is the first time you are logging in, you will land on a welcome page where you can choose to Connect a selling channel. If you are returning to your ShipStation account, select the gear icon at the top of the page, and then select Selling Channels under Import Orders.
Select the Custom Store Option from the list of Selling Channels. A new window will launch that you need to fill out (see below).
You will see three sections to complete:
1. The XML web page has been created for you, and can be found in the MOD setup area (Admin > Services > ShipStation), listed on the page as the Web Endpoint (refer to the screenshot at the beginning of this article).
2. Enter the URL to the Custom XML Page, the Username, and Password.
- URL to Custom XML Page - Copy and paste the URL noted in item 1.
- Username - This is your Provider ID
- Password - This is the REST API Shared Secret (Admin > Services > API > Shared Secret)
3. Map your Custom Store's Order Statuses to ShipStation. Refer to the paragraph above under Categories and Status Mapping.
When everything is completed, select the Test Connection button to make sure everything is working correctly. You should receive a confirmation. If all is well, complete the process by selecting the Connect button, and then Complete Setup when you are done setting up your carriers and label layouts (Note: this article is focusing only on setting up the integration with MyOrderDesk).
Note: After configuring your store inside ShipStation, make sure to set your time zone in your store settings. If you are testing a Job without doing this, you may run into a problem with the Jobs not coming over.
Setting your Job(s) Category to be seen by ShipStation
So you have everything set up in order for the integration to work. Now you need to set your MyOrderDesk Job to be picked up by ShipStation. To do this, go to Admin > Order History.
Select one or more Jobs by clicking on the checkbox as seen in the screenshot below. You will then use the dropdown menu "For Checked Jobs" and select the option of "Set Job Categories."
This will trigger a new area for you to complete. In Step 1 (see screenshot below), select the Category that you set up to trigger ShipStation's "Paid (Awaiting Shipment)" Status. In the dropdown "to," leave this as "Job (ignore items" as the integration cannot send over just one item in any particular MOD Job. When you get into ShipStation, you will be able to use their feature that can do a split shipment and break up individual items in the Job and send them in separate packages and/or on different days, etc. In Step 2 below, you can either enter custom text for what the customer will see as the Category name, or leave blank and the Category name used in Step 1 will be used.
You can also choose the Category in the Job Details area when you select a particular Job on the History page. Doing it at this point works the same as we discussed above. The main benefit to doing it in the Order History page is that you can select multiple Jobs at one time and set them all to the Category for ShipStation to pull over.
API Detail Passed from MOD to ShipStation
Name | ShipStation Description | Our Description |
Orders * | Root node | (list of MOD orders) |
Order * | Container node for an individual order | (an MOD order) |
OrderID * | Unique identifier for an order. Not displayed to anyone. | MOD Job # |
OrderNumber * | User-visible order number. This value can be the same as the OrderID. | MOD Job # |
OrderDate * | The date the order was placed. UTC time. Format: MM/dd/yyyy HH:mm. Both 12 and 24 hour notation are allowed. | Job Submit Datetime |
OrderStatus * | The status of the order in your system. You will be able to map this status to a ShipStation status when connecting your Web Endpoint as a Selling Channel within ShipStation. | Job Category |
LastModified * | The last time the order was modified in your system. UTC time. Format: MM/dd/yyyy HH:mm | Cart LastModifiedDatetime |
ShippingMethod | Recommended if you know the shipping method that will be used to ship the order. ShipStation can map your shipping methods to actual services. | Cart Shipping Name |
PaymentMethod | Order payment method (e.g. PayPal, Check, Money Order) | Payment Method Name |
OrderTotal * | Total amount of the order. (Nine total digits, up to 7 digits before the decimal point, and up to 2 after.) | Order Total amount |
TaxAmount | Tax amount, if any. | Order Tax amount |
ShippingAmount * | Shipping amount. | Order Shipping Amount |
CustomerNotes | Notes left by the customer when placing the order. | Cart Notes |
Customer * | Container node for the customer's information. | (MOD BillTo/ShipTo/User info) |
CustomerCode * | A unique identifier of the customer in your system. This is often a username or email address. | Sender email |
BillTo * | Container node for the customer's billing information. | (MOD BillTo/User info) |
Name * | The billing name. | BillTo name or Sender name if null |
Company | The billing company. | BillTo company or Sender company if null |
Phone | The billing phone. | BillTo phone or Sender phone if null |
Recommended so that ShipStation can notify the buyer when an order ships. | BillTo email or Sender email if null | |
ShipTo * | Container node for the customer's shipping information. | (MOD ShipTo/User info) |
Name * | Recipient's name. | ShipTo name |
Company | Recipient's company. | ShipTo company |
Address1 * | Recipient's address line 1. | ShipTo address1 |
Address2 | Recipient's address line 2. | ShipTo address2 |
City * | Recipient's city. | ShipTo city |
State * | US and Canadian addresses require the 2 character state/territory code. | ShipTo state |
PostalCode * | Required for domestic addresses and many international addresses. | ShipTo postal code |
Country * | 2-character ISO 3116-1 country code. | ShipTo country |
Phone | Required in some cases (e.g. overnight or international shipping). No specific format. | ShipTo phone |
Items * | Container node for the order's items. | (MOD cart items) |
Item | Container node for an individual order line item. | (MOD cart item) |
LineItemID | Unique identifier for the line item. | CartItemID |
SKU * | Unique identifier for the product that was ordered. | OrderFormID |
Name * | Name of the product | CartItem name or OrderForm Title if null |
Quantity * | Quantity of items ordered. | Cart item qty or 0 if null |
UnitPrice * | Price of a single item. | Cart item total / qty or total if qty = 0 |
Quick Look around ShipStation
To Add new Stores, or to Edit/Setup your stores, select the gear icon as seen in the screenshot below and then select Selling Channels.
The Selling Channels link will bring up the list of Stores you have integrated into your ShipStation account as seen below.
To see your Orders that need to be shipped, select the link in their top navigation for Orders. This will display the various Status sections that we discussed earlier. Notice that I can easily see that I have 1 order waiting to be shipped and that both of my Stores are displayed in the same area. I can select each store separately, or filter to see Orders for just one of the Stores I'm managing.
As mentioned earlier in the article, ShipStation will periodically go out and look for any new orders. If you would like to do this manually within ShipStation, select the icon shown in the screenshot below to Update All Stores.
Note: If for some reason you are not seeing a Job in ShipStation that you were expecting to be pushed over, go into your MOD Order History, make some type of change to that Job so that ShipStation sees it as something new, and try again by using the manual Update All Stores link.
Please contact ShipStation for additional help navigating their product.