When you use Shipmondo Order Management, we continuously import your products from your webshop and create them in Shipmondo.
A product in Shipmondo has the following data fields:
SKU
Name
Variant code
Barcode
Bin
Image
Currency
Sales price
Virtual
Non-refundable
Country of origin
Content
Commodity code
Weight
When setting up an order integration, we retrieve data from some standard fields from your webshop.
However, you have the flexibility to define/override which fields on your webshop the data should be sourced from when Shipmondo imports your products.
We also support retrieving data from meta fields (also known as custom fields) on the webshop. Metadata fields are often used by third-party plugins/apps to store data.
For example, if you use a plugin/app to register barcodes on your products or for inventory management on your webshop, and you want the registered barcodes or product locations to be transferred to picking and packing in Shipmondo.
These are just a few examples and serve as inspiration. Our solution is adaptable and versatile, allowing us to retrieve data from both products and order lines on your webshop.
In this guide, we will walk you through the process of how to set up custom mappings for product fields.
Note! This guide assumes technical proficiency, including knowledge og API and JSON data structure.
How to setup
Go to Settings > Integration > Orders and click on the order integration for which you want to set up custom mappings of product fields.
Click the tab Products and select the "Use custom mappings" option.
Here you can see product fields where you can set up custom mappings to data fields on your webshop.
For each field, you can choose an endpoint from the dropdown and specify a value.
Endpoint selection
In the dropdown, you can choose the endpoint on your webshop that the custom mapping should be based on.
The following options are available:
Endpoint | Description |
Product | Data originates from the webshop's product API.
If there is a separation between the variant and main product in the webshop system, the variant takes precedence. |
Order line | Data originates from the webshop's order API. |
Metadata | Data is an array of metadata from Shopify's metafield API.
Note! This endpoint can only be used for Shopify shops. |
Specifying a path
In the value field, you need to provide the path to the key in the JSON object/response from the webshop's API where the data should be retrieved from.
There are three rules/scenarios that you need to be aware of when specifying the path.
To support the explanation, examples are provided on the right side of the table, based on the JSON object found after the table.
Rules/scenarios | Example |
If you need to refer to a value that is located at the root of the object, you should provide the key for that property. | Desired: You want to override the SKU field in Shipmondo with data from the "model" field from your product on your webshop.
Solution: You select "Product" in the endpoint field, and you enter "model" in the value field. |
If you need to refer to a value that is located within a nested object, you should specify the path to that property.
To indicate that it is a nested object, you must use a period (.) as a separator. | Desired: You want to override the Bin field in Shipmondo with data from the "section" field from your product on your webshop.
Solution: You select "Product" in the endpoint field, and you enter "stock_location.section" in the value field. |
If the value is contained in an array of objects, you specify a key and its corresponding value from the array, followed by the destination key.
Note! If your webshop system is from team.blue, you may not need to specify the item array. | Desired: You want to override the Barcode field in Shipmondo with data from the "value" field under "custom_barcode".
Solution: You select "Product" in the endpoint field, and you enter "custom_attributes.attribute_code.custom_barcode.value" in the value field. |
For Shopify and WooCommerce metadata, it is not necessary to provide the explicit path, if it is placed on the default path of metadta. You can provide just the key name, as the path is searched by default.
JSON Objective example
JSON object in the examples mentioned above.
{
"id": 12,
"name": "Playstation 4",
"is_enabled" :true,
"allow_no_stock": false,
"is_shippable": true,
"model": "ITM-A1231",
"custom_attributes": [
{
"attribute_code": "image",
"value": null
},
{
"attribute_code": "custom_barcode",
"value": "A0-A0-A0"
},
{
"attribute_code": "options_container",
"value": "container2"
}
],
"stock_location": {
"section": "A0-A1-A2"
}
}
Example of setup of customs mappings
Path specification in the examples mentioned above.