Specifying an order shipping or delivery date isn't a feature supported by Shopify "out-of-the-box" and it might be something that you might need to utilise a 3rd party app to enable support for your store. As such, it is possible that different apps will store shipping dates differently from store to store.


In order to successfully download shipping dates from your store, once you have enabled the "Download Order Shipping Dates" setting from your Shopify settings page, you need to enter a path to direct Shiptheory to where it can find a shipping date in your order data, and in what format you will be providing the dates to Shiptheory.



Shipping Date Path syntax

The shipping date path uses dot notation to dictate how to navigate through the JSON data Shiptheory downloads from Shopify when processing your orders and shipments.


For example:

order.note_attributes.{n}[name=ship_date].value


Would extract "12/05/2021" from the order data below:

{
    "order": {
        "note_attributes": [
            {
                "name": "gift_message",
                "value": "Happy Birthday!"
            },
            {
                "name": "ship_date",
                "value": "12/05/2021"
            }
        ]
    }
}



  • Depending on where your gift messages are stored, the path can guide Shiptheory to download the message from either your Shopify order or fulfillment data. As such, the path should always start with the word "orderor "fulfillment".

  • The path is Case Sensitive. For example, "name" will match "name" but not "Name" or "NAME".

  • {n} can be used to match any unordered elements, such as multiple line items or notes.

  • If multiple matches can be made, only the first match is returned.

  • If you need to match an element where an attribute matches a certain value, you can add a match condition to the path in square brackets. For example, in the JSON above there are multiple properties. In order to match the value of the gift_message, a condition has been added to the path to return the value of the element with a name attribute equalling "gift_message"
    order.line_items.{n}.properties.{n}[name=gift_message].value



Data Path testing tool

We have a tool to help you build and test your data path, available here: https://helm.shiptheory.com/sandbox/find_data_path.


Simply copy and paste the JSON data from a Shopify order or fulfillment into the tool and you will be able to enter and test your data path before saving it to your Shopify settings.



Shipping Date Format

To ensure that all dates are interpreted correctly when importing into Shiptheory you will need to select which date format you store your dates in your Shopify store. For example, 12/05/10.


You may have read that date as the 12th of May 2010, December 5th 2010, or somehow, 10th May 2012?


As such, Shiptheory will attempt to validate your dates based on the format selected in your Shopify settings. If the shipping date value downloaded from Shopify is not a valid date based on this format, it will be ignored.


Please note: Shiptheory only stores a date, not a time.




If you have any questions regarding this or anything else, please don't hesitate to get in touch with the Shiptheory support team!