Salesforce Commerce Cloud - IR OCAPI Integration

This article will walk you through the end-to-end process for enabling a connection to SFCC via OCAPI.

OCAPI (Open Commerce API) is the default connection point present within all Salesforce Commerce Cloud Integrations and holds all data relating to the product including Stock, Pricing and any merchant specific custom attributes.

 

Step 1: Ask the client to confirm the site structure within SFCC and what data is contained within each

Before we begin, it is important to understand the structure of the Sites within the Salesforce Commerce Cloud. This integration will only ever be able to access to data held within the SFCC Site and it is very commonplace for retailers to create their data in domestic language/prices and use a third-party tool to dynamically translate international content and prices.

An example of these dynamic translation partners would be 'Global-e' and you can refer to the Integration guide for this - Here {Add Link to Global-e article}

This will allow you to map out what data can be retrieved from OCAPI and what data may still require and alternative source.

 

Step 2: Ask the client to create a new OCAPI user profile for Intelligent Reach and associate the below access scopes

The creation of a new OCAPI profile will require deployment of JSON access scopes to both the DATA and SHOP API elements of the OCAPI interface.

The basic scopes for this will be as listed below, but please note, this may need to be customised based on the internal data architecture:

DATA:

GET /products/{master_product_id}/variation_groups Reads variation groups for a product master.
GET /products/{master_product_id}/variation_groups/{id} Read a variation group for a product master.
GET /products/{master_product_id}/variations Reads variation for a product master.
GET /products/{master_product_id}/variations/{id} Read a variation for a product master.
GET /products/{product_id}/product_options Read local and shared product options of a product.
GET /products/{product_id}/product_options/{id} Read a local or shared product option of a product.
GET /products/{product_id}/product_options/{option_id}/values Read local product option values of a local product option in a product.
GET /products/{product_id}/product_options/{option_id}/values/{id} Read a local product option value of a local product option in a product.
GET /products/{product_id}/variation_attributes Reads variation attributes of a product of type variant or variation master or variation group.
GET /products/{product_id}/variation_attributes/{attribute_id}/values Reads variation attribute values of a variation attribute bound to a product.
GET /products/{product_id}/variation_attributes/{attribute_id}/values/{id} Action to get product variation attribute value information.
GET /products/{product_id}/variation_attributes/{id} Action to get variation attribute information only for master product.
GET /inventory_lists Action to get all the inventory lists with no filtering.
GET /inventory_lists/{id} Action to get inventory list information.
GET /inventory_lists/{inventory_list_id}/product_inventory_records Gets all product inventory records for an inventory list.
GET /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id} Gets a product inventory record.

SHOP:

GET /products/{id}/availability Access product availability information of products that are online and assigned to site catalog.
GET /products/{id}/bundled_products Access bundled product information of products that are online and assigned to site catalog.
GET /products/{id}/images Access product image information of products that are online and assigned to site catalog. Filter the result by view type and variation values.
GET /products/{id}/links Access product link information of products that are online and assigned to site catalog. Filter the result by link type and link direction.
GET /products/{id}/options Access product option information of products that are online and assigned to site catalog.
GET /products/{id}/prices Access product price information of products that are online and assigned to site catalog.
GET /products/{id}/promotions Access product promotion information of products that are online and assigned to site catalog.
GET /products/{id}/recommendations Access product recommendation information of products that are online and assigned to site catalog.
GET /products/{id}/set_products Access product set information of products that are online and assigned to site catalog.
GET /products/{id}/shipping_methods Retrieves the applicable shipping methods for a certain product.
GET /products/{id}/variations Access product variation information of products that are online and assigned to site catalog.

 

Step 3: Send Store URL, Client ID and Secret/Password to MerchOps

Once the integration has been deployed by the client, we will need to present MerchOps with three key pieces of information:

Store URL: This will be the access point used for all subsequent calls made to the API, so it is important to ensure that we have the Staging/Development URLs as well as those for Production.

Example Store URL: https://staging-store-mns.demandware.net/s/mandslondon 

Client ID: This will be an alphanumeric sequence needed to validate the API in any calls

Example Client ID: c193c778-11cf-4178-9cc2-f4e690293e0c

Secret/Password: The final element of the API authentication will be the password. This will be set by the user creating the OCAPI profile.

 

