{"info":{"_postman_id":"66322241-d0e1-42fc-8da2-5f098d7f9cfd","name":"Microsoft Dynamics 365 - Bulk Operation - Web Api","description":"<html><head></head><body><p>Collection of Adobe I/O Runtime endpoint to perform CRUD operation, in bulk, in Microsoft Dynamics 365 CRM application. The serverless endpoint leverages Microsoft Dynamics 365 web-apis to interact with the application and perform requested operation.\nOperations like create/insert, update, delete are performed as batch of operations. The read operation immediate execution operation.</p>\n<ul>\n<li>Support connection using <code>clientSecret</code>. Instead of passing <code>username</code> and <code>password</code>, pass the Azure application <code>clientSecret</code>.</li>\n</ul>\n<h3 id=\"helpful-links\">Helpful links:</h3>\n<ul>\n<li><a href=\"https://adobe.sharepoint.com/sites/Campaignpod/_layouts/15/guestaccess.aspx?guestaccesstoken=jWqWce7v2YdRhMZZ17k%2F5R0o0qpHQQFprwBK61O3klA%3D&amp;docid=2_07d758e59beb941cf907dc18dd256bff8&amp;rev=1&amp;e=rAKwwB\">Configure Azure Active Directory for integration</a></li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"1837425","collectionId":"66322241-d0e1-42fc-8da2-5f098d7f9cfd","publishedId":"SzfAxm2X","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-04-24T07:29:31.000Z"},"item":[{"name":"Read / search for records","id":"cb21bb4b-7fbe-44ad-ab88-d7bd46da9282","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"d365_config\": {\n        \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n        \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n        \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n        \"clientId\": \"<azure-ad-client-id>\",\n        \"username\": \"username@crm-instance.onmicrosoft.com\",\n        \"password\": \"pAsS^0r9\"\n    },\n    \"entity\": \"leads\",\n    \"action\": \"read\",\n    \"response_attributes\": \"leadid,firstname,lastname,emailaddress1,subject\",\n    \"data\": [\n        {\"filter\": \"emailaddress1 eq 'badajena+2@emailsim.io' and startswith(firstname, 'Diptiman')\"},\n        {\"filter\": \"endswith(emailaddress1, '@contoso.com') or endswith(emailaddress1, '@adobetest.com')\"},\n        {\"filter\": \"emailaddress1 eq 'someone@notexist.com'\"}\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","description":"<h3 id=\"read--search-for-dynamics-crm-entities\">Read / search for Dynamics CRM Entities</h3>\n<ul>\n<li><p><strong><code>entity</code>:</strong> Microsoft dynamics entity like <code>leads</code>, <code>contacts</code>, <code>accounts</code>, <code>tasks</code>, <code>emails</code>, <code>phonecalls</code> etc. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>action</code>:</strong> Use <code>read</code> for fetching/searching matching records.</p>\n</li>\n<li><p><strong><code>response_attributes</code>:</strong> Specify <code>*</code> to fetch all attributes with the entity or specify selected list of attributes as comma (<code>,</code>) separed string. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>data</code>:</strong> Is an array of filter condition(s). Each array element works as <strong><code>OR</code></strong> condition. To find more details about OData filter queries, <a href=\"https://docs.microsoft.com/en-us/dynamics-nav/using-filter-expressions-in-odata-uris\">click here</a>.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"cb21bb4b-7fbe-44ad-ab88-d7bd46da9282"},{"name":"Read / search for records (clientSecret)","id":"3756f95d-da45-4563-84ed-42b7c5c353f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"d365_config\": {\n        \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n        \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n        \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n        \"clientId\": \"<azure-ad-client-id>\",\n        \"clientSecret\": \"A1Bk2mMz_o_0ZzZZ-XyZ4.T0UvW5YkEq1c\"\n    },\n    \"entity\": \"leads\",\n    \"action\": \"read\",\n    \"response_attributes\": \"leadid,firstname,lastname,emailaddress1,subject\",\n    \"data\": [\n        {\"filter\": \"emailaddress1 eq 'badajena+2@emailsim.io' and startswith(firstname, 'Diptiman')\"},\n        {\"filter\": \"endswith(emailaddress1, '@contoso.com') or endswith(emailaddress1, '@adobetest.com')\"},\n        {\"filter\": \"emailaddress1 eq 'someone@notexist.com'\"}\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"3756f95d-da45-4563-84ed-42b7c5c353f1"},{"name":"Create / insert records","id":"34871a11-c204-42e5-ad6b-00d96caad2fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"d365_config\": {\n        \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n        \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n        \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n        \"clientId\": \"<azure-ad-client-id>\",\n        \"username\": \"username@crm-instance.onmicrosoft.com\",\n        \"password\": \"pAsS^0r9\"\n    },\n    \"entity\": \"contacts\",\n    \"action\": \"insert\",\n    \"response_attributes\": \"contactid,firstname,lastname,emailaddress1\",\n    \"data\": [\n        {\n            \"emailaddress1\": \"badajena+2@emailsim.io\",\n            \"firstname\": \"Diptiman_2\",\n            \"lastname\": \"Badajena\"\n        },\n        {\n            \"emailaddress1\": \"badajena+3@emailsim.io\",\n            \"firstname\": \"Diptiman_3\",\n            \"lastname\": \"Badajena\"\n        }\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","description":"<h3 id=\"create--insert-records-in-dynamics-crm-entities\">Create / insert records in Dynamics CRM Entities</h3>\n<ul>\n<li><p><strong><code>entity</code>:</strong> Microsoft dynamics entity like <code>leads</code>, <code>contacts</code>, <code>accounts</code>, <code>tasks</code>, <code>emails</code>, <code>phonecalls</code> etc. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>action</code>:</strong> Use <code>insert</code> for create / insert records.</p>\n</li>\n<li><p><strong><code>response_attributes</code>:</strong> Specify <code>*</code> to fetch all attributes with the entity or specify selected list of attributes as comma (<code>,</code>) separed string. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>data</code>:</strong> Is an array of CRM entity attributes and corresponding values. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a></p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"34871a11-c204-42e5-ad6b-00d96caad2fb"},{"name":"Update CRM records","id":"e841d182-8d13-4a8e-87a3-76846afa62da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"d365_config\": {\n        \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n        \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n        \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n        \"clientId\": \"<azure-ad-client-id>\",\n        \"username\": \"username@crm-instance.onmicrosoft.com\",\n        \"password\": \"pAsS^0r9\"\n    },\n    \"entity\": \"accounts\",\n    \"action\": \"update\",\n    \"response_attributes\": \"accountid,emailaddress1\",\n    \"data\": [\n        {\"crm_id\": \"8009df47-a07f-ea11-a811-000d3a363dd3\", \"name\": \"Contoso QX\", \"emailaddress1\": \"john@contoso.com\"},\n        {\"crm_id\": \"8609df47-a07f-ea11-a811-000d3a363dd3\", \"name\": \"Contoso FX\", \"emailaddress1\": \"steve@contoso.com\"}\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","description":"<h3 id=\"update-records-in-dynamics-crm-entities\">Update records in Dynamics CRM Entities</h3>\n<ul>\n<li><p><strong><code>entity</code>:</strong> Microsoft dynamics entity like <code>leads</code>, <code>contacts</code>, <code>accounts</code>, <code>tasks</code>, <code>emails</code>, <code>phonecalls</code> etc. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>action</code>:</strong> Use <code>update</code> for create / insert records.</p>\n</li>\n<li><p><strong><code>response_attributes</code>:</strong> Specify <code>*</code> to fetch all attributes with the entity or specify selected list of attributes as comma (<code>,</code>) separed string. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>data</code>:</strong> Is an array of CRM entity attributes and corresponding values. The key <code>crm_id</code>, uniquely identifies the record to be updated and it's a mandatory key. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a></p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"e841d182-8d13-4a8e-87a3-76846afa62da"},{"name":"Delete CRM records","id":"60f39036-231d-48d9-9995-817f263bf808","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"d365_config\": {\n        \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n        \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n        \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n        \"clientId\": \"<azure-ad-client-id>\",\n        \"username\": \"username@crm-instance.onmicrosoft.com\",\n        \"password\": \"pAsS^0r9\"\n    },\n    \"entity\": \"accounts\",\n    \"action\": \"delete\",\n    \"response_attributes\": \"na\",\n    \"data\": [\n        {\"crm_id\": \"8009df47-a07f-ea11-a811-000d3a363dd3\"},\n        {\"crm_id\": \"8609df47-a07f-ea11-a811-000d3a363dd3\"}\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","description":"<h3 id=\"delete-records-in-dynamics-crm-entities\">Delete records in Dynamics CRM Entities</h3>\n<ul>\n<li><p><strong><code>entity</code>:</strong> Microsoft dynamics entity like <code>leads</code>, <code>contacts</code>, <code>accounts</code>, <code>tasks</code>, <code>emails</code>, <code>phonecalls</code> etc. Find more entities and details visit <a href=\"https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/account?view=dynamics-ce-odata-9\">Microsoft entities</a>.</p>\n</li>\n<li><p><strong><code>action</code>:</strong> Use <code>delete</code> for create / insert records.</p>\n</li>\n<li><p><strong><code>response_attributes</code>:</strong> Specify <code>na</code>/<code>NA</code>/<code>Not request</code>, since post delete there is no specific attribute to return. The return value <code>\"data\": [{\"crm_id\": \"8009df47-...\"},{\"crm_id\": \"8609df47-...\"}]</code></p>\n</li>\n<li><p><strong><code>data</code>:</strong> Is an array of <code>crm_id</code>, uniquely identifies the record to be removed and it's a mandatory key.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"60f39036-231d-48d9-9995-817f263bf808"},{"name":"Support for Adobe Campaign Standard","id":"1476b4a7-3321-4442-9e3d-155e43b51904","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"params\": {\n        \"d365_config\": {\n            \"webApiUrl\": \"https://crm-instance.api.crm.dynamics.com/api/data/v9.1/\",\n            \"authorityUrl\": \"https://login.microsoftonline.com/<azure-ad-tenant-id>/oauth2/v2.0/token\",\n            \"resource\": \"https://crm-instance.crm.dynamics.com/\",\n            \"clientId\": \"<azure-ad-client-id>\",\n            \"username\": \"username@crm-instance.onmicrosoft.com\",\n            \"password\": \"pAsS^0r9\"\n        },\n        \"entity\": \"tasks\",\n        \"action\": \"insert\",\n        \"remap_data_key\": {\n            \"regardingobjectid_lead\": \"regardingobjectid_lead@odata.bind\"\n        },\n        \"response_attributes\": \"activityid,_regardingobjectid_value,activitytypecode,actualdurationminutes,actualstart,actualend\"\n    },\n    \"data\": [\n        {\n            \"subject\": \"Contact lead to schedule appointment for discussion\",\n            \"description\": \"Lead has shown interest for product and few enquiries online. Please schedule meeting to discuss with lead.\",\n            \"regardingobjectid_lead\": \"b33d308a-4382-ea11-a811-000d3a579b98\"\n        }\n    ]\n}"},"url":"https://salesvelocity.adobeio-static.net/api/v1/web/d365_prd/crmOperationsBulk","description":"<h3 id=\"additional-parameters-to-support-adobe-campaign-standard-external-activities\">Additional parameters to support Adobe Campaign Standard, External Activities</h3>\n<ul>\n<li><strong>NOTE:</strong> The request will have the same parameters and perform respective operation in Microsoft Dynamics CRM</li>\n</ul>\n<h4 id=\"additionals\">ADDITIONALS</h4>\n<ul>\n<li><p><strong><code>remap_data_key</code>:</strong> Adobe Campaign Standard does not supports key attributes with some special character like <code>regardingobjectid_lead@odata.bind</code>; so, <code>remap_data_key</code> helps to remap the request payload to actual CRM entity attribute before performing any CRM operation.</p>\n</li>\n<li><p><strong><code>params</code>:</strong> The configuration part of the request i.e <code>d365_config</code>, <code>entity</code>, <code>action</code>, <code>remap_data_key</code> and <code>response_attributes</code>, which are specified under <strong><code>CUSTOMIZE PARAMTER</code></strong> in Adobe Campaign standard, are encapsulated within <code>params</code> key attribute in the payload.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","v1","web","d365_prd","crmOperationsBulk"],"host":["salesvelocity","adobeio-static","net"],"query":[],"variable":[]}},"response":[],"_postman_id":"1476b4a7-3321-4442-9e3d-155e43b51904"}]}