mcdev 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.fork/custom-commands.json +12 -0
  2. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  3. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +19 -0
  4. package/docs/dist/documentation.md +400 -9
  5. package/lib/MetadataTypeDefinitions.js +1 -0
  6. package/lib/MetadataTypeInfo.js +1 -0
  7. package/lib/cli.js +6 -1
  8. package/lib/index.js +4 -1
  9. package/lib/metadataTypes/AttributeSet.js +118 -11
  10. package/lib/metadataTypes/Automation.js +99 -70
  11. package/lib/metadataTypes/DataExtension.js +463 -66
  12. package/lib/metadataTypes/DataExtensionField.js +30 -13
  13. package/lib/metadataTypes/Journey.js +8 -1
  14. package/lib/metadataTypes/MetadataType.js +63 -5
  15. package/lib/metadataTypes/MobileKeyword.js +1 -1
  16. package/lib/metadataTypes/TransactionalEmail.js +94 -17
  17. package/lib/metadataTypes/TransactionalMessage.js +3 -2
  18. package/lib/metadataTypes/Verification.js +230 -0
  19. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +2 -2
  20. package/lib/metadataTypes/definitions/AttributeSet.definition.js +74 -21
  21. package/lib/metadataTypes/definitions/Automation.definition.js +1 -0
  22. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +19 -1
  23. package/lib/metadataTypes/definitions/Verification.definition.js +88 -0
  24. package/package.json +6 -6
  25. package/test/mockRoot/.mcdevrc.json +1 -1
  26. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +59 -0
  27. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +23 -0
  28. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +4 -0
  29. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +1 -0
  30. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +3 -4
  31. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -6
  32. package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
  33. package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
  34. package/test/resources/1111111/data/v1/customobjectdata/key/testExisting_dataExtensionShared/rowset/get-response.json +13 -0
  35. package/test/resources/1111111/dataExtension/create-expected.json +23 -0
  36. package/test/resources/1111111/dataExtension/create-response.xml +59 -0
  37. package/test/resources/1111111/dataExtension/retrieve-expected.json +55 -0
  38. package/test/resources/1111111/dataExtension/retrieve-expected.md +18 -0
  39. package/test/resources/1111111/dataExtension/retrieve-response.xml +27 -1
  40. package/test/resources/1111111/dataExtension/update-expected.json +55 -0
  41. package/test/resources/1111111/dataExtension/update-response.xml +57 -0
  42. package/test/resources/1111111/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtensionShared].[TriggerUpdate_randomNumber_]-response.xml +45 -0
  43. package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
  44. package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_dataExtensionSharedORDataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
  45. package/test/resources/1111111/dataExtensionField/retrieve-response.xml +98 -0
  46. package/test/resources/1111111/dataExtensionTemplate/retrieve-response.xml +303 -0
  47. package/test/resources/1111111/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +387 -0
  48. package/test/resources/1111111/dataFolder/retrieve-response.xml +353 -9
  49. package/test/resources/9999999/attributeSet/retrieve-expected.json +89 -694
  50. package/test/resources/9999999/automation/build-expected.json +4 -0
  51. package/test/resources/9999999/automation/create-expected.json +4 -0
  52. package/test/resources/9999999/automation/create-testNew_automation-expected.md +1 -0
  53. package/test/resources/9999999/automation/retrieve-expected.json +4 -0
  54. package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +1 -0
  55. package/test/resources/9999999/automation/template-expected.json +4 -0
  56. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +7 -0
  57. package/test/resources/9999999/automation/v1/automations/post-response.json +7 -0
  58. package/test/resources/9999999/automation/v1/dataverifications/post-response.json +12 -0
  59. package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/delete-response.json +0 -0
  60. package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/get-response.json +12 -0
  61. package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/patch-response.json +12 -0
  62. package/test/resources/9999999/dataExtension/build-expected.json +16 -0
  63. package/test/resources/9999999/dataExtension/delete-response.xml +42 -0
  64. package/test/resources/9999999/dataExtension/retrieve-expected.json +16 -0
  65. package/test/resources/9999999/dataExtension/retrieve-expected.md +3 -1
  66. package/test/resources/9999999/dataExtension/template-expected.json +16 -0
  67. package/test/resources/9999999/dataExtension/update-expected.json +17 -1
  68. package/test/resources/9999999/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtension].[LastName]-response.xml +44 -0
  69. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtension-response.xml +36 -1
  70. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +36 -1
  71. package/test/resources/9999999/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +117 -0
  72. package/test/resources/9999999/hub/v1/contacts/schema/attributeGroups/get-response.json +43 -0
  73. package/test/resources/9999999/hub/v1/contacts/schema/setDefinitions/get-response.json +387 -0
  74. package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +1 -0
  75. package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +1 -1
  76. package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
  77. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/delete-response.json +6 -0
  78. package/test/resources/9999999/transactionalEmail/build-expected.json +3 -7
  79. package/test/resources/9999999/transactionalEmail/get-expected.json +3 -7
  80. package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -7
  81. package/test/resources/9999999/transactionalEmail/post-expected.json +3 -7
  82. package/test/resources/9999999/transactionalEmail/template-expected.json +3 -7
  83. package/test/resources/9999999/verification/build-expected.json +11 -0
  84. package/test/resources/9999999/verification/get-expected.json +11 -0
  85. package/test/resources/9999999/verification/patch-expected.json +11 -0
  86. package/test/resources/9999999/verification/post-expected.json +11 -0
  87. package/test/resources/9999999/verification/template-expected.json +11 -0
  88. package/test/type.attributeGroup.test.js +4 -4
  89. package/test/type.attributeSet.test.js +5 -5
  90. package/test/type.automation.test.js +29 -23
  91. package/test/type.dataExtension.test.js +205 -45
  92. package/test/type.dataExtract.test.js +10 -3
  93. package/test/type.fileTransfer.test.js +10 -3
  94. package/test/type.importFile.test.js +10 -3
  95. package/test/type.journey.test.js +38 -11
  96. package/test/type.mobileKeyword.test.js +6 -4
  97. package/test/type.mobileMessage.test.js +6 -4
  98. package/test/type.query.test.js +8 -6
  99. package/test/type.script.test.js +6 -1
  100. package/test/type.transactionalEmail.test.js +12 -11
  101. package/test/type.transactionalPush.test.js +2 -4
  102. package/test/type.transactionalSMS.test.js +2 -4
  103. package/test/type.triggeredSend.test.js +6 -4
  104. package/test/type.verification.test.js +173 -0
  105. package/test/utils.js +7 -1
  106. package/types/mcdev.d.js +14 -0