Step 4: MerchOps to confirm that the API credentials can be authenticated

MerchOps will issue a request to authorise the API Credentials provided using the call:

If this works correctly, it will provide them with the Token needed to complete the next step.
 
Step 5: MerchOps to pull list of active Inventory Lists
The token acquired during Step 4 will be needed within any calls to the Data API but primarily for the retrieval of the Inventory List information. Some clients will have a large number of Inventory Lists within their SFCC setup, these would follow a naming convention such as: 'Coach-GB-Web-Inventory', but are user defined.
 
Step 6: Identify the correct Inventory List
This may need to be confirmed by the client, unless obviously named, but it's important to identify the correct list as it will be used in all subsequent calls. 
 
Step 7: MerchOps to retrieve all Products within the Inventory List and use list to run Product level call
Once the correct Inventory List has been defined and accessed, MerchOps can use the Product ID's within a call such as the below in order to retrieve all information related to the product:
This will look something like the below:
{
"_v" : "19.8",
"_type" : "product_result",
"count" : 1,
"data" : [ {
"_type" : "product",
"currency" : "GBP",
"id" : "000000022295714002",
"image_groups" : [ {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, , catlanding",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/SD_03_T03_7462_Y0_X_EC_0",
"title" : "Leather Slip-on Shoes with Airflex™, "
} ],
"view_type" : "catlanding"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, , catlanding",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/HT_03_T03_7462_N0_SP14_EC_0",
"title" : "Leather Slip-on Shoes with Airflex™, "
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "N0"
} ]
} ],
"view_type" : "catlanding"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, BLACK, catlanding",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/SD_03_T03_7462_Y0_X_EC_0",
"title" : "Leather Slip-on Shoes with Airflex™, BLACK"
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "Y0"
} ]
} ],
"view_type" : "catlanding"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, , hero",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/T03_7462_Y0_IS",
"title" : "Leather Slip-on Shoes with Airflex™, "
} ],
"view_type" : "hero"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, , hero",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/T03_7462_N0_IS",
"title" : "Leather Slip-on Shoes with Airflex™, "
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "N0"
} ]
} ],
"view_type" : "hero"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, BLACK, hero",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/T03_7462_Y0_IS",
"title" : "Leather Slip-on Shoes with Airflex™, BLACK"
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "Y0"
} ]
} ],
"view_type" : "hero"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, , swatch",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/HT_03_T03_7462_N0_SP14_EC_88",
"title" : "Leather Slip-on Shoes with Airflex™, "
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "N0"
} ]
} ],
"view_type" : "swatch"
}, {
"_type" : "image_group",
"images" : [ {
"_type" : "image",
"alt" : "Leather Slip-on Shoes with Airflex™, BLACK, swatch",
"link" : "https://asset1.cxnmarksandspencer.com/is/image/mands/SD_03_T03_7462_Y0_X_EC_88",
"title" : "Leather Slip-on Shoes with Airflex™, BLACK"
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"values" : [ {
"_type" : "variation_attribute_value",
"value" : "Y0"
} ]
} ],
"view_type" : "swatch"
} ],
"inventory" : {
"_type" : "inventory",
"ats" : 0,
"backorderable" : false,
"id" : "inventory",
"orderable" : false,
"preorderable" : false,
"stock_level" : 0
},
"long_description" : "These smart leather slip on shoes are designed with comfort in mind. Fashioned from soft but long lasting leather these men’s shoes will provide exceptional comfort while an Airflex™ sole provides added support so feet will feel their best at all times, perfect for a long working day. The stylish leather shoe features a squared toe and stitch detail for a handsome touch.",
"master" : {
"_type" : "master",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/Parent_T037462?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"master_id" : "Parent_T037462",
"orderable" : true,
"price" : 59.00
},
"min_order_quantity" : 1,
"name" : "Leather Slip-on Shoes with Airflex™",
"price" : 59.00,
"step_quantity" : 1,
"type" : {
"_type" : "product_type",
"variant" : true
},
"upc" : "06189570",
"valid_from" : {
"default@FranceSite" : "2014-02-21T00:00:00.000Z",
"default@EUSite" : "2014-02-21T00:00:00.000Z",
"default@IrelandSite" : "2014-02-21T00:00:00.000Z",
"default@mandslondon" : "2014-02-21T00:00:00.000Z"
},
"variants" : [ {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714001?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : false,
"price" : 59.00,
"product_id" : "000000022295714001",
"variation_values" : {
"color" : "Y0",
"size" : "6"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714002?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : false,
"price" : 59.00,
"product_id" : "000000022295714002",
"variation_values" : {
"color" : "Y0",
"size" : "6.5"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714003?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714003",
"variation_values" : {
"color" : "Y0",
"size" : "7"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714004?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : false,
"price" : 59.00,
"product_id" : "000000022295714004",
"variation_values" : {
"color" : "Y0",
"size" : "7.5"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714005?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714005",
"variation_values" : {
"color" : "Y0",
"size" : "8"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714006?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714006",
"variation_values" : {
"color" : "Y0",
"size" : "8.5"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714007?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714007",
"variation_values" : {
"color" : "Y0",
"size" : "9"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714008?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714008",
"variation_values" : {
"color" : "Y0",
"size" : "9.5"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714009?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714009",
"variation_values" : {
"color" : "Y0",
"size" : "10"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714010?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714010",
"variation_values" : {
"color" : "Y0",
"size" : "10.5"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714011?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714011",
"variation_values" : {
"color" : "Y0",
"size" : "11"
}
}, {
"_type" : "variant",
"link" : "https://staging-store-mns.demandware.net/s/mandslondon/dw/shop/v19_8/products/000000022295714012?all_images=true&pretty_print=true&client_id=55e2f395-b6c3-4e26-b20f-be4e3f6d1679",
"orderable" : true,
"price" : 59.00,
"product_id" : "000000022295714012",
"variation_values" : {
"color" : "Y0",
"size" : "12"
}
} ],
"variation_attributes" : [ {
"_type" : "variation_attribute",
"id" : "color",
"name" : "Color",
"values" : [ {
"_type" : "variation_attribute_value",
"name" : "BLACK",
"orderable" : false,
"value" : "Y0"
} ]
}, {
"_type" : "variation_attribute",
"id" : "size",
"name" : "Size",
"values" : [ {
"_type" : "variation_attribute_value",
"name" : "6",
"orderable" : false,
"value" : "6"
}, {
"_type" : "variation_attribute_value",
"name" : "6.5",
"orderable" : false,
"value" : "6.5"
}, {
"_type" : "variation_attribute_value",
"name" : "7",
"orderable" : true,
"value" : "7"
}, {
"_type" : "variation_attribute_value",
"name" : "7.5",
"orderable" : false,
"value" : "7.5"
}, {
"_type" : "variation_attribute_value",
"name" : "8",
"orderable" : true,
"value" : "8"
}, {
"_type" : "variation_attribute_value",
"name" : "8.5",
"orderable" : true,
"value" : "8.5"
}, {
"_type" : "variation_attribute_value",
"name" : "9",
"orderable" : true,
"value" : "9"
}, {
"_type" : "variation_attribute_value",
"name" : "9.5",
"orderable" : true,
"value" : "9.5"
}, {
"_type" : "variation_attribute_value",
"name" : "10",
"orderable" : true,
"value" : "10"
}, {
"_type" : "variation_attribute_value",
"name" : "10.5",
"orderable" : true,
"value" : "10.5"
}, {
"_type" : "variation_attribute_value",
"name" : "11",
"orderable" : true,
"value" : "11"
}, {
"_type" : "variation_attribute_value",
"name" : "12",
"orderable" : true,
"value" : "12"
} ]
} ],
"variation_values" : {
"color" : "Y0",
"size" : "6.5"
},
"c_DisplayStyleWithIt" : "No",
"c_Fit" : "Regular fit",
"c_Footwear_Sole" : "Upper: Leather\\nLining and Sock: Textile & leather\\nOutsole: Other materials",
"c_Gender" : [ "Mens" ],
"c_Icons1" : "Airflex",
"c_Icons2" : "Silver Technology",
"c_Icons3" : "Plan A Leather",
"c_Innovation2" : "Airflex",
"c_Innovation3" : "Anti bacterial",
"c_LinkToSizeGuide" : "SG-MWFTWR",
"c_PlatformProductType" : "Clothing",
"c_PrimarySizeLabel" : "Size",
"c_TypeOfSizegrid" : "Grid",
"c_color" : "Y0",
"c_deptNumber" : "T03",
"c_isOnline" : "online",
"c_localeURLs_MNS_SFRA" : "[{\"locale\":\"en-CZ\",\"URL\":\"https://www.marksandspencer.com/en-cz/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-DE\",\"URL\":\"https://www.marksandspencer.com/en-de/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-PT\",\"URL\":\"https://www.marksandspencer.com/pt/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-HK\",\"URL\":\"https://www.marksandspencer.com/hk/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"cs-CZ\",\"URL\":\"https://www.marksandspencer.com/cz/ko%C5%BEen%C3%A1-nazouvac%C3%AD-obuv-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-KW\",\"URL\":\"https://www.marksandspencer.com/kw/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-GR\",\"URL\":\"https://www.marksandspencer.com/en-gr/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-CY\",\"URL\":\"https://www.marksandspencer.com/cy/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-US\",\"URL\":\"https://www.marksandspencer.com/us/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-AE\",\"URL\":\"https://www.marksandspencer.com/ae/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-IL\",\"URL\":\"https://www.marksandspencer.com/il/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-LU\",\"URL\":\"https://www.marksandspencer.com/en-lu/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"nl-NL\",\"URL\":\"https://www.marksandspencer.com/nl/leren-instappers-met-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-DK\",\"URL\":\"https://www.marksandspencer.com/dk/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"nl-BE\",\"URL\":\"https://www.marksandspencer.com/nl-be/leren-instappers-met-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"es-ES\",\"URL\":\"https://www.marksandspencer.com/es/zapatos-de-piel-sin-cordones-con-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-QA\",\"URL\":\"https://www.marksandspencer.com/qa/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"fr-LU\",\"URL\":\"https://www.marksandspencer.com/fr-lu/airflex%E2%84%A2andnbsp%3B%E2%80%93andnbsp%3Bchaussures-en-cuir-%C3%A0-enfiler/p/Parent_T037462.html\"},{\"locale\":\"fr-FR\",\"URL\":\"https://www.marksandspencer.com/fr/airflex%E2%84%A2andnbsp%3B%E2%80%93andnbsp%3Bchaussures-en-cuir-%C3%A0-enfiler/p/Parent_T037462.html\"},{\"locale\":\"de-DE\",\"URL\":\"https://www.marksandspencer.com/de/lederschuhe-mit-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-NL\",\"URL\":\"https://www.marksandspencer.com/en-nl/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-JE\",\"URL\":\"https://www.marksandspencer.com/je/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-NO\",\"URL\":\"https://www.marksandspencer.com/no/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-JP\",\"URL\":\"https://www.marksandspencer.com/jp/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-BE\",\"URL\":\"https://www.marksandspencer.com/en-be/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-FI\",\"URL\":\"https://www.marksandspencer.com/fi/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-MT\",\"URL\":\"https://www.marksandspencer.com/mt/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-ES\",\"URL\":\"https://www.marksandspencer.com/en-es/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"el-GR\",\"URL\":\"https://www.marksandspencer.com/gr/%CE%B4%CE%B5%CF%81%CE%BC%CE%AC%CF%84%CE%B9%CE%BD%CE%B1-%CF%80%CE%B1%CF%80%CE%BF%CF%8D%CF%84%CF%83%CE%B9%CE%B1-%CE%BC%CE%B5-airflex%E2%84%A2-%CF%87%CF%89%CF%81%CE%AF%CF%82-%CE%BA%CE%BF%CF%81%CE%B4%CF%8C%CE%BD%CE%B9%CE%B1/p/Parent_T037462.html\"},{\"locale\":\"en-MY\",\"URL\":\"https://www.marksandspencer.com/my/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-AL\",\"URL\":\"https://www.marksandspencer.com/al/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-IT\",\"URL\":\"https://www.marksandspencer.com/it/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-AU\",\"URL\":\"https://www.marksandspencer.com/au/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-AT\",\"URL\":\"https://www.marksandspencer.com/en-at/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-CA\",\"URL\":\"https://www.marksandspencer.com/ca/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-GG\",\"URL\":\"https://www.marksandspencer.com/gg/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-CH\",\"URL\":\"https://www.marksandspencer.com/ch/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-SA\",\"URL\":\"https://www.marksandspencer.com/en-sa/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"de-AT\",\"URL\":\"https://www.marksandspencer.com/at/lederschuhe-mit-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-BN\",\"URL\":\"https://www.marksandspencer.com/bn/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-FR\",\"URL\":\"https://www.marksandspencer.com/en-fr/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-NZ\",\"URL\":\"https://www.marksandspencer.com/nz/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"en-SE\",\"URL\":\"https://www.marksandspencer.com/se/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"},{\"locale\":\"fr-BE\",\"URL\":\"https://www.marksandspencer.com/fr-be/airflex%E2%84%A2andnbsp%3B%E2%80%93andnbsp%3Bchaussures-en-cuir-%C3%A0-enfiler/p/Parent_T037462.html\"},{\"locale\":\"en-SG\",\"URL\":\"https://www.marksandspencer.com/sg/leather-slip-on-shoes-with-airflex%E2%84%A2/p/Parent_T037462.html\"}]",
"c_productBrand" : "M&S Collection",
"c_productColor" : "BLACK",
"c_productDetailsBulletPoints" : "Style#Product Style:Slip on shoes;;;Regular fit;;;Slip on;;;Freshfeet™ |||Plan A Leather|||Square toe|||Elasticated panel|||Stitch detail|||Comes in sizes 6-12, including half sizes;;;This is made with leather that is independently certified to LWG environmental Stewardship standards, which means it has lesser impact on the environment",
"c_productMaterial" : "Leather",
"c_productStyle" : "Slip on shoes",
"c_sapStatus" : "05",
"c_size" : "6.5",
"c_stepExternalID" : "P22295714",
"c_stroke" : "7462",
"c_tNumber" : "T03/7462"
} ],
"total" : 1
}

Step 8: Edit the JSON > XML Field mapping snippet

Within the OCAPI importer, there is a mapping document that extracts all of the nominated JSON elements into a simple XML format that can be then added into the Platform.

Mapping Document Example: 

{
"UniqueID": "product/id",
"Name": "product/page_title",
"Base_Name": "product/name",
"Image_URL1": "product/ir_image_groups/images[1]/link",
"Image_URL2": "product/ir_image_groups/images[2]/link",
"Image_URL3": "product/ir_image_groups/images[3]/link",
"Image_URL4": "product/ir_image_groups/images[4]/link",
"Image_URL5": "product/ir_image_groups/images[5]/link",
"Image_URL6": "product/ir_image_groups/images[6]/link",
"Image_URL7": "product/ir_image_groups/images[7]/link",
"Image_URL8": "product/ir_image_groups/images[8]/link",
"Image_URL9": "product/ir_image_groups/images[9]/link",
"Brand": "product/brand",
"Category": "product/c_silhouette",
"Merchant_Cat_Path": "product/c_viewAllCategories",
"Alt_Cat_Path": "",
"Description": "product/short_description",
"Short_Description": "product/long_description",
"Gender": "proiduct/c_gender",
"Size": "product/c_size",
"Colour": "product/c_colorGroup",
"Standard_Colour": "product/c_color",
"Material": "product/c_fabrication",
"Regular_Price": "product/prices/retailPricebook_Coach_FP_GB",
"Sale_Price": "",
"Shipping_Cost": "",
"Min_Delivery_Days": "",
"Max_Delivery_Days": "",
"Delivery_Information": "",
"Quantity": "product/inventory/stock_level",
"Availability": "product/inventory/orderable",
"MPN": "product/id",
"GTIN": "product/upc",
"Promo_ID": "",
"Parent_URL": "product/ir_url",
"Variant_URL": "product/ir_url",
"Label_1": "",
"Label_2": "",
"Label_3": "",
"Label_4": "",
"Label_5": "",
"Currency": "product/currency",
"Grouping_Key": "product/master/master_id",
"Colour_Grouping_Key": "",
"Condition": "",
"Season": "",
"Style": "",
"Age_Group": "",
"Pattern": "",
"Occasion": "",
"Is_Sale": "",
"Is_New": "",
"udf1": "",
"source_name": "",
"collection": "product/c_collection",
}

Once this has been completed (Mark can help you do this) pass this back to MerchOps

Step 9: MerchOps to run full XML Output

This will be run into Sandbox

Step 10: Sign off data, deploy to Production with schedules and add as Import Feed to the Intelligent Reach Platform