{"id":2059,"date":"2024-10-11T14:49:50","date_gmt":"2024-10-11T13:49:50","guid":{"rendered":"https:\/\/france.magicsoftware.com\/blog\/?p=2059"},"modified":"2024-12-06T14:14:18","modified_gmt":"2024-12-06T13:14:18","slug":"salesforce-commerce-cloud-magic-xpi","status":"publish","type":"post","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/salesforce-commerce-cloud-magic-xpi\/","title":{"rendered":"Salesforce commerce cloud &#8211; Magic xpi"},"content":{"rendered":"\n<p class=\"has-medium-font-size\"><strong>Goal : <\/strong>Search, Update order with Magic xpi using salesforce commerce REST API (OCAPI vs SCAPI)<\/p>\n\n\n\n<p>1\/ Salesforce Commerce Cloud REST API works with <strong><em>FrontEnd Token<\/em><\/strong> and <strong><em>BackEnd Token<\/em><\/strong> (OCAPI open commerce API)<\/p>\n\n\n\n<p>Front End Token needs the information below<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>client_id_ocapi<\/li>\n\n\n\n<li>password_ocapi<\/li>\n\n\n\n<li>host_auth (https:\/\/account.demandware.com\/)<\/li>\n<\/ul>\n\n\n\n<p>Check with Postman that you get the token <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_2-1024x640.png\" alt=\"\" class=\"wp-image-2068\" style=\"width:645px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_2-1024x640.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_2-300x187.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_2-768x480.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_2.png 1274w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You must send in the body (format x-www-form-urlencoded) : grant_type:client_credentials<\/p>\n\n\n\n<p>2\/ You can now search order with this Front End Token by doing a POST on <strong>{{host_ocapi}}\/s\/{{site}}\/dw\/shop\/v22_10\/order_search<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1012\" height=\"781\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_3.png\" alt=\"\" class=\"wp-image-2070\" style=\"width:543px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_3.png 1012w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_3-300x232.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_3-768x593.png 768w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/figure>\n\n\n\n<p>{{host_ocapi}} is your salesforce commerce cloud url : example https:\/\/staging-shop.mse.com<\/p>\n\n\n\n<p>{{site}} country site : example FR<\/p>\n\n\n\n<p>You can send in the Body the JSON below :<\/p>\n\n\n\n<p>{<br>\u00ab\u00a0query\u00a0\u00bb : {<br>\u00ab\u00a0text_query\u00a0\u00bb: {<br>\u00ab\u00a0fields\u00a0\u00bb: [<br>\u00ab\u00a0export_status\u00a0\u00bb<br>],<br>\u00ab\u00a0search_phrase\u00a0\u00bb:\u00a0\u00bbNOT_EXPORTED\u00a0\u00bb<br>}<br>},<br>\u00ab\u00a0select\u00a0\u00bb : \u00ab\u00a0(**)\u00a0\u00bb,<br>\u00ab\u00a0sorts\u00a0\u00bb : [{\u00ab\u00a0field\u00a0\u00bb:\u00a0\u00bbcustomer_name\u00a0\u00bb, \u00ab\u00a0sort_order\u00a0\u00bb:\u00a0\u00bbasc\u00a0\u00bb}]<br>}<\/p>\n\n\n\n<p>3\/ To manipulate an order, you need a \u00ab\u00a0BackEnd Token\u00a0\u00bb<\/p>\n\n\n\n<p>To retrieve it, you need the information below<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>{{host_integration}}dw\/oauth2\/access_token?client_id={{client_id_ocapi}}<\/li>\n\n\n\n<li>{{user_access}}<\/li>\n\n\n\n<li>{{password_integration}}<\/li>\n\n\n\n<li>{{password_ocapi}}<\/li>\n<\/ul>\n\n\n\n<p>Pass these parameters in the related fields like below<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"539\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_4-1024x539.png\" alt=\"\" class=\"wp-image-2080\" style=\"width:640px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_4-1024x539.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_4-300x158.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_4-768x404.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_4.png 1328w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You must send in the body (format x-www-form-urlencoded) : grant_type:urn:demandware:params:oauth:grant-type:client-id:dwsid:dwsecuretoken<\/p>\n\n\n\n<p>You can now update an order with this token using this URL <\/p>\n\n\n\n<p><strong>PATCH<\/strong> on <strong>{{host_ocapi}}<\/strong>\/s\/<strong>{{site}}<\/strong>\/dw\/shop\/v22_10\/orders\/00003204<\/p>\n\n\n\n<p>00003204 : order number<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"911\" height=\"874\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_5.png\" alt=\"\" class=\"wp-image-2090\" style=\"width:463px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_5.png 911w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_5-300x288.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_5-768x737.png 768w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><\/figure>\n\n\n\n<p>4\/ Define 2 REST Client resources for Front End Token and Back End Token in Magic xpi<\/p>\n\n\n\n<p><strong>FrontEnd Token resource :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/account.demandware.com<\/li>\n\n\n\n<li>Path : \/dwsso\/oauth2\/access_token<\/li>\n\n\n\n<li>2 headers \n<ul class=\"wp-block-list\">\n<li>Content-type : application\/x-www-form-urlencoded<\/li>\n\n\n\n<li>Authorization : Basic ZDE&#8230;.  (dummy value) (you can store the result value in an environment variable for use with the connector)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_6-1024x570.png\" alt=\"\" class=\"wp-image-2097\" style=\"width:716px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_6-1024x570.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_6-300x167.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_6-768x428.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_6.png 1092w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>BackEnd Token resource :<\/strong><\/p>\n\n\n\n<p>In the same way, define another REST Client resource with these information<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HostIntegration<\/strong> environment variable is something like that : https:\/\/staging-eu01-mse.demandware.net<\/li>\n\n\n\n<li><strong>client_id  <\/strong>in the query parameter is something like uuid : d19faaa2-03ca-4d3c-a8ff-ef2a766778d3<\/li>\n\n\n\n<li><strong>Authorization<\/strong> is the result of base64 encoding of {{user_access}}:{{password_integration}} and {{password_ocapi}} (you can store the result value in an environment variable for use with the connector)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_7-1024x597.png\" alt=\"\" class=\"wp-image-2104\" style=\"width:631px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_7-1024x597.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_7-300x175.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_7-768x448.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_7.png 1086w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>5\/ Define a new REST Client resource with these information below<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>%HostOcapi%<\/li>\n\n\n\n<li>Path : \/s\/{site}\/dw\/shop\/v22_10\/order_search  ({site correponds to your ISO country)<\/li>\n\n\n\n<li>If you want to search an order, you will have to use the FrontEnd token in the Authorization header<\/li>\n\n\n\n<li>if you want to update an order, you will have to use the BackEnd Token in the Authorization header<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"421\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_8-1024x421.png\" alt=\"\" class=\"wp-image-2113\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_8-1024x421.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_8-300x123.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_8-768x316.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_8.png 1072w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>6\/ Creata a new Magic xpi Flow<\/p>\n\n\n\n<p>Define a flow variable (blob) that will hold the body Token and update update it with  : &lsquo;grant_type=client_credentials&rsquo;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_9-1024x589.png\" alt=\"\" class=\"wp-image-2119\" style=\"width:545px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_9-1024x589.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_9-300x172.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_9-768x442.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_9.png 1162w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Drag and drop a Rest client connector associated to Frontend Token resource and use a <strong>POST<\/strong> with the path <strong> \/dwsso\/oauth2\/access_token<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"643\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_10.png\" alt=\"\" class=\"wp-image-2122\" style=\"width:567px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_10.png 881w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_10-300x219.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_10-768x561.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/figure>\n\n\n\n<p>Use a datamapper to parse the json response to retrieve the access token.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"179\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_11-1024x179.png\" alt=\"\" class=\"wp-image-2126\" style=\"width:602px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_11-1024x179.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_11-300x52.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_11-768x134.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_11.png 1110w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>7\/ Update a flow variable (F.BodySearch blob) with the json query<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_12-1024x527.png\" alt=\"\" class=\"wp-image-2129\" style=\"width:618px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_12-1024x527.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_12-300x154.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_12-768x395.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_12.png 1042w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>8\/ Drag and drop Rest client connector linked to order search resource and do a GET with path <strong>\/s\/{idsite}\/dw\/shop\/v22_10\/order_search<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"663\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_13.png\" alt=\"\" class=\"wp-image-2133\" style=\"width:480px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_13.png 882w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_13-300x226.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_13-768x577.png 768w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><\/figure>\n\n\n\n<p>After pressing OK, set the {idsite} with the value that you want <\/p>\n\n\n\n<p>9\/ You can count the result by reading \u00ab\u00a0count\u00a0\u00bb element in the json response <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"275\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_14-1024x275.png\" alt=\"\" class=\"wp-image-2139\" style=\"width:715px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_14-1024x275.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_14-300x80.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_14-768x206.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_14.png 1119w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>10\/ to process all the json orders, you can transform the json orders in to an xml orders object and then use the datamapper to call a subflow,  transfer single order to a subflow using the magic xpi XmlForwarding option<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"648\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_15-1024x648.png\" alt=\"\" class=\"wp-image-2142\" style=\"width:620px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_15-1024x648.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_15-300x190.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_15-768x486.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_15.png 1306w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>11\/ In the subflow, you can create the order in the back office (for example SAPB1), get the answer and if successfull, PATCH Salesforce Commerce Cloud with the SAP order id.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"263\" height=\"680\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_16.png\" alt=\"\" class=\"wp-image-2145\" style=\"width:122px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_16.png 263w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_16-116x300.png 116w\" sizes=\"auto, (max-width: 263px) 100vw, 263px\" \/><\/figure>\n\n\n\n<p>Set the JSON request for the PATCH request<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"612\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_17-1024x612.png\" alt=\"\" class=\"wp-image-2148\" style=\"width:614px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_17-1024x612.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_17-300x179.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_17-768x459.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_17.png 1129w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>12\/ Drag and drop REST Client connector linked to PATCH resource and use a PATCH with path <strong>\/s\/{idsite}\/dw\/shop\/v22_10\/orders\/{no}<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"866\" height=\"577\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_18.png\" alt=\"\" class=\"wp-image-2151\" style=\"width:589px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_18.png 866w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_18-300x200.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_18-768x512.png 768w\" sizes=\"auto, (max-width: 866px) 100vw, 866px\" \/><\/figure>\n\n\n\n<p>After pressing OK, set the {idsite} and {no} variables with the expected values<\/p>\n\n\n\n<p>(*) don&rsquo;t forget to set the Token with the Backend Token in the Parameters <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"571\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_19.png\" alt=\"\" class=\"wp-image-2159\" style=\"width:664px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_19.png 982w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_19-300x174.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_19-768x447.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<p>(**) This access token can retrieved from the subflow itself or in the flow that calls the subflow.<\/p>\n\n\n\n<p>It can be done like in the Step 6 but with the <strong>BackEnd token resource<\/strong>.<\/p>\n\n\n\n<p>Drag and Drop Rest Client connector associated to BackEnd Token resource and use a <strong>POST<\/strong> with the path <strong> \/dw\/oauth2\/access_token<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_20-1024x549.png\" alt=\"\" class=\"wp-image-2163\" style=\"width:689px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_20-1024x549.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_20-300x161.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_20-768x412.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_20.png 1037w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Goal : Search, Update order with Magic xpi using salesforce commerce REST API (OCAPI vs SCAPI) 1\/ Salesforce Commerce Cloud REST API works with FrontEnd Token and BackEnd Token (OCAPI open commerce API) Front End Token needs the information below Check with Postman that you get the token You must send in the body (format [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2061,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4,65,58],"tags":[66,60,59],"class_list":["post-2059","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magic-xpi","category-retail","category-salesforce-commerce-cloud","tag-retail","tag-salesforce","tag-salesforce-commerce-cloud"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/10\/SF_Cloud_1.png","_links":{"self":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/2059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=2059"}],"version-history":[{"count":57,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/2059\/revisions"}],"predecessor-version":[{"id":2170,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/2059\/revisions\/2170"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media\/2061"}],"wp:attachment":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=2059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=2059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=2059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}