@@ -22,5 +22,17 @@
22
22
  "type": "url",
23
23
  "url": "https://github.com/Accenture/sfmc-devtools/compare/hotfix...$shortname?expand=1"
24
24
  }
25
+ },
26
+ {
27
+ "name": "Create Release-PR to master branch",
28
+ "target": "ref",
29
+ "refTargets": [
30
+ "localbranch",
31
+ "remotebranch"
32
+ ],
33
+ "action": {
34
+ "type": "url",
35
+ "url": "https://github.com/Accenture/sfmc-devtools/compare/main...$shortname?expand=1&template=pr_template_release.md"
36
+ }
25
37
  }
26
38
  ]
@@ -39,6 +39,7 @@ body:
39
39
  label: Version
40
40
  description: What version of our software are you running? (mcdev --version)
41
41
  options:
42
+ - 5.3.0
42
43
  - 5.2.0
43
44
  - 5.1.0
44
45
  - 5.0.2
@@ -0,0 +1,19 @@
1
+ # Release details
2
+
3
+ ## Checklist
4
+
5
+ - [ ] Wiki updated with info in ticket listed under **Documentation**
6
+ - [ ] ran `npm audit fix`
7
+ - [ ] ran task version:major/minor/patch
8
+ - [ ] updated [bug template](/.github/ISSUE_TEMPLATE/bug.yml) to include the new version
9
+ - [ ] updated [.mcdevrc](/test/mockRoot/.mcdevrc.json) to the new version
10
+ - [ ] (after merge) moved version tag to merge commit
11
+ - [ ] created [new GitHub Release](https://github.com/Accenture/sfmc-devtools/releases/new)
12
+
13
+ ## Documentation
14
+
15
+ - closes #123456
16
+
17
+ ## Issues
18
+
19
+ - closes #1234567
@@ -126,6 +126,9 @@ Provides default functionality that can be overwritten by child metadata type cl
126
126
  <dt><a href="#User">User</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
127
127
  <dd><p>MetadataType</p>
128
128
  </dd>
129
+ <dt><a href="#Verification">Verification</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
130
+ <dd><p>Verification MetadataType</p>
131
+ </dd>
129
132
  <dt><a href="#Retriever">Retriever</a></dt>
130
133
  <dd><p>Retrieves metadata from a business unit and saves it to the local filesystem.</p>
131
134
  </dd>
@@ -219,6 +222,33 @@ Provides default functionality that can be overwritten by child metadata type cl
219
222
  <dt><a href="#Automation.">Automation.(metadataMap, originalMetadataMap, key, [oldKey])</a> ⇒ <code>Promise.&lt;{key:string, response:object}&gt;</code></dt>
220
223
  <dd><p>helper for <a href="#Automation.postDeployTasks">postDeployTasks</a></p>
221
224
  </dd>
225
+ <dt><a href="#DataExtension.">DataExtension.(upsertedMetadata, originalMetadata, createdUpdated)</a> ⇒ <code>void</code></dt>
226
+ <dd><p>takes care of updating attribute groups on child BUs after an update to Shared DataExtensions
227
+ helper for <a href="#DataExtension.postDeployTasks">postDeployTasks</a>
228
+ fixes an issue where shared data extensions are not visible in data designer on child BU; SF known issue: <a href="https://issues.salesforce.com/#q=W-11031095">https://issues.salesforce.com/#q=W-11031095</a></p>
229
+ </dd>
230
+ <dt><a href="#DataExtension.">DataExtension.()</a> ⇒ <code>Array.&lt;string&gt;</code></dt>
231
+ <dd><p>helper for <a href="DataExtension.#fixShared">DataExtension.#fixShared</a></p>
232
+ </dd>
233
+ <dt><a href="#DataExtension.">DataExtension.(childBuName, buObjectParent, clientParent, sharedDataExtensionMap)</a> ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code></dt>
234
+ <dd><p>helper for <a href="DataExtension.#fixShared">DataExtension.#fixShared</a></p>
235
+ </dd>
236
+ <dt><a href="#DataExtension.">DataExtension.(deId, deKey, buObjectChildBu, clientChildBu, buObjectParent, clientParent)</a> ⇒ <code>Promise.&lt;boolean&gt;</code></dt>
237
+ <dd><p>method that actually takes care of triggering the update for a particular BU-sharedDe combo
238
+ helper for <a href="DataExtension.#fixShared_onBU">DataExtension.#fixShared_onBU</a></p>
239
+ </dd>
240
+ <dt><a href="#DataExtension.">DataExtension.(buObjectChildBu, clientChildBu, deKey, deId)</a> ⇒ <code>Promise.&lt;string&gt;</code></dt>
241
+ <dd><p>add a new field to the shared DE to trigger an update to the data model
242
+ helper for <a href="DataExtension.#fixShared_item">DataExtension.#fixShared_item</a></p>
243
+ </dd>
244
+ <dt><a href="#DataExtension.">DataExtension.(randomSuffix, buObjectParent, clientParent, deKey)</a> ⇒ <code>Promise.&lt;string&gt;</code></dt>
245
+ <dd><p>get ID of the field added by <a href="DataExtension.#fixShared_item_addField">DataExtension.#fixShared_item_addField</a> on the shared DE via parent BU
246
+ helper for <a href="DataExtension.#fixShared_item">DataExtension.#fixShared_item</a></p>
247
+ </dd>
248
+ <dt><a href="#DataExtension.">DataExtension.(randomSuffix, buObjectChildBu, clientChildBu, deKey, fieldObjectID)</a> ⇒ <code>Promise</code></dt>
249
+ <dd><p>delete the field added by <a href="DataExtension.#fixShared_item_addField">DataExtension.#fixShared_item_addField</a>
250
+ helper for <a href="DataExtension.#fixShared_item">DataExtension.#fixShared_item</a></p>
251
+ </dd>
222
252
  <dt><a href="#getUserName">getUserName(userList, item, fieldname)</a> ⇒ <code>string</code></dt>
223
253
  <dd></dd>
224
254
  <dt><a href="#setupSDK">setupSDK(sessionKey, authObject)</a> ⇒ <code><a href="#SDK">SDK</a></code></dt>
@@ -266,6 +296,8 @@ Provides default functionality that can be overwritten by child metadata type cl
266
296
  </dd>
267
297
  <dt><a href="#AutomationItem">AutomationItem</a> : <code>object</code></dt>
268
298
  <dd></dd>
299
+ <dt><a href="#VerificationItem">VerificationItem</a> : <code>object</code></dt>
300
+ <dd></dd>
269
301
  <dt><a href="#SDK">SDK</a> : <code>Object.&lt;string, AutomationItem&gt;</code></dt>
270
302
  <dd></dd>
271
303
  <dt><a href="#skipInteraction">skipInteraction</a> : <code>object</code></dt>
@@ -1298,6 +1330,7 @@ AttributeSet MetadataType
1298
1330
  * [AttributeSet](#AttributeSet) ⇐ [<code>MetadataType</code>](#MetadataType)
1299
1331
  * [.retrieve(retrieveDir, [_], [__], [key])](#AttributeSet.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1300
1332
  * [.retrieveForCache()](#AttributeSet.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1333
+ * [.fixShared_retrieve(sharedDataExtensionMap, fixShared_fields)](#AttributeSet.fixShared_retrieve) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
1301
1334
  * [.parseResponseBody(body, [singleRetrieve])](#AttributeSet.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
1302
1335
  * [.postRetrieveTasks(metadata)](#AttributeSet.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
1303
1336
  * [._getSystemValueDefinitions()](#AttributeSet._getSystemValueDefinitions) ⇒ <code>Array.&lt;object&gt;</code>
@@ -1324,6 +1357,20 @@ Retrieves Metadata of schema set definitions for caching.
1324
1357
 
1325
1358
  **Kind**: static method of [<code>AttributeSet</code>](#AttributeSet)
1326
1359
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
1360
+ <a name="AttributeSet.fixShared_retrieve"></a>
1361
+
1362
+ ### AttributeSet.fixShared\_retrieve(sharedDataExtensionMap, fixShared_fields) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
1363
+ used to identify updated shared data extensions that are used in attributeSets.
1364
+ helper for DataExtension.#fixShared_onBU
1365
+
1366
+ **Kind**: static method of [<code>AttributeSet</code>](#AttributeSet)
1367
+ **Returns**: <code>Promise.&lt;Array.&lt;string&gt;&gt;</code> - Promise of list of shared dataExtension IDs
1368
+
1369
+ | Param | Type | Description |
1370
+ | --- | --- | --- |
1371
+ | sharedDataExtensionMap | <code>Object.&lt;string, string&gt;</code> | ID-Key relationship of shared data extensions |
1372
+ | fixShared_fields | <code>object</code> | DataExtensionField.fixShared_fields |
1373
+
1327
1374
  <a name="AttributeSet.parseResponseBody"></a>
1328
1375
 
1329
1376
  ### AttributeSet.parseResponseBody(body, [singleRetrieve]) ⇒ <code>TYPE.MetadataTypeMap</code>
@@ -1366,6 +1413,7 @@ Automation MetadataType
1366
1413
 
1367
1414
  * [Automation](#Automation) ⇐ [<code>MetadataType</code>](#MetadataType)
1368
1415
  * [.retrieve(retrieveDir, [_], [__], [key])](#Automation.retrieve) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1416
+ * [.handleRESTErrors(ex, id)](#Automation.handleRESTErrors) ⇒ <code>null</code>
1369
1417
  * [.retrieveChangelog()](#Automation.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1370
1418
  * [.retrieveForCache()](#Automation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1371
1419
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Automation.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.AutomationItemObj&gt;</code>
@@ -1403,6 +1451,19 @@ Retrieves Metadata of Automation
1403
1451
  | [__] | <code>void</code> | unused parameter |
1404
1452
  | [key] | <code>string</code> | customer key of single item to retrieve |
1405
1453
 
1454
+ <a name="Automation.handleRESTErrors"></a>
1455
+
1456
+ ### Automation.handleRESTErrors(ex, id) ⇒ <code>null</code>
1457
+ helper for [this.retrieveRESTcollection](this.retrieveRESTcollection)
1458
+
1459
+ **Kind**: static method of [<code>Automation</code>](#Automation)
1460
+ **Returns**: <code>null</code> - -
1461
+
1462
+ | Param | Type | Description |
1463
+ | --- | --- | --- |
1464
+ | ex | <code>Error</code> | exception |
1465
+ | id | <code>string</code> | id or key of item |
1466
+
1406
1467
  <a name="Automation.retrieveChangelog"></a>
1407
1468
 
1408
1469
  ### Automation.retrieveChangelog() ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
@@ -1781,6 +1842,7 @@ DataExtension MetadataType
1781
1842
  * [.update(metadata)](#DataExtension.update) ⇒ <code>Promise</code>
1782
1843
  * [.postDeployTasks(upsertedMetadata, originalMetadata, createdUpdated)](#DataExtension.postDeployTasks) ⇒ <code>void</code>
1783
1844
  * [.retrieve(retrieveDir, [additionalFields], [_], [key])](#DataExtension.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1845
+ * [.retrieveSharedForCache([additionalFields])](#DataExtension.retrieveSharedForCache) ⇒ <code>Promise.&lt;TYPE.DataExtensionMap&gt;</code>
1784
1846
  * [.retrieveChangelog([additionalFields])](#DataExtension.retrieveChangelog) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1785
1847
  * [.postRetrieveTasks(metadata)](#DataExtension.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionItem</code>
1786
1848
  * [.preDeployTasks(metadata)](#DataExtension.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.DataExtensionItem&gt;</code>
@@ -1873,6 +1935,19 @@ Retrieves dataExtension metadata. Afterwards starts retrieval of dataExtensionCo
1873
1935
  | [_] | <code>void</code> | unused parameter |
1874
1936
  | [key] | <code>string</code> | customer key of single item to retrieve |
1875
1937
 
1938
+ <a name="DataExtension.retrieveSharedForCache"></a>
1939
+
1940
+ ### DataExtension.retrieveSharedForCache([additionalFields]) ⇒ <code>Promise.&lt;TYPE.DataExtensionMap&gt;</code>
1941
+ get shared dataExtensions from parent BU and merge them into the cache
1942
+ helper for [retrieve](#DataExtension.retrieve) and for AttributeSet.fixShared_retrieve
1943
+
1944
+ **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
1945
+ **Returns**: <code>Promise.&lt;TYPE.DataExtensionMap&gt;</code> - keyField => metadata map
1946
+
1947
+ | Param | Type | Description |
1948
+ | --- | --- | --- |
1949
+ | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
1950
+
1876
1951
  <a name="DataExtension.retrieveChangelog"></a>
1877
1952
 
1878
1953
  ### DataExtension.retrieveChangelog([additionalFields]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
@@ -2007,7 +2082,7 @@ DataExtensionField MetadataType
2007
2082
  * [.postRetrieveTasks(metadata, forDataExtension)](#DataExtensionField.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionFieldItem</code>
2008
2083
  * [.prepareDeployColumnsOnUpdate(deployColumns, deKey)](#DataExtensionField.prepareDeployColumnsOnUpdate) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.DataExtensionFieldItem&gt;&gt;</code>
2009
2084
  * [.deleteByKey(customerKey)](#DataExtensionField.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2010
- * [.deleteByKeySOAP(customerKey)](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
2085
+ * [.deleteByKeySOAP(customerKey, [fieldId])](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
2011
2086
  * [.postDeleteTasks(customerKey)](#DataExtensionField.postDeleteTasks) ⇒ <code>void</code>
2012
2087
 
2013
2088
  <a name="DataExtensionField.retrieve"></a>
@@ -2102,7 +2177,7 @@ Delete a metadata item from the specified business unit
2102
2177
 
2103
2178
  <a name="DataExtensionField.deleteByKeySOAP"></a>
2104
2179
 
2105
- ### DataExtensionField.deleteByKeySOAP(customerKey) ⇒ <code>boolean</code>
2180
+ ### DataExtensionField.deleteByKeySOAP(customerKey, [fieldId]) ⇒ <code>boolean</code>
2106
2181
  Delete a data extension from the specified business unit
2107
2182
 
2108
2183
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
@@ -2111,6 +2186,7 @@ Delete a data extension from the specified business unit
2111
2186
  | Param | Type | Description |
2112
2187
  | --- | --- | --- |
2113
2188
  | customerKey | <code>string</code> | Identifier of metadata |
2189
+ | [fieldId] | <code>string</code> | for programmatic deletes only one can pass in the ID directly |
2114
2190
 
2115
2191
  <a name="DataExtensionField.postDeleteTasks"></a>
2116
2192
 
@@ -3325,7 +3401,7 @@ Provides default functionality that can be overwritten by child metadata type cl
3325
3401
  * [.getFieldNamesToRetrieve([additionalFields], [isCaching])](#MetadataType.getFieldNamesToRetrieve) ⇒ <code>Array.&lt;string&gt;</code>
3326
3402
  * [.deploy(metadata, deployDir, retrieveDir)](#MetadataType.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3327
3403
  * [.postDeployTasks(upsertResults, originalMetadata, createdUpdated)](#MetadataType.postDeployTasks) ⇒ <code>void</code>
3328
- * [.postCreateTasks(metadataEntry, apiResponse)](#MetadataType.postCreateTasks) ⇒ <code>void</code>
3404
+ * [.postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields)](#MetadataType.postCreateTasks) ⇒ <code>void</code>
3329
3405
  * [.postUpdateTasks(metadataEntry, apiResponse)](#MetadataType.postUpdateTasks) ⇒ <code>void</code>
3330
3406
  * [.postDeployTasks_legacyApi(metadataEntry, apiResponse)](#MetadataType.postDeployTasks_legacyApi) ⇒ <code>Promise.&lt;void&gt;</code>
3331
3407
  * [.postRetrieveTasks(metadata, targetDir, [isTemplating])](#MetadataType.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -3333,7 +3409,7 @@ Provides default functionality that can be overwritten by child metadata type cl
3333
3409
  * [.setFolderId(metadata)](#MetadataType.setFolderId)
3334
3410
  * [.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key])](#MetadataType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3335
3411
  * [.retrieveChangelog([additionalFields], [subTypeArr])](#MetadataType.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3336
- * [.retrieveForCache([additionalFields], [subTypeArr], [key])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3412
+ * [.retrieveForCache([additionalFields], [subTypeArr])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3337
3413
  * [.retrieveAsTemplate(templateDir, name, templateVariables, [subType])](#MetadataType.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3338
3414
  * [.retrieveTemplateREST(templateDir, uri, templateVariables, name)](#MetadataType.retrieveTemplateREST) ⇒ <code>Promise.&lt;{metadata: TYPE.MetadataTypeItem, type: string}&gt;</code>
3339
3415
  * [.buildTemplate(retrieveDir, templateDir, key, templateVariables)](#MetadataType.buildTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
@@ -3355,6 +3431,8 @@ Provides default functionality that can be overwritten by child metadata type cl
3355
3431
  * [.getSOAPErrorMsg(ex)](#MetadataType.getSOAPErrorMsg) ⇒ <code>string</code>
3356
3432
  * [.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3357
3433
  * [.retrieveREST(retrieveDir, uri, [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3434
+ * [.retrieveRESTcollection(urlArray, [concurrentRequests], [logAmountOfUrls])](#MetadataType.retrieveRESTcollection) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3435
+ * [.handleRESTErrors(ex, id)](#MetadataType.handleRESTErrors) ⇒ <code>null</code>
3358
3436
  * [.executeREST(uri, key)](#MetadataType.executeREST) ⇒ <code>Promise.&lt;{key:string, response:string}&gt;</code>
3359
3437
  * [.executeSOAP([metadataEntry])](#MetadataType.executeSOAP) ⇒ <code>Promise.&lt;{key:string, response:object}&gt;</code>
3360
3438
  * [.runDocumentOnRetrieve([singleRetrieve], metadataMap)](#MetadataType.runDocumentOnRetrieve) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -3455,7 +3533,7 @@ Gets executed after deployment of metadata type
3455
3533
 
3456
3534
  <a name="MetadataType.postCreateTasks"></a>
3457
3535
 
3458
- ### MetadataType.postCreateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
3536
+ ### MetadataType.postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields) ⇒ <code>void</code>
3459
3537
  helper for [createREST](#MetadataType.createREST)
3460
3538
 
3461
3539
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3464,6 +3542,7 @@ helper for [createREST](#MetadataType.createREST)
3464
3542
  | --- | --- | --- |
3465
3543
  | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3466
3544
  | apiResponse | <code>object</code> | varies depending on the API call |
3545
+ | metadataEntryWithAllFields | <code>TYPE.MetadataTypeItem</code> | like metadataEntry but before non-creatable fields were stripped |
3467
3546
 
3468
3547
  <a name="MetadataType.postUpdateTasks"></a>
3469
3548
 
@@ -3556,7 +3635,7 @@ Gets metadata from Marketing Cloud
3556
3635
 
3557
3636
  <a name="MetadataType.retrieveForCache"></a>
3558
3637
 
3559
- ### MetadataType.retrieveForCache([additionalFields], [subTypeArr], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3638
+ ### MetadataType.retrieveForCache([additionalFields], [subTypeArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3560
3639
  Gets metadata cache with limited fields and does not store value to disk
3561
3640
 
3562
3641
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3566,7 +3645,6 @@ Gets metadata cache with limited fields and does not store value to disk
3566
3645
  | --- | --- | --- |
3567
3646
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3568
3647
  | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
3569
- | [key] | <code>string</code> | customer key of single item to retrieve |
3570
3648
 
3571
3649
  <a name="MetadataType.retrieveAsTemplate"></a>
3572
3650
 
@@ -3833,6 +3911,31 @@ Retrieves Metadata for Rest Types
3833
3911
  | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
3834
3912
  | [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
3835
3913
 
3914
+ <a name="MetadataType.retrieveRESTcollection"></a>
3915
+
3916
+ ### MetadataType.retrieveRESTcollection(urlArray, [concurrentRequests], [logAmountOfUrls]) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3917
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3918
+ **Returns**: <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code> - Promise of item map (single item for templated result)
3919
+
3920
+ | Param | Type | Default | Description |
3921
+ | --- | --- | --- | --- |
3922
+ | urlArray | <code>Array.&lt;object&gt;</code> | | {uri: string, id: string} combo of URL and ID/key of metadata |
3923
+ | [concurrentRequests] | <code>number</code> | <code>10</code> | optionally set a different amount of concurrent requests |
3924
+ | [logAmountOfUrls] | <code>boolean</code> | <code>true</code> | if true, prints an info message about to-be loaded amount of metadata |
3925
+
3926
+ <a name="MetadataType.handleRESTErrors"></a>
3927
+
3928
+ ### MetadataType.handleRESTErrors(ex, id) ⇒ <code>null</code>
3929
+ helper for [this.retrieveRESTcollection](this.retrieveRESTcollection)
3930
+
3931
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3932
+ **Returns**: <code>null</code> - -
3933
+
3934
+ | Param | Type | Description |
3935
+ | --- | --- | --- |
3936
+ | ex | <code>Error</code> | exception |
3937
+ | id | <code>string</code> | id or key of item |
3938
+
3836
3939
  <a name="MetadataType.executeREST"></a>
3837
3940
 
3838
3941
  ### MetadataType.executeREST(uri, key) ⇒ <code>Promise.&lt;{key:string, response:string}&gt;</code>
@@ -5351,7 +5454,10 @@ TransactionalEmail MetadataType
5351
5454
  * [TransactionalEmail](#TransactionalEmail) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
5352
5455
  * [.update(metadata)](#TransactionalEmail.update) ⇒ <code>Promise</code>
5353
5456
  * [.preDeployTasks(metadata)](#TransactionalEmail.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
5457
+ * [.postCreateTasks(_, apiResponse)](#TransactionalEmail.postCreateTasks) ⇒ <code>void</code>
5458
+ * [.postDeployTasks()](#TransactionalEmail.postDeployTasks) ⇒ <code>void</code>
5354
5459
  * [.postRetrieveTasks(metadata)](#TransactionalEmail.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
5460
+ * [.deleteByKey(key)](#TransactionalEmail.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5355
5461
 
5356
5462
  <a name="TransactionalEmail.update"></a>
5357
5463
 
@@ -5377,6 +5483,24 @@ prepares for deployment
5377
5483
  | --- | --- | --- |
5378
5484
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
5379
5485
 
5486
+ <a name="TransactionalEmail.postCreateTasks"></a>
5487
+
5488
+ ### TransactionalEmail.postCreateTasks(_, apiResponse) ⇒ <code>void</code>
5489
+ helper for [TransactionalEmail.createREST](TransactionalEmail.createREST)
5490
+
5491
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
5492
+
5493
+ | Param | Type | Description |
5494
+ | --- | --- | --- |
5495
+ | _ | <code>TYPE.MetadataTypeItem</code> | not used |
5496
+ | apiResponse | <code>object</code> | varies depending on the API call |
5497
+
5498
+ <a name="TransactionalEmail.postDeployTasks"></a>
5499
+
5500
+ ### TransactionalEmail.postDeployTasks() ⇒ <code>void</code>
5501
+ Gets executed after deployment of metadata type
5502
+
5503
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
5380
5504
  <a name="TransactionalEmail.postRetrieveTasks"></a>
5381
5505
 
5382
5506
  ### TransactionalEmail.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -5389,6 +5513,18 @@ manages post retrieve steps
5389
5513
  | --- | --- | --- |
5390
5514
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
5391
5515
 
5516
+ <a name="TransactionalEmail.deleteByKey"></a>
5517
+
5518
+ ### TransactionalEmail.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
5519
+ Delete a metadata item from the specified business unit
5520
+
5521
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
5522
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
5523
+
5524
+ | Param | Type | Description |
5525
+ | --- | --- | --- |
5526
+ | key | <code>string</code> | Identifier of item |
5527
+
5392
5528
  <a name="TransactionalMessage"></a>
5393
5529
 
5394
5530
  ## TransactionalMessage ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -5399,7 +5535,7 @@ TransactionalMessage MetadataType
5399
5535
 
5400
5536
  * [TransactionalMessage](#TransactionalMessage) ⇐ [<code>MetadataType</code>](#MetadataType)
5401
5537
  * [.retrieve(retrieveDir, [_], [__], [key])](#TransactionalMessage.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5402
- * [.retrieveForCache()](#TransactionalMessage.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5538
+ * [.retrieveForCache([key])](#TransactionalMessage.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5403
5539
  * [.update(metadata)](#TransactionalMessage.update) ⇒ <code>Promise</code>
5404
5540
  * [.create(metadata)](#TransactionalMessage.create) ⇒ <code>Promise</code>
5405
5541
  * [.deleteByKey(key)](#TransactionalMessage.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -5421,11 +5557,16 @@ Retrieves Metadata
5421
5557
 
5422
5558
  <a name="TransactionalMessage.retrieveForCache"></a>
5423
5559
 
5424
- ### TransactionalMessage.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5560
+ ### TransactionalMessage.retrieveForCache([key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5425
5561
  Retrieves event definition metadata for caching
5426
5562
 
5427
5563
  **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
5428
5564
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
5565
+
5566
+ | Param | Type | Description |
5567
+ | --- | --- | --- |
5568
+ | [key] | <code>string</code> | customer key of single item to cache |
5569
+
5429
5570
  <a name="TransactionalMessage.update"></a>
5430
5571
 
5431
5572
  ### TransactionalMessage.update(metadata) ⇒ <code>Promise</code>
@@ -5975,6 +6116,133 @@ manages post retrieve steps
5975
6116
  | --- | --- | --- |
5976
6117
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
5977
6118
 
6119
+ <a name="Verification"></a>
6120
+
6121
+ ## Verification ⇐ [<code>MetadataType</code>](#MetadataType)
6122
+ Verification MetadataType
6123
+
6124
+ **Kind**: global class
6125
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
6126
+
6127
+ * [Verification](#Verification) ⇐ [<code>MetadataType</code>](#MetadataType)
6128
+ * [.retrieve(retrieveDir, [_], [__], key)](#Verification.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
6129
+ * [.handleRESTErrors(ex, id)](#Verification.handleRESTErrors) ⇒ <code>null</code>
6130
+ * [.retrieveForCache()](#Verification.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
6131
+ * [.create(metadata)](#Verification.create) ⇒ <code>Promise</code>
6132
+ * [.postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields)](#Verification.postCreateTasks) ⇒ <code>void</code>
6133
+ * [.update(metadata)](#Verification.update) ⇒ <code>Promise</code>
6134
+ * [.preDeployTasks(metadata)](#Verification.preDeployTasks) ⇒ <code>TYPE.VerificationItem</code>
6135
+ * [.postRetrieveTasks(metadata)](#Verification.postRetrieveTasks) ⇒ <code>TYPE.VerificationItem</code>
6136
+ * [.deleteByKey(key)](#Verification.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
6137
+
6138
+ <a name="Verification.retrieve"></a>
6139
+
6140
+ ### Verification.retrieve(retrieveDir, [_], [__], key) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
6141
+ Retrieves Metadata of Data Verification Activity.
6142
+
6143
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6144
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
6145
+
6146
+ | Param | Type | Description |
6147
+ | --- | --- | --- |
6148
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
6149
+ | [_] | <code>void</code> | unused parameter |
6150
+ | [__] | <code>void</code> | unused parameter |
6151
+ | key | <code>string</code> | customer key of single item to retrieve |
6152
+
6153
+ <a name="Verification.handleRESTErrors"></a>
6154
+
6155
+ ### Verification.handleRESTErrors(ex, id) ⇒ <code>null</code>
6156
+ helper for [this.retrieveRESTcollection](this.retrieveRESTcollection)
6157
+
6158
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6159
+ **Returns**: <code>null</code> - -
6160
+
6161
+ | Param | Type | Description |
6162
+ | --- | --- | --- |
6163
+ | ex | <code>Error</code> | exception |
6164
+ | id | <code>string</code> | id or key of item |
6165
+
6166
+ <a name="Verification.retrieveForCache"></a>
6167
+
6168
+ ### Verification.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
6169
+ Retrieves Metadata of Data Extract Activity for caching
6170
+
6171
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6172
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
6173
+ <a name="Verification.create"></a>
6174
+
6175
+ ### Verification.create(metadata) ⇒ <code>Promise</code>
6176
+ Creates a single Data Extract
6177
+
6178
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6179
+ **Returns**: <code>Promise</code> - Promise
6180
+
6181
+ | Param | Type | Description |
6182
+ | --- | --- | --- |
6183
+ | metadata | <code>TYPE.VerificationItem</code> | a single Data Extract |
6184
+
6185
+ <a name="Verification.postCreateTasks"></a>
6186
+
6187
+ ### Verification.postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields) ⇒ <code>void</code>
6188
+ helper for [createREST](#MetadataType.createREST)
6189
+
6190
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6191
+
6192
+ | Param | Type | Description |
6193
+ | --- | --- | --- |
6194
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
6195
+ | apiResponse | <code>object</code> | varies depending on the API call |
6196
+ | metadataEntryWithAllFields | <code>TYPE.MetadataTypeItem</code> | like metadataEntry but before non-creatable fields were stripped |
6197
+
6198
+ <a name="Verification.update"></a>
6199
+
6200
+ ### Verification.update(metadata) ⇒ <code>Promise</code>
6201
+ Updates a single Data Extract
6202
+
6203
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6204
+ **Returns**: <code>Promise</code> - Promise
6205
+
6206
+ | Param | Type | Description |
6207
+ | --- | --- | --- |
6208
+ | metadata | <code>TYPE.VerificationItem</code> | a single Data Extract |
6209
+
6210
+ <a name="Verification.preDeployTasks"></a>
6211
+
6212
+ ### Verification.preDeployTasks(metadata) ⇒ <code>TYPE.VerificationItem</code>
6213
+ prepares a verification for deployment
6214
+
6215
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6216
+ **Returns**: <code>TYPE.VerificationItem</code> - metadata object
6217
+
6218
+ | Param | Type | Description |
6219
+ | --- | --- | --- |
6220
+ | metadata | <code>TYPE.VerificationItem</code> | a single verification activity definition |
6221
+
6222
+ <a name="Verification.postRetrieveTasks"></a>
6223
+
6224
+ ### Verification.postRetrieveTasks(metadata) ⇒ <code>TYPE.VerificationItem</code>
6225
+ parses retrieved Metadata before saving
6226
+
6227
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6228
+ **Returns**: <code>TYPE.VerificationItem</code> - Array with one metadata object and one sql string
6229
+
6230
+ | Param | Type | Description |
6231
+ | --- | --- | --- |
6232
+ | metadata | <code>TYPE.VerificationItem</code> | a single verification activity definition |
6233
+
6234
+ <a name="Verification.deleteByKey"></a>
6235
+
6236
+ ### Verification.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
6237
+ Delete a metadata item from the specified business unit
6238
+
6239
+ **Kind**: static method of [<code>Verification</code>](#Verification)
6240
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
6241
+
6242
+ | Param | Type | Description |
6243
+ | --- | --- | --- |
6244
+ | key | <code>string</code> | Identifier of item |
6245
+
5978
6246
  <a name="Retriever"></a>
5979
6247
 
5980
6248
  ## Retriever
@@ -8539,6 +8807,110 @@ helper for [postDeployTasks](#Automation.postDeployTasks)
8539
8807
  | key | <code>string</code> | current customer key |
8540
8808
  | [oldKey] | <code>string</code> | old customer key before fixKey / changeKeyValue / changeKeyField |
8541
8809
 
8810
+ <a name="DataExtension."></a>
8811
+
8812
+ ## DataExtension.(upsertedMetadata, originalMetadata, createdUpdated) ⇒ <code>void</code>
8813
+ takes care of updating attribute groups on child BUs after an update to Shared DataExtensions
8814
+ helper for [postDeployTasks](#DataExtension.postDeployTasks)
8815
+ fixes an issue where shared data extensions are not visible in data designer on child BU; SF known issue: https://issues.salesforce.com/#q=W-11031095
8816
+
8817
+ **Kind**: global function
8818
+
8819
+ | Param | Type | Description |
8820
+ | --- | --- | --- |
8821
+ | upsertedMetadata | <code>TYPE.DataExtensionMap</code> | metadata mapped by their keyField |
8822
+ | originalMetadata | <code>TYPE.DataExtensionMap</code> | metadata to be updated (contains additioanl fields) |
8823
+ | createdUpdated | <code>Object</code> | counter representing successful creates/updates |
8824
+
8825
+ <a name="DataExtension."></a>
8826
+
8827
+ ## DataExtension.() ⇒ <code>Array.&lt;string&gt;</code>
8828
+ helper for [DataExtension.#fixShared](DataExtension.#fixShared)
8829
+
8830
+ **Kind**: global function
8831
+ **Returns**: <code>Array.&lt;string&gt;</code> - list of selected BU names
8832
+ <a name="DataExtension."></a>
8833
+
8834
+ ## DataExtension.(childBuName, buObjectParent, clientParent, sharedDataExtensionMap) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
8835
+ helper for [DataExtension.#fixShared](DataExtension.#fixShared)
8836
+
8837
+ **Kind**: global function
8838
+ **Returns**: <code>Promise.&lt;Array.&lt;string&gt;&gt;</code> - updated shared DE keys on BU
8839
+
8840
+ | Param | Type | Description |
8841
+ | --- | --- | --- |
8842
+ | childBuName | <code>string</code> | name of child BU to fix |
8843
+ | buObjectParent | <code>TYPE.BuObject</code> | bu object for parent BU |
8844
+ | clientParent | <code>object</code> | SDK for parent BU |
8845
+ | sharedDataExtensionMap | <code>Object.&lt;string, string&gt;</code> | ID-Key relationship of shared data extensions |
8846
+
8847
+ <a name="DataExtension."></a>
8848
+
8849
+ ## DataExtension.(deId, deKey, buObjectChildBu, clientChildBu, buObjectParent, clientParent) ⇒ <code>Promise.&lt;boolean&gt;</code>
8850
+ method that actually takes care of triggering the update for a particular BU-sharedDe combo
8851
+ helper for [DataExtension.#fixShared_onBU](DataExtension.#fixShared_onBU)
8852
+
8853
+ **Kind**: global function
8854
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - flag that signals if the fix was successful
8855
+
8856
+ | Param | Type | Description |
8857
+ | --- | --- | --- |
8858
+ | deId | <code>string</code> | data extension ObjectID |
8859
+ | deKey | <code>string</code> | dataExtension key |
8860
+ | buObjectChildBu | <code>TYPE.BuObject</code> | BU object for Child BU |
8861
+ | clientChildBu | <code>object</code> | SDK for child BU |
8862
+ | buObjectParent | <code>TYPE.BuObject</code> | BU object for Parent BU |
8863
+ | clientParent | <code>object</code> | SDK for parent BU |
8864
+
8865
+ <a name="DataExtension."></a>
8866
+
8867
+ ## DataExtension.(buObjectChildBu, clientChildBu, deKey, deId) ⇒ <code>Promise.&lt;string&gt;</code>
8868
+ add a new field to the shared DE to trigger an update to the data model
8869
+ helper for [DataExtension.#fixShared_item](DataExtension.#fixShared_item)
8870
+
8871
+ **Kind**: global function
8872
+ **Returns**: <code>Promise.&lt;string&gt;</code> - randomSuffix
8873
+
8874
+ | Param | Type | Description |
8875
+ | --- | --- | --- |
8876
+ | buObjectChildBu | <code>TYPE.BuObject</code> | BU object for Child BU |
8877
+ | clientChildBu | <code>object</code> | SDK for child BU |
8878
+ | deKey | <code>string</code> | dataExtension key |
8879
+ | deId | <code>string</code> | dataExtension ObjectID |
8880
+
8881
+ <a name="DataExtension."></a>
8882
+
8883
+ ## DataExtension.(randomSuffix, buObjectParent, clientParent, deKey) ⇒ <code>Promise.&lt;string&gt;</code>
8884
+ get ID of the field added by [DataExtension.#fixShared_item_addField](DataExtension.#fixShared_item_addField) on the shared DE via parent BU
8885
+ helper for [DataExtension.#fixShared_item](DataExtension.#fixShared_item)
8886
+
8887
+ **Kind**: global function
8888
+ **Returns**: <code>Promise.&lt;string&gt;</code> - fieldObjectID
8889
+
8890
+ | Param | Type | Description |
8891
+ | --- | --- | --- |
8892
+ | randomSuffix | <code>string</code> | - |
8893
+ | buObjectParent | <code>TYPE.BuObject</code> | BU object for Parent BU |
8894
+ | clientParent | <code>object</code> | SDK for parent BU |
8895
+ | deKey | <code>string</code> | dataExtension key |
8896
+
8897
+ <a name="DataExtension."></a>
8898
+
8899
+ ## DataExtension.(randomSuffix, buObjectChildBu, clientChildBu, deKey, fieldObjectID) ⇒ <code>Promise</code>
8900
+ delete the field added by [DataExtension.#fixShared_item_addField](DataExtension.#fixShared_item_addField)
8901
+ helper for [DataExtension.#fixShared_item](DataExtension.#fixShared_item)
8902
+
8903
+ **Kind**: global function
8904
+ **Returns**: <code>Promise</code> - -
8905
+
8906
+ | Param | Type | Description |
8907
+ | --- | --- | --- |
8908
+ | randomSuffix | <code>string</code> | - |
8909
+ | buObjectChildBu | <code>TYPE.BuObject</code> | BU object for Child BU |
8910
+ | clientChildBu | <code>object</code> | SDK for child BU |
8911
+ | deKey | <code>string</code> | dataExtension key |
8912
+ | fieldObjectID | <code>string</code> | field ObjectID |
8913
+
8542
8914
  <a name="getUserName"></a>
8543
8915
 
8544
8916
  ## getUserName(userList, item, fieldname) ⇒ <code>string</code>
@@ -8874,6 +9246,25 @@ SOAP format
8874
9246
  | r__folder_Path | <code>string</code> | folder path |
8875
9247
  | [categoryId] | <code>string</code> | holds folder ID, replaced with r__folder_Path during retrieve |
8876
9248
 
9249
+ <a name="VerificationItem"></a>
9250
+
9251
+ ## VerificationItem : <code>object</code>
9252
+ **Kind**: global typedef
9253
+ **Properties**
9254
+
9255
+ | Name | Type | Description |
9256
+ | --- | --- | --- |
9257
+ | dataVerificationDefinitionId | <code>string</code> | ID / Key |
9258
+ | verificationType | <code>&#x27;IsEqualTo&#x27;</code> \| <code>&#x27;IsLessThan&#x27;</code> \| <code>&#x27;IsGreaterThan&#x27;</code> \| <code>&#x27;IsOutsideRange&#x27;</code> \| <code>&#x27;IsInsideRange&#x27;</code> \| <code>&#x27;IsNotEqualTo&#x27;</code> \| <code>&#x27;IsNotLessThan&#x27;</code> \| <code>&#x27;IsNotGreaterThan&#x27;</code> \| <code>&#x27;IsNotOutsideRange&#x27;</code> \| <code>&#x27;IsNotInsideRange&#x27;</code> | key |
9259
+ | value1 | <code>number</code> | used for all verificationTypes; lower value for IsOutsideRange, IsInsideRange, IsNotOutsideRange, IsNotInsideRange |
9260
+ | value2 | <code>number</code> | only used for IsOutsideRange, IsInsideRange, IsNotOutsideRange, IsNotInsideRange; otherwise set to 0 |
9261
+ | shouldStopOnFailure | <code>boolean</code> | flag to stop automation if verification fails |
9262
+ | shouldEmailOnFailure | <code>boolean</code> | flag to send email if verification fails |
9263
+ | notificationEmailAddress | <code>string</code> | email address to send notification to; empty string if shouldEmailOnFailure=false |
9264
+ | notificationEmailMessage | <code>string</code> | email message to send; empty string if shouldEmailOnFailure=false |
9265
+ | createdBy | <code>number</code> | user id of creator |
9266
+ | r__dataExtension_CustomerKey | <code>string</code> | key of target data extension |
9267
+
8877
9268
  <a name="SDK"></a>
8878
9269
 
8879
9270
  ## SDK : <code>Object.&lt;string, AutomationItem&gt;</code>