From 511741ed356b365f52e0335ce6a1fc953ccbc465 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Wed, 27 Dec 2023 01:54:36 +0530 Subject: [PATCH 01/22] fix: send empty string instead of null when the schema data is undefined (#2955) --- .../destinations/fb_custom_audience/util.js | 10 +++++----- .../fb_custom_audience/processor/data.ts | 6 +++--- .../fb_custom_audience/router/data.ts | 20 +++++++++---------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/v0/destinations/fb_custom_audience/util.js b/src/v0/destinations/fb_custom_audience/util.js index 47ccb9bf7d..6c53ed2814 100644 --- a/src/v0/destinations/fb_custom_audience/util.js +++ b/src/v0/destinations/fb_custom_audience/util.js @@ -131,21 +131,21 @@ const getUpdatedDataElement = (dataElement, isHashRequired, eachProperty, update /** * hash the original value for the properties apart from 'MADID' && 'EXTERN_ID as hashing is not required for them * ref: https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences#hash - * sending null values for the properties for which user hasn't provided any value + * sending empty string for the properties for which user hasn't provided any value */ if (isHashRequired && eachProperty !== 'MADID' && eachProperty !== 'EXTERN_ID') { if (tmpUpdatedProperty) { tmpUpdatedProperty = `${tmpUpdatedProperty}`; dataElement.push(sha256(tmpUpdatedProperty)); } else { - dataElement.push(null); + dataElement.push(''); } } - // if property name is MADID or EXTERN_ID if the value is undefined send null + // if property name is MADID or EXTERN_ID if the value is undefined send empty string else if (!tmpUpdatedProperty && (eachProperty === 'MADID' || eachProperty === 'EXTERN_ID')) { - dataElement.push(null); + dataElement.push(''); } else { - dataElement.push(tmpUpdatedProperty); + dataElement.push(tmpUpdatedProperty || ''); } return dataElement; }; diff --git a/test/integrations/destinations/fb_custom_audience/processor/data.ts b/test/integrations/destinations/fb_custom_audience/processor/data.ts index 4f892f6fef..267b966865 100644 --- a/test/integrations/destinations/fb_custom_audience/processor/data.ts +++ b/test/integrations/destinations/fb_custom_audience/processor/data.ts @@ -1987,7 +1987,7 @@ export const data = [ 'a953f09a1b6b6725b81956e9ad0b1eb49e3ad40004c04307ef8af6246a054116', '3fdba35f04dc8c462986c992bcf875546257113072a909c162f7e470e581e278', '7931aa2a1bed855457d1ddf6bc06ab4406a9fba0579045a4d6ff78f9c07c440f', - null, + '', '252f10c83610ebca1a059c0bae8255eba2f95be4d1d7bcfa89d7248a82d9f111', 'db0683221aebc02cc034b65ebcf7d1bddd1eb199e33fd23a31931947d13a11bc', 'abc', @@ -2123,7 +2123,7 @@ export const data = [ 'ST', 'COUNTRY', ], - data: [[null, null, null, null, null, null, null, null, null, null, null]], + data: [['', '', '', '', '', '', '', '', '', '', '']], }, }, body: { @@ -2256,7 +2256,7 @@ export const data = [ 'a953f09a1b6b6725b81956e9ad0b1eb49e3ad40004c04307ef8af6246a054116', '3fdba35f04dc8c462986c992bcf875546257113072a909c162f7e470e581e278', '7931aa2a1bed855457d1ddf6bc06ab4406a9fba0579045a4d6ff78f9c07c440f', - null, + '', '252f10c83610ebca1a059c0bae8255eba2f95be4d1d7bcfa89d7248a82d9f111', 'db0683221aebc02cc034b65ebcf7d1bddd1eb199e33fd23a31931947d13a11bc', 'abc', diff --git a/test/integrations/destinations/fb_custom_audience/router/data.ts b/test/integrations/destinations/fb_custom_audience/router/data.ts index efefb80a89..fd099fe33c 100644 --- a/test/integrations/destinations/fb_custom_audience/router/data.ts +++ b/test/integrations/destinations/fb_custom_audience/router/data.ts @@ -26757,16 +26757,16 @@ export const data = [ payload: { schema: ['EMAIL', 'FN'], data: [ - ['7625cab24612c37df6d2f724721bb38a25095d0295e29b807238ee188b8aca43', null], - ['b2b4abadd72190af54305c0d3abf1977fec4935016bb13ff28040d5712318dfd', null], - ['c4b007d1c3c9a5d31bd4082237a913e8e0db1767225c2a5ef33be2716df005fa', null], - ['94639be1bd9f17c05820164e9d71ef78558f117a9e8bfab43cf8015e08aa0b27', null], - ['39b456cfb4bb07f9e6bb18698aa173171ca49c731fccc4790e9ecea808d24ae6', null], - ['769f73387add781a481ca08300008a08fb2f1816aaed196137efc2e05976d711', null], - ['48ddb93f0b30c475423fe177832912c5bcdce3cc72872f8051627967ef278e08', null], - ['da2d431121cd10578fd81f8f80344b06db59ea2d05a7b5d27536c8789ddae8f0', null], - ['b100c2ec0718fe6b4805b623aeec6710719d042ceea55f5c8135b010ec1c7b36', null], - ['0c1d1b0ba547a742013366d6fbc8f71dd77f566d94e41ed9f828a74b96928161', null], + ['7625cab24612c37df6d2f724721bb38a25095d0295e29b807238ee188b8aca43', ''], + ['b2b4abadd72190af54305c0d3abf1977fec4935016bb13ff28040d5712318dfd', ''], + ['c4b007d1c3c9a5d31bd4082237a913e8e0db1767225c2a5ef33be2716df005fa', ''], + ['94639be1bd9f17c05820164e9d71ef78558f117a9e8bfab43cf8015e08aa0b27', ''], + ['39b456cfb4bb07f9e6bb18698aa173171ca49c731fccc4790e9ecea808d24ae6', ''], + ['769f73387add781a481ca08300008a08fb2f1816aaed196137efc2e05976d711', ''], + ['48ddb93f0b30c475423fe177832912c5bcdce3cc72872f8051627967ef278e08', ''], + ['da2d431121cd10578fd81f8f80344b06db59ea2d05a7b5d27536c8789ddae8f0', ''], + ['b100c2ec0718fe6b4805b623aeec6710719d042ceea55f5c8135b010ec1c7b36', ''], + ['0c1d1b0ba547a742013366d6fbc8f71dd77f566d94e41ed9f828a74b96928161', ''], ], }, }, From 551c44d14a646e1534cd12d3b5deef4d0c601cf2 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 27 Dec 2023 07:11:13 +0000 Subject: [PATCH 02/22] chore(release): 1.52.4 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6bca95652..8933728ccf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [1.52.4](https://github.com/rudderlabs/rudder-transformer/compare/v1.52.3...v1.52.4) (2023-12-27) + + +### Bug Fixes + +* send empty string instead of null when the schema data is undefined ([#2955](https://github.com/rudderlabs/rudder-transformer/issues/2955)) ([511741e](https://github.com/rudderlabs/rudder-transformer/commit/511741ed356b365f52e0335ce6a1fc953ccbc465)) + ### [1.52.3](https://github.com/rudderlabs/rudder-transformer/compare/v1.52.2...v1.52.3) (2023-12-18) diff --git a/package-lock.json b/package-lock.json index 573993a1a6..552802d3be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-transformer", - "version": "1.52.3", + "version": "1.52.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-transformer", - "version": "1.52.3", + "version": "1.52.4", "license": "ISC", "dependencies": { "@amplitude/ua-parser-js": "^0.7.24", diff --git a/package.json b/package.json index e8259c96e6..b80b5be2c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-transformer", - "version": "1.52.3", + "version": "1.52.4", "description": "", "homepage": "https://github.com/rudderlabs/rudder-transformer#readme", "bugs": { From efca60cd0f337d261ae96e1f5c400f0ddb0d5bba Mon Sep 17 00:00:00 2001 From: Dilip Kola <33080863+koladilip@users.noreply.github.com> Date: Wed, 27 Dec 2023 13:16:39 +0530 Subject: [PATCH 03/22] chore: upgrade node to 18.19 (#2940) * chore: upgrade node to 18.19 * fix: image name --------- Co-authored-by: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> --- .nvmrc | 2 +- Dockerfile | 2 +- package-lock.json | 35 ----------------------------------- 3 files changed, 2 insertions(+), 37 deletions(-) diff --git a/.nvmrc b/.nvmrc index 6d80269a4f..a9d087399d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.16.0 +18.19.0 diff --git a/Dockerfile b/Dockerfile index a568ce95c7..6bd03c9515 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.4 -FROM node:18.17-alpine3.17 AS base +FROM node:18.19.0-alpine3.18 AS base ENV HUSKY 0 RUN apk update diff --git a/package-lock.json b/package-lock.json index 3fd630c9ec..76e90faf57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3710,41 +3710,6 @@ "tslib": "^2.6.2" } }, - "node_modules/@rudderstack/workflow-engine/node_modules/@smithy/is-array-buffer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", - "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rudderstack/workflow-engine/node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", - "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rudderstack/workflow-engine/node_modules/@smithy/util-utf8": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", - "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@sideway/address": { "version": "4.1.4", "license": "BSD-3-Clause", From 4e1a200516bd4b9ae42f2bea09ff196b4dede6f9 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Wed, 27 Dec 2023 21:32:43 +0530 Subject: [PATCH 04/22] chore: update pr template (#2956) * chore: update pr template * chore: address comments * Update .github/pull_request_template.md Co-authored-by: Krishna Chaitanya * Update .github/pull_request_template.md Co-authored-by: Krishna Chaitanya * chore: updated checklist * chore: fix linear, heading --------- Co-authored-by: Krishna Chaitanya --- .github/pull_request_template.md | 34 ++++++++++++++------------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 5b716b7e9f..fe308ce8b9 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,21 +2,15 @@ Write a brief explainer on your code changes. -## Please explain the objectives of your changes below - -Put down any required details on the broader aspect of your changes. If there are any dependent changes, **mandatorily** mention them here - -### Type of change +## What is the related Linear task? -If the pull request is a **bug-fix**, **enhancement** or a **refactor**, please fill in the details on the changes made. +Resolves INT-XXX -- Existing capabilities/behavior - -- New capabilities/behavior +## Please explain the objectives of your changes below -If the pull request is a **new feature**, +Put down any required details on the broader aspect of your changes. If there are any dependent changes, **mandatorily** mention them here -### Any technical or performance related pointers to consider with the change? +### Any changes to existing capabilities/behaviour, mention the reason & what are the changes ? N/A @@ -28,11 +22,7 @@ N/A N/A -### If the PR has changes in more than 10 files, please mention why the changes were not split into multiple PRs. - -N/A - -### If multiple linear tasks are associated with the PR changes, please elaborate on the reason: +### Any technical or performance related pointers to consider with the change? N/A @@ -40,13 +30,19 @@ N/A ### Developer checklist +- [ ] My code follows the style guidelines of this project + - [ ] **No breaking changes are being introduced.** -- [ ] Are all related docs linked with the PR? +- [ ] All related docs linked with the PR? + +- [ ] All changes manually tested? + +- [ ] Any documentation changes needed with this change? -- [ ] Are all changes manually tested? +- [ ] Is the PR limited to 10 file changes? -- [ ] Does this change require any documentation changes? +- [ ] Is the PR limited to one linear task? - [ ] Are relevant unit and component test-cases added? From 970d37d6a3e4196c284513dd56f5405b0f3f2821 Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Tue, 2 Jan 2024 19:34:09 +0530 Subject: [PATCH 05/22] feat: pass ip details for factorsAI (#2925) --- .../factorsai/data/FactorsAIGroupConfig.json | 5 + .../data/FactorsAIIdentifyConfig.json | 5 + .../factorsai/data/FactorsAITrackConfig.json | 5 + src/v0/destinations/factorsai/transform.js | 17 +- .../destinations/factorsai/data.ts | 270 ++++++++++++++++++ 5 files changed, 299 insertions(+), 3 deletions(-) diff --git a/src/v0/destinations/factorsai/data/FactorsAIGroupConfig.json b/src/v0/destinations/factorsai/data/FactorsAIGroupConfig.json index f5f78e71e4..d581f56070 100644 --- a/src/v0/destinations/factorsai/data/FactorsAIGroupConfig.json +++ b/src/v0/destinations/factorsai/data/FactorsAIGroupConfig.json @@ -34,5 +34,10 @@ "destKey": "email", "sourceKeys": "email", "required": false + }, + { + "sourceKeys": "context", + "destKey": "context", + "required": false } ] diff --git a/src/v0/destinations/factorsai/data/FactorsAIIdentifyConfig.json b/src/v0/destinations/factorsai/data/FactorsAIIdentifyConfig.json index 9a08c382d4..b34cd2147e 100644 --- a/src/v0/destinations/factorsai/data/FactorsAIIdentifyConfig.json +++ b/src/v0/destinations/factorsai/data/FactorsAIIdentifyConfig.json @@ -34,5 +34,10 @@ "destKey": "channel", "sourceKeys": "channel", "required": false + }, + { + "sourceKeys": "context", + "destKey": "context", + "required": false } ] diff --git a/src/v0/destinations/factorsai/data/FactorsAITrackConfig.json b/src/v0/destinations/factorsai/data/FactorsAITrackConfig.json index ccb9686c29..67df67fc76 100644 --- a/src/v0/destinations/factorsai/data/FactorsAITrackConfig.json +++ b/src/v0/destinations/factorsai/data/FactorsAITrackConfig.json @@ -44,5 +44,10 @@ "destKey": "channel", "sourceKeys": "channel", "required": false + }, + { + "sourceKeys": "context", + "destKey": "context", + "required": false } ] diff --git a/src/v0/destinations/factorsai/transform.js b/src/v0/destinations/factorsai/transform.js index 9824b73bbf..9fbfc926f7 100644 --- a/src/v0/destinations/factorsai/transform.js +++ b/src/v0/destinations/factorsai/transform.js @@ -13,6 +13,14 @@ const { JSON_MIME_TYPE } = require('../../util/constant'); const { ConfigCategories, mappingConfig, BASE_URL } = require('./config'); +function populateIpDetails(requestJson, message) { + const payload = requestJson; + if (message.context || message.request_ip) { + payload.context = { ...(payload.context || {}), ip: message.context?.ip || message.request_ip }; + } + return payload; +} + // build final response function buildResponse(payload, factorsAIApiKey) { const response = defaultRequestConfig(); @@ -29,13 +37,15 @@ function buildResponse(payload, factorsAIApiKey) { // process identify call function processIdentify(message, factorsAIApiKey) { - const requestJson = constructPayload(message, mappingConfig[ConfigCategories.IDENTIFY.name]); + let requestJson = constructPayload(message, mappingConfig[ConfigCategories.IDENTIFY.name]); + requestJson = populateIpDetails(requestJson, message); return buildResponse(requestJson, factorsAIApiKey); } // process track call function processTrack(message, factorsAIApiKey) { - const requestJson = constructPayload(message, mappingConfig[ConfigCategories.TRACK.name]); + let requestJson = constructPayload(message, mappingConfig[ConfigCategories.TRACK.name]); + requestJson = populateIpDetails(requestJson, message); // flatten json as factorsAi do not support nested properties requestJson.properties = flattenJson(requestJson.properties); return buildResponse(requestJson, factorsAIApiKey); @@ -43,7 +53,8 @@ function processTrack(message, factorsAIApiKey) { // process Page Call function processPageAndGroup(message, factorsAIApiKey, category) { - const requestJson = constructPayload(message, mappingConfig[category]); + let requestJson = constructPayload(message, mappingConfig[category]); + requestJson = populateIpDetails(requestJson, message); requestJson.type = message.type; return buildResponse(requestJson, factorsAIApiKey); } diff --git a/test/integrations/destinations/factorsai/data.ts b/test/integrations/destinations/factorsai/data.ts index fb0a76bf34..be13c291f4 100644 --- a/test/integrations/destinations/factorsai/data.ts +++ b/test/integrations/destinations/factorsai/data.ts @@ -308,6 +308,9 @@ export const data = [ XML: {}, FORM: {}, JSON: { + context: { + ip: '8.8.8.8', + }, type: 'identify', traits: { age: 27, @@ -540,4 +543,271 @@ export const data = [ }, }, }, + { + name: 'factorsai', + description: 'IP fetched from request_ip', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + factorsAIApiKey: 'sdgerghsdfhsdhsdh432141dfgdfsg', + }, + }, + message: { + context: { + page: { + url: 'myurl', + path: '/workspace/index.html', + title: 'test track', + search: '?s=ek8reb577tu65kfc2fv41fbm3j', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36', + }, + event: 'finalPageTest', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + type: 'track', + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + originalTimestamp: '2022-10-17T15:32:44.202+05:30', + request_ip: '104.205.211.60', + }, + }, + ], + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + FORM: {}, + JSON: { + type: 'track', + event: 'finalPageTest', + context: { + ip: '104.205.211.60', + page: { + url: 'myurl', + path: '/workspace/index.html', + title: 'test track', + search: '?s=ek8reb577tu65kfc2fv41fbm3j', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36', + }, + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + timestamp: '2022-10-17T15:32:44.202+05:30', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + }, + JSON_ARRAY: {}, + }, + type: 'REST', + files: {}, + userId: '', + method: 'POST', + params: {}, + headers: { + 'Content-Type': 'application/json', + Authorization: 'Basic c2RnZXJnaHNkZmhzZGhzZGg0MzIxNDFkZmdkZnNnOg==', + }, + version: '1', + endpoint: 'https://api.factors.ai/integrations/rudderstack_platform', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'factorsai', + description: 'IP fetched from request_ip', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + factorsAIApiKey: 'sdgerghsdfhsdhsdh432141dfgdfsg', + }, + }, + message: { + context: { + locale: 'en-US', + screen: { + density: 2, + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + }, + event: 'finalPageTest', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + type: 'track', + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + originalTimestamp: '2022-10-17T15:32:44.202+05:30', + request_ip: '0.0.0.0', + }, + }, + ], + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + FORM: {}, + JSON: { + type: 'track', + event: 'finalPageTest', + context: { + ip: '0.0.0.0', + locale: 'en-US', + screen: { + density: 2, + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + }, + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + timestamp: '2022-10-17T15:32:44.202+05:30', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + }, + JSON_ARRAY: {}, + }, + type: 'REST', + files: {}, + userId: '', + method: 'POST', + params: {}, + headers: { + 'Content-Type': 'application/json', + Authorization: 'Basic c2RnZXJnaHNkZmhzZGhzZGg0MzIxNDFkZmdkZnNnOg==', + }, + version: '1', + endpoint: 'https://api.factors.ai/integrations/rudderstack_platform', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'factorsai', + description: 'IP fetched from request_ip withput context in payload', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + factorsAIApiKey: 'sdgerghsdfhsdhsdh432141dfgdfsg', + }, + }, + message: { + event: 'finalPageTest', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + type: 'track', + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + originalTimestamp: '2022-10-17T15:32:44.202+05:30', + request_ip: '1.1.1.1', + }, + }, + ], + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + FORM: {}, + JSON: { + type: 'track', + event: 'finalPageTest', + context: { + ip: '1.1.1.1', + }, + messageId: '3c0abc14-96a2-4aed-9dfc-ee463832cc24', + timestamp: '2022-10-17T15:32:44.202+05:30', + properties: { + title: 'Intro to Test final segemt context page added context last', + }, + userId: 'PageTestAnonymousUser', + }, + JSON_ARRAY: {}, + }, + type: 'REST', + files: {}, + userId: '', + method: 'POST', + params: {}, + headers: { + 'Content-Type': 'application/json', + Authorization: 'Basic c2RnZXJnaHNkZmhzZGhzZGg0MzIxNDFkZmdkZnNnOg==', + }, + version: '1', + endpoint: 'https://api.factors.ai/integrations/rudderstack_platform', + }, + statusCode: 200, + }, + ], + }, + }, + }, ]; From 7d734f06df75d198f8440a953ce089631af15a8b Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Wed, 3 Jan 2024 11:46:21 +0530 Subject: [PATCH 06/22] feat: handle improper type validation sync vulnerability (#2937) * feat: handle improper type validation sync vulnerability * feat: addressed review comments --- src/controllers/bulkUpload.ts | 10 +++++----- src/util/types.ts | 3 +++ .../networkHandler.js | 8 +++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/controllers/bulkUpload.ts b/src/controllers/bulkUpload.ts index 85c4fe6b4f..babb8b6db1 100644 --- a/src/controllers/bulkUpload.ts +++ b/src/controllers/bulkUpload.ts @@ -1,7 +1,7 @@ /* eslint-disable global-require, import/no-dynamic-require, @typescript-eslint/no-unused-vars */ import { client as errNotificationClient } from '../util/errorNotifier'; import logger from '../logger'; -import { CatchErr } from '../util/types'; +import { CatchErr, ContextBodySimple } from '../util/types'; // TODO: To be refactored and redisgned const getDestFileUploadHandler = (version, dest) => @@ -45,7 +45,7 @@ export const fileUpload = async (ctx) => { return {}; }; - const { destType } = ctx.request.body; + const { destType }: ContextBodySimple = ctx.request.body; const destFileUploadHandler = getDestFileUploadHandler('v0', destType.toLowerCase()); if (!destFileUploadHandler || !destFileUploadHandler.processFileData) { @@ -82,7 +82,7 @@ export const pollStatus = async (ctx) => { JSON.stringify(ctx.request.body), ); - const { destType } = ctx.request.body; + const { destType }: ContextBodySimple = ctx.request.body; const destFileUploadHandler = getPollStatusHandler('v0', destType.toLowerCase()); let response; if (!destFileUploadHandler || !destFileUploadHandler.processPolling) { @@ -117,7 +117,7 @@ export const getWarnJobStatus = async (ctx) => { JSON.stringify(ctx.request.body), ); - const { destType } = ctx.request.body; + const { destType }: ContextBodySimple = ctx.request.body; const destFileUploadHandler = getJobStatusHandler('v0', destType.toLowerCase()); if (!destFileUploadHandler || !destFileUploadHandler.processJobStatus) { @@ -153,7 +153,7 @@ export const getFailedJobStatus = async (ctx) => { JSON.stringify(ctx.request.body), ); - const { destType } = ctx.request.body; + const { destType }: ContextBodySimple = ctx.request.body; const destFileUploadHandler = getJobStatusHandler('v0', destType.toLowerCase()); if (!destFileUploadHandler || !destFileUploadHandler.processJobStatus) { diff --git a/src/util/types.ts b/src/util/types.ts index 579c35579c..bd2836d710 100644 --- a/src/util/types.ts +++ b/src/util/types.ts @@ -3,6 +3,9 @@ export type FixMe = any; export type CatchErr = any; +export type ContextBodySimple = { + destType: string; +}; export interface Config { cdkEnabled?: boolean; cdkV2Enabled?: boolean; diff --git a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js index a87a2431f2..cd891d9688 100644 --- a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js +++ b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js @@ -190,9 +190,11 @@ const ProxyRequest = async (request) => { const addPayload = body.JSON.addConversionPayload; // Mapping Conversion Action const conversionId = await getConversionActionId(headers, params); - addPayload.operations.forEach((operation) => { - set(operation, 'create.transaction_attribute.conversion_action', conversionId); - }); + if (Array.isArray(addPayload.operations)) { + addPayload.operations.forEach((operation) => { + set(operation, 'create.transaction_attribute.conversion_action', conversionId); + }); + } await addConversionToJob(endpoint, headers, firstResponse, addPayload); const thirdResponse = await runTheJob( endpoint, From 48e40365de6d45c40b25b0af3373504bfd5368bd Mon Sep 17 00:00:00 2001 From: Mihir Bhalala <77438541+mihir-4116@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:34:32 +0530 Subject: [PATCH 07/22] feat: move intercom to routerTransform (#2964) --- src/features.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/features.json b/src/features.json index a3d29bb325..606590459c 100644 --- a/src/features.json +++ b/src/features.json @@ -63,7 +63,8 @@ "GLADLY": true, "ONE_SIGNAL": true, "TIKTOK_AUDIENCE": true, - "REDDIT": true + "REDDIT": true, + "INTERCOM": true }, "supportSourceTransformV1": true, "supportTransformerProxyV1": false From 8a245a21c450958595aa660b9051ed3b21bc986c Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:52:17 +0530 Subject: [PATCH 08/22] chore: add endpoint labels (#2944) * chore: add endpoint labelsx1 * chore: add endpoint labelsx2 * Update src/v0/destinations/active_campaign/transform.js Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> * Update src/v0/destinations/active_campaign/transform.js Co-authored-by: Sankeerth * chore: fix monday path --------- Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Co-authored-by: Sankeerth --- .../destinations/active_campaign/transform.js | 28 +++++++++++-------- src/v0/destinations/af/deleteUsers.js | 1 + src/v0/destinations/am/deleteUsers.js | 2 ++ src/v0/destinations/ga/deleteUsers.js | 1 + .../networkHandler.js | 2 ++ .../networkHandler.js | 4 +++ .../utils.js | 1 + .../networkHandler.js | 3 ++ src/v0/destinations/intercom/deleteUsers.js | 1 + src/v0/destinations/marketo/util.js | 1 + src/v0/destinations/monday/util.js | 1 + 11 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/v0/destinations/active_campaign/transform.js b/src/v0/destinations/active_campaign/transform.js index 70caf47ea8..90e6b2080f 100644 --- a/src/v0/destinations/active_campaign/transform.js +++ b/src/v0/destinations/active_campaign/transform.js @@ -50,7 +50,8 @@ const responseBuilderSimple = (payload, category, destination) => { }; const syncContact = async (contactPayload, category, destination) => { - const endpoint = `${destination.Config.apiUrl}${category.endPoint}`; + const { endPoint } = category; + const endpoint = `${destination.Config.apiUrl}${endPoint}`; const requestData = { contact: contactPayload, }; @@ -60,6 +61,7 @@ const syncContact = async (contactPayload, category, destination) => { const res = await httpPOST(endpoint, requestData, requestOptions, { destType: 'active_campaign', feature: 'transformation', + endpointPath: endPoint, }); if (res.success === false) { errorHandler(res, 'Failed to create new contact'); @@ -78,6 +80,7 @@ const customTagProcessor = async (message, category, destination, contactId) => let endpoint; let requestOptions; let requestData; + const { tagEndPoint, mergeTagWithContactUrl } = category; // Here we extract the tags which are to be mapped to the created contact from the message const msgTags = get(message?.context?.traits, 'tags') || get(message?.traits, 'tags'); @@ -89,13 +92,14 @@ const customTagProcessor = async (message, category, destination, contactId) => // Step - 1 // Fetch already created tags from dest, so that we avoid duplicate tag creation request // Ref - https://developers.activecampaign.com/reference/retrieve-all-tags - endpoint = `${destination.Config.apiUrl}${`${category.tagEndPoint}?limit=100`}`; + endpoint = `${destination.Config.apiUrl}${`${tagEndPoint}?limit=100`}`; requestOptions = { headers: getHeader(destination), }; res = await httpGET(endpoint, requestOptions, { destType: 'active_campaign', feature: 'transformation', + tagEndPoint, }); if (res.success === false) { errorHandler(res, 'Failed to fetch already created tags'); @@ -117,9 +121,7 @@ const customTagProcessor = async (message, category, destination, contactId) => if (parseInt(get(res, TOTAL_RECORDS_KEY), 10) > 100) { const limit = Math.floor(parseInt(get(res, TOTAL_RECORDS_KEY), 10) / 100); for (let i = 0; i < limit; i += 1) { - endpoint = `${destination.Config.apiUrl}${category.tagEndPoint}?limit=100&offset=${ - 100 * (i + 1) - }`; + endpoint = `${destination.Config.apiUrl}${tagEndPoint}?limit=100&offset=${100 * (i + 1)}`; requestOptions = { headers: getHeader(destination), }; @@ -153,7 +155,7 @@ const customTagProcessor = async (message, category, destination, contactId) => if (tagsToBeCreated.length > 0) { await Promise.all( tagsToBeCreated.map(async (tag) => { - endpoint = `${destination.Config.apiUrl}${category.tagEndPoint}`; + endpoint = `${destination.Config.apiUrl}${tagEndPoint}`; requestData = { tag: { tag, @@ -182,7 +184,7 @@ const customTagProcessor = async (message, category, destination, contactId) => // Ref - https://developers.activecampaign.com/reference/create-contact-tag const responsesArr = await Promise.all( tagIds.map(async (tagId) => { - endpoint = `${destination.Config.apiUrl}${category.mergeTagWithContactUrl}`; + endpoint = `${destination.Config.apiUrl}${mergeTagWithContactUrl}`; requestData = { contactTag: { contact: contactId, @@ -207,6 +209,7 @@ const customTagProcessor = async (message, category, destination, contactId) => const customFieldProcessor = async (message, category, destination) => { const responseStaging = []; + const { fieldEndPoint } = category; // Step - 1 // Extract the custom field info from the message const fieldInfo = get(message?.context?.traits, 'fieldInfo') || get(message.traits, 'fieldInfo'); @@ -219,7 +222,7 @@ const customFieldProcessor = async (message, category, destination) => { // Step - 2 // Get the existing field data from dest and store it in responseStaging // Ref - https://developers.activecampaign.com/reference/retrieve-fields - let endpoint = `${destination.Config.apiUrl}${category.fieldEndPoint}?limit=100`; + let endpoint = `${destination.Config.apiUrl}${fieldEndPoint}?limit=100`; const requestOptions = { headers: { 'Api-Token': destination.Config.apiKey, @@ -228,6 +231,7 @@ const customFieldProcessor = async (message, category, destination) => { const res = await httpGET(endpoint, requestOptions, { destType: 'active_campaign', feature: 'transformation', + fieldEndPoint, }); if (res.success === false) { errorHandler(res, 'Failed to get existing field data'); @@ -238,9 +242,7 @@ const customFieldProcessor = async (message, category, destination) => { const limit = Math.floor(parseInt(get(res, TOTAL_RECORDS_KEY), 10) / 100); if (parseInt(get(res, TOTAL_RECORDS_KEY), 10) > 100) { for (let i = 0; i < limit; i += 1) { - endpoint = `${destination.Config.apiUrl}${category.fieldEndPoint}?limit=100&offset=${ - 100 * (i + 1) - }`; + endpoint = `${destination.Config.apiUrl}${fieldEndPoint}?limit=100&offset=${100 * (i + 1)}`; const requestOpt = { headers: { 'Api-Token': destination.Config.apiKey, @@ -308,6 +310,7 @@ const customFieldProcessor = async (message, category, destination) => { }; const customListProcessor = async (message, category, destination, contactId) => { + const { mergeListWithContactUrl } = category; // Here we extract the list info from the message const listInfo = get(message?.context?.traits, 'lists') ? get(message.context.traits, 'lists') @@ -331,7 +334,7 @@ const customListProcessor = async (message, category, destination, contactId) => // eslint-disable-next-line no-restricted-syntax for (const li of listArr) { if (li.status === 'subscribe' || li.status === 'unsubscribe') { - const endpoint = `${destination.Config.apiUrl}${category.mergeListWithContactUrl}`; + const endpoint = `${destination.Config.apiUrl}${mergeListWithContactUrl}`; const requestData = { contactList: { list: li.id, @@ -345,6 +348,7 @@ const customListProcessor = async (message, category, destination, contactId) => const res = httpPOST(endpoint, requestData, requestOptions, { destType: 'active_campaign', feature: 'transformation', + endpointPath: mergeListWithContactUrl, }); promises.push(res); } diff --git a/src/v0/destinations/af/deleteUsers.js b/src/v0/destinations/af/deleteUsers.js index 2d68549fcc..bb711292c0 100644 --- a/src/v0/destinations/af/deleteUsers.js +++ b/src/v0/destinations/af/deleteUsers.js @@ -38,6 +38,7 @@ const deleteUser = async (config, endpoint, body, identityType, identityValue) = { destType: 'af', feature: 'deleteUsers', + endpointPath: `appsflyer.com/api/gdpr/v1/opendsr_requests`, }, ); const handledDelResponse = processAxiosResponse(response); diff --git a/src/v0/destinations/am/deleteUsers.js b/src/v0/destinations/am/deleteUsers.js index 578c58fb5c..6de9cf64a1 100644 --- a/src/v0/destinations/am/deleteUsers.js +++ b/src/v0/destinations/am/deleteUsers.js @@ -28,6 +28,7 @@ const userDeletionHandler = async (userAttributes, config) => { // Ref : https://www.docs.developers.amplitude.com/analytics/apis/user-privacy-api/#response const batchEvents = getUserIdBatches(userAttributes, DELETE_MAX_BATCH_SIZE); const url = 'https://amplitude.com/api/2/deletions/users'; + const endpointPath = '/api/2/deletions/users'; await Promise.all( batchEvents.map(async (batch) => { const data = { @@ -41,6 +42,7 @@ const userDeletionHandler = async (userAttributes, config) => { const resp = await httpPOST(url, data, requestOptions, { destType: 'am', feature: 'deleteUsers', + endpointPath, }); const handledDelResponse = processAxiosResponse(resp); if (!isHttpStatusSuccess(handledDelResponse.status)) { diff --git a/src/v0/destinations/ga/deleteUsers.js b/src/v0/destinations/ga/deleteUsers.js index bb909a0053..06e674048a 100644 --- a/src/v0/destinations/ga/deleteUsers.js +++ b/src/v0/destinations/ga/deleteUsers.js @@ -80,6 +80,7 @@ const userDeletionHandler = async (userAttributes, config, rudderDestInfo) => { { destType: 'ga', feature: 'deleteUsers', + endpointPath: '/userDeletion/userDeletionRequests:upsert', }, ); // process the response to know about refreshing scenario diff --git a/src/v0/destinations/google_adwords_enhanced_conversions/networkHandler.js b/src/v0/destinations/google_adwords_enhanced_conversions/networkHandler.js index 8ac432935f..7266154a09 100644 --- a/src/v0/destinations/google_adwords_enhanced_conversions/networkHandler.js +++ b/src/v0/destinations/google_adwords_enhanced_conversions/networkHandler.js @@ -44,6 +44,7 @@ const getConversionActionId = async (method, headers, params) => { { destType: 'google_adwords_enhanced_conversions', feature: 'proxy', + endpointPath: `/googleAds:searchStream`, }, ); if (!isHttpStatusSuccess(gaecConversionActionIdResponse.status)) { @@ -96,6 +97,7 @@ const ProxyRequest = async (request) => { const { httpResponse: response } = await handleHttpRequest('constructor', requestBody, { destType: 'google_adwords_enhanced_conversions', feature: 'proxy', + endpointPath: `/googleAds:uploadOfflineUserData`, }); return response; }; diff --git a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js index cd891d9688..e880f97d0d 100644 --- a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js +++ b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js @@ -33,6 +33,7 @@ const createJob = async (endpoint, headers, payload) => { { destType: 'google_adwords_offline_conversions', feature: 'proxy', + endpointPath: `/create`, }, ); createJobResponse = processAxiosResponse(createJobResponse); @@ -57,6 +58,7 @@ const addConversionToJob = async (endpoint, headers, jobId, payload) => { { destType: 'google_adwords_offline_conversions', feature: 'proxy', + endpointPath: `/addOperations`, }, ); addConversionToJobResponse = processAxiosResponse(addConversionToJobResponse); @@ -80,6 +82,7 @@ const runTheJob = async (endpoint, headers, payload, jobId) => { { destType: 'google_adwords_offline_conversions', feature: 'proxy', + endpointPath: `/run`, }, ); return executeJobResponse; @@ -106,6 +109,7 @@ const getConversionCustomVariable = async (headers, params) => { let searchStreamResponse = await httpPOST(endpoint, data, requestOptions, { destType: 'google_adwords_offline_conversions', feature: 'proxy', + endpointPath: `/searchStream`, }); searchStreamResponse = processAxiosResponse(searchStreamResponse); if (!isHttpStatusSuccess(searchStreamResponse.status)) { diff --git a/src/v0/destinations/google_adwords_offline_conversions/utils.js b/src/v0/destinations/google_adwords_offline_conversions/utils.js index c69c5a436f..599a163c54 100644 --- a/src/v0/destinations/google_adwords_offline_conversions/utils.js +++ b/src/v0/destinations/google_adwords_offline_conversions/utils.js @@ -63,6 +63,7 @@ const getConversionActionId = async (headers, params) => { let searchStreamResponse = await httpPOST(endpoint, data, requestOptions, { destType: 'google_adwords_offline_conversions', feature: 'transformation', + endpointPath: `/googleAds:searchStream`, }); searchStreamResponse = processAxiosResponse(searchStreamResponse); if (!isHttpStatusSuccess(searchStreamResponse.status)) { diff --git a/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js b/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js index 5be8597bdb..aeb80216ff 100644 --- a/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js +++ b/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js @@ -34,6 +34,7 @@ const createJob = async (endpoint, customerId, listId, headers, method) => { const response = await httpSend(jobCreatingRequest, { destType: 'google_adwords_remarketing_lists', feature: 'proxy', + endpointPath: '/customers/create', }); return response; }; @@ -57,6 +58,7 @@ const addUserToJob = async (endpoint, headers, method, jobId, body) => { const response = await httpSend(secondRequest, { destType: 'google_adwords_remarketing_lists', feature: 'proxy', + endpointPath: '/addOperations', }); return response; }; @@ -78,6 +80,7 @@ const runTheJob = async (endpoint, headers, method, jobId) => { const response = await httpSend(thirdRequest, { destType: 'google_adwords_remarketing_lists', feature: 'proxy', + endpointPath: '/run', }); return response; }; diff --git a/src/v0/destinations/intercom/deleteUsers.js b/src/v0/destinations/intercom/deleteUsers.js index e11d352117..085e842458 100644 --- a/src/v0/destinations/intercom/deleteUsers.js +++ b/src/v0/destinations/intercom/deleteUsers.js @@ -38,6 +38,7 @@ const userDeletionHandler = async (userAttributes, config) => { const resp = await httpPOST(url, data, requestOptions, { destType: 'intercom', feature: 'deleteUsers', + endpointPath: '/user_delete_requests', }); const handledDelResponse = processAxiosResponse(resp); if (!isHttpStatusSuccess(handledDelResponse.status) && handledDelResponse.status !== 404) { diff --git a/src/v0/destinations/marketo/util.js b/src/v0/destinations/marketo/util.js index 203e0bf859..4dc576ec16 100644 --- a/src/v0/destinations/marketo/util.js +++ b/src/v0/destinations/marketo/util.js @@ -262,6 +262,7 @@ const sendPostRequest = async (url, data, options) => { const clientResponse = await httpPOST(url, data, options, { destType: 'marketo', feature: 'transformation', + endpointPath: `/v1/leads`, }); const processedResponse = processAxiosResponse(clientResponse); return processedResponse; diff --git a/src/v0/destinations/monday/util.js b/src/v0/destinations/monday/util.js index a66dd63dff..736f0133fd 100644 --- a/src/v0/destinations/monday/util.js +++ b/src/v0/destinations/monday/util.js @@ -194,6 +194,7 @@ const getBoardDetails = async (url, boardID, apiToken) => { { destType: 'monday', feature: 'transformation', + endpointPath: '/v2', }, ); const boardDetailsResponse = processAxiosResponse(clientResponse); From 5dade8942e3b59d3f0f36f5543f6e38d41f2aab5 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:52:40 +0530 Subject: [PATCH 09/22] chore: add endpoint labels (#2951) chore: add endpoint labelsx3 Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> --- src/v0/destinations/active_campaign/transform.js | 4 ++++ src/v0/destinations/canny/util.js | 1 + src/v0/destinations/custify/util.js | 1 + src/v0/destinations/freshmarketer/utils.js | 7 +++++++ src/v0/destinations/freshsales/utils.js | 5 +++++ .../google_adwords_offline_conversions/networkHandler.js | 1 + src/v0/destinations/hs/util.js | 2 ++ src/v0/destinations/marketo/util.js | 1 + src/v0/destinations/user/utils.js | 7 +++++++ src/v0/destinations/wootric/util.js | 2 ++ 10 files changed, 31 insertions(+) diff --git a/src/v0/destinations/active_campaign/transform.js b/src/v0/destinations/active_campaign/transform.js index 90e6b2080f..981dbd7520 100644 --- a/src/v0/destinations/active_campaign/transform.js +++ b/src/v0/destinations/active_campaign/transform.js @@ -128,6 +128,7 @@ const customTagProcessor = async (message, category, destination, contactId) => const resp = httpGET(endpoint, requestOptions, { destType: 'active_campaign', feature: 'transformation', + endpointPath: `/api/3/tags`, }); promises.push(resp); } @@ -251,6 +252,7 @@ const customFieldProcessor = async (message, category, destination) => { const resp = httpGET(endpoint, requestOpt, { destType: 'active_campaign', feature: 'transformation', + endpointPath: `/api/3/fields`, }); promises.push(resp); } @@ -406,6 +408,7 @@ const screenRequestHandler = async (message, category, destination) => { res = await httpGET(endpoint, requestOptions, { destType: 'active_campaign', feature: 'transformation', + endpointPath: `/api/3/eventTrackingEvents`, }); if (res.success === false) { errorHandler(res, 'Failed to retrieve events'); @@ -469,6 +472,7 @@ const trackRequestHandler = async (message, category, destination) => { let res = await httpGET(endpoint, requestOptions, { destType: 'active_campaign', feature: 'transformation', + endpointPath: `/api/3/eventTrackingEvents`, }); if (res.success === false) { diff --git a/src/v0/destinations/canny/util.js b/src/v0/destinations/canny/util.js index 59644bcd6b..f514a01e5c 100644 --- a/src/v0/destinations/canny/util.js +++ b/src/v0/destinations/canny/util.js @@ -45,6 +45,7 @@ const retrieveUserId = async (apiKey, message) => { { destType: 'canny', feature: 'transformation', + endpointPath: `/v1/users/retrieve`, }, ); logger.debug(response); diff --git a/src/v0/destinations/custify/util.js b/src/v0/destinations/custify/util.js index ae6f21fe20..8ecabccd2e 100644 --- a/src/v0/destinations/custify/util.js +++ b/src/v0/destinations/custify/util.js @@ -40,6 +40,7 @@ const createUpdateCompany = async (companyPayload, Config) => { { destType: 'custify', feature: 'transformation', + endpointPath: `/company`, }, ); const processedCompanyResponse = processAxiosResponse(companyResponse); diff --git a/src/v0/destinations/freshmarketer/utils.js b/src/v0/destinations/freshmarketer/utils.js index 6fa1fe9976..5e3ba6e67e 100644 --- a/src/v0/destinations/freshmarketer/utils.js +++ b/src/v0/destinations/freshmarketer/utils.js @@ -49,6 +49,7 @@ const createUpdateAccount = async (payload, Config) => { let accountResponse = await httpPOST(endPoint, payloadBody, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/sales_accounts/upsert`, }); accountResponse = processAxiosResponse(accountResponse); if (accountResponse.status !== 200 && accountResponse.status !== 201) { @@ -93,6 +94,7 @@ const getUserAccountDetails = async (payload, userEmail, Config) => { let userSalesAccountResponse = await httpPOST(endPoint, userPayload, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `crm/sales/api/contacts/upsert?include=sales_accounts`, }); userSalesAccountResponse = processAxiosResponse(userSalesAccountResponse); if (userSalesAccountResponse.status !== 200 && userSalesAccountResponse.status !== 201) { @@ -142,6 +144,7 @@ const createOrUpdateListDetails = async (listName, Config) => { let listResponse = await httpGET(endPoint, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/lists`, }); listResponse = processAxiosResponse(listResponse); if (listResponse.status !== 200) { @@ -161,6 +164,7 @@ const createOrUpdateListDetails = async (listName, Config) => { listResponse = await httpPOST(endPoint, { name: listName }, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/lists`, }); listResponse = processAxiosResponse(listResponse); if (listResponse.status !== 200) { @@ -235,6 +239,7 @@ const getContactsDetails = async (userEmail, Config) => { let userResponse = await httpPOST(endPoint, userPayload, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/contacts/upsert`, }); userResponse = processAxiosResponse(userResponse); if (userResponse.status !== 200 && userResponse.status !== 201) { @@ -308,6 +313,7 @@ const UpdateContactWithLifeCycleStage = async (message, Config) => { let lifeCycleStagesResponse = await httpGET(endPoint, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/selector/lifecycle_stages`, }); lifeCycleStagesResponse = processAxiosResponse(lifeCycleStagesResponse); if (lifeCycleStagesResponse.status !== 200) { @@ -393,6 +399,7 @@ const UpdateContactWithSalesActivity = async (payload, message, Config) => { let salesActivityResponse = await httpGET(endPoint, requestOptions, { destType: 'freshmarketer', feature: 'transformation', + endpointPath: `/crm/sales/api/selector/sales_activity_types`, }); salesActivityResponse = processAxiosResponse(salesActivityResponse); if (salesActivityResponse.status !== 200) { diff --git a/src/v0/destinations/freshsales/utils.js b/src/v0/destinations/freshsales/utils.js index 96acabb037..5008fedc2d 100644 --- a/src/v0/destinations/freshsales/utils.js +++ b/src/v0/destinations/freshsales/utils.js @@ -47,6 +47,7 @@ const createUpdateAccount = async (payload, Config) => { let accountResponse = await httpPOST(endPoint, payloadBody, requestOptions, { destType: 'freshsales', feature: 'transformation', + endpointPath: `/crm/sales/api/sales_accounts/upsert`, }); accountResponse = processAxiosResponse(accountResponse); if (accountResponse.status !== 200 && accountResponse.status !== 201) { @@ -90,6 +91,7 @@ const getUserAccountDetails = async (payload, userEmail, Config) => { let userSalesAccountResponse = await httpPOST(endPoint, userPayload, requestOptions, { destType: 'freshsales', feature: 'transformation', + endpointPath: `/crm/sales/api/contacts/upsert?include=sales_accounts`, }); userSalesAccountResponse = processAxiosResponse(userSalesAccountResponse); if (userSalesAccountResponse.status !== 200 && userSalesAccountResponse.status !== 201) { @@ -145,6 +147,7 @@ const getContactsDetails = async (userEmail, Config) => { let userResponse = await httpPOST(endPoint, userPayload, requestOptions, { destType: 'freshsales', feature: 'transformation', + endpointPath: `/crm/sales/api/contacts/upsert`, }); userResponse = processAxiosResponse(userResponse); if (userResponse.status !== 200 && userResponse.status !== 201) { @@ -235,6 +238,7 @@ const UpdateContactWithSalesActivity = async (payload, message, Config) => { let salesActivityResponse = await httpGET(endPoint, requestOptions, { destType: 'freshsales', feature: 'transformation', + endpointPath: `/crm/sales/api/sales_activity_types`, }); salesActivityResponse = processAxiosResponse(salesActivityResponse); if (salesActivityResponse.status !== 200) { @@ -314,6 +318,7 @@ const UpdateContactWithLifeCycleStage = async (message, Config) => { let lifeCycleStagesResponse = await httpGET(endPoint, requestOptions, { destType: 'freshsales', feature: 'transformation', + endpointPath: `/crm/sales/api/lifecycle_stages`, }); lifeCycleStagesResponse = processAxiosResponse(lifeCycleStagesResponse); if (lifeCycleStagesResponse.status !== 200) { diff --git a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js index e880f97d0d..6922cde8c8 100644 --- a/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js +++ b/src/v0/destinations/google_adwords_offline_conversions/networkHandler.js @@ -246,6 +246,7 @@ const ProxyRequest = async (request) => { const response = await httpSend(requestBody, { feature: 'proxy', destType: 'gogole_adwords_offline_conversions', + endpointPath: `/proxy`, }); return response; }; diff --git a/src/v0/destinations/hs/util.js b/src/v0/destinations/hs/util.js index f83ce0b6de..5c8f4a908a 100644 --- a/src/v0/destinations/hs/util.js +++ b/src/v0/destinations/hs/util.js @@ -100,6 +100,7 @@ const getProperties = async (destination) => { hubspotPropertyMapResponse = await httpGET(CONTACT_PROPERTY_MAP_ENDPOINT, requestOptions, { destType: 'hs', feature: 'transformation', + endpointPath: `/properties/v1/contacts/properties`, }); hubspotPropertyMapResponse = processAxiosResponse(hubspotPropertyMapResponse); } else { @@ -111,6 +112,7 @@ const getProperties = async (destination) => { { destType: 'hs', feature: 'transformation', + endpointPath: `/properties/v1/contacts/properties?hapikey`, }, ); hubspotPropertyMapResponse = processAxiosResponse(hubspotPropertyMapResponse); diff --git a/src/v0/destinations/marketo/util.js b/src/v0/destinations/marketo/util.js index 4dc576ec16..54ff70708a 100644 --- a/src/v0/destinations/marketo/util.js +++ b/src/v0/destinations/marketo/util.js @@ -247,6 +247,7 @@ const sendGetRequest = async (url, options) => { const clientResponse = await httpGET(url, options, { destType: 'marketo', feature: 'transformation', + endpointPath: `/v1/leads`, }); const processedResponse = processAxiosResponse(clientResponse); return processedResponse; diff --git a/src/v0/destinations/user/utils.js b/src/v0/destinations/user/utils.js index 41ad173583..52fba2167e 100644 --- a/src/v0/destinations/user/utils.js +++ b/src/v0/destinations/user/utils.js @@ -237,6 +237,7 @@ const createCompany = async (message, destination) => { const response = await httpPOST(endpoint, payload, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/companies/`, }); const data = processAxiosResponse(response); return data.response; @@ -277,6 +278,7 @@ const updateCompany = async (message, destination, company) => { const response = await httpPUT(endpoint, payload, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/companies/`, }); const data = processAxiosResponse(response); return data.response; @@ -303,6 +305,7 @@ const getUserByUserKey = async (apiKey, userKey, appSubdomain) => { const userResponse = await httpGET(endpoint, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/users/search`, }); const processedUserResponse = processAxiosResponse(userResponse); if (processedUserResponse.status === 200) { @@ -336,6 +339,7 @@ const getUserByEmail = async (apiKey, email, appSubdomain) => { const userResponse = await httpGET(endpoint, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/users/search/?email`, }); const processedUserResponse = processAxiosResponse(userResponse); @@ -374,6 +378,7 @@ const getUserByPhoneNumber = async (apiKey, phoneNumber, appSubdomain) => { const userResponse = await httpGET(endpoint, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/users/search/?phone_number`, }); const processedUserResponse = processAxiosResponse(userResponse); @@ -418,6 +423,7 @@ const getUserByCustomId = async (message, destination) => { const userResponse = await httpGET(endpoint, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/users-by-id/`, }); const processedUserResponse = processAxiosResponse(userResponse); @@ -453,6 +459,7 @@ const getCompanyByCustomId = async (message, destination) => { const response = await httpGET(endpoint, requestOptions, { destType: 'user', feature: 'transformation', + endpointPath: `/companies-by-id/`, }); const processedUserResponse = processAxiosResponse(response); if (processedUserResponse.status === 200) { diff --git a/src/v0/destinations/wootric/util.js b/src/v0/destinations/wootric/util.js index fce8a66586..eb61a472cf 100644 --- a/src/v0/destinations/wootric/util.js +++ b/src/v0/destinations/wootric/util.js @@ -46,6 +46,7 @@ const getAccessToken = async (destination) => { const wootricAuthResponse = await httpPOST(request.url, request.data, request.header, { destType: 'wootric', feature: 'transformation', + endpointPath: `/oauth/token`, }); const processedAuthResponse = processAxiosResponse(wootricAuthResponse); // If the request fails, throwing error. @@ -98,6 +99,7 @@ const retrieveUserDetails = async (endUserId, externalId, accessToken) => { const userResponse = await httpGET(endpoint, requestOptions, { destType: 'wootric', feature: 'transformation', + endpointPath: `/v1/end_users/`, }); const processedUserResponse = processAxiosResponse(userResponse); From e00209337fa0e4da88f4f9959558636eecd4f120 Mon Sep 17 00:00:00 2001 From: Akash Chetty Date: Thu, 4 Jan 2024 08:22:18 +0530 Subject: [PATCH 10/22] fix: error handling when payload contains toString as key (#2954) --- .gitignore | 3 + src/warehouse/config/helpers.js | 9 ++- src/warehouse/index.js | 3 +- src/warehouse/util.js | 9 ++- test/__tests__/data/warehouse/events.js | 34 +++++++++-- test/__tests__/warehouse.test.js | 80 ++++++++++++++++++++++--- 6 files changed, 118 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index ab1fc2a840..24d37f6354 100644 --- a/.gitignore +++ b/.gitignore @@ -132,3 +132,6 @@ dist # Others **/.DS_Store + + +.idea \ No newline at end of file diff --git a/src/warehouse/config/helpers.js b/src/warehouse/config/helpers.js index ecc7d382b9..ef00d7ee73 100644 --- a/src/warehouse/config/helpers.js +++ b/src/warehouse/config/helpers.js @@ -1,12 +1,18 @@ const _ = require('lodash'); const get = require('get-value'); +const logger = require('../../logger'); const isNull = (x) => { return x === null || x === undefined; }; const isBlank = (value) => { - return _.isEmpty(_.toString(value)); + try { + return _.isEmpty(_.toString(value)); + } catch (e) { + logger.error(`Error in isBlank: ${e.message}`); + return false; + } }; const getFirstValidValue = (message, props) => { @@ -27,6 +33,7 @@ function isDataLakeProvider(provider) { module.exports = { isNull, + isBlank, getFirstValidValue, isDataLakeProvider, }; diff --git a/src/warehouse/index.js b/src/warehouse/index.js index d88904b4a8..3305a52762 100644 --- a/src/warehouse/index.js +++ b/src/warehouse/index.js @@ -5,7 +5,6 @@ const { v4: uuidv4 } = require('uuid'); const { isObject, - isBlank, isValidJsonPathKey, isValidLegacyJsonPathKey, keysFromJsonPaths, @@ -24,7 +23,7 @@ const whPageColumnMappingRules = require('./config/WHPageConfig.js'); const whScreenColumnMappingRules = require('./config/WHScreenConfig.js'); const whGroupColumnMappingRules = require('./config/WHGroupConfig.js'); const whAliasColumnMappingRules = require('./config/WHAliasConfig.js'); -const { isDataLakeProvider } = require('./config/helpers'); +const {isDataLakeProvider, isBlank} = require('./config/helpers'); const { InstrumentationError } = require('@rudderstack/integrations-lib'); const whExtractEventTableColumnMappingRules = require('./config/WHExtractEventTableConfig.js'); diff --git a/src/warehouse/util.js b/src/warehouse/util.js index 79981249e7..11d72bfbfd 100644 --- a/src/warehouse/util.js +++ b/src/warehouse/util.js @@ -4,6 +4,7 @@ const get = require('get-value'); const v0 = require('./v0/util'); const v1 = require('./v1/util'); const { PlatformError, InstrumentationError } = require('@rudderstack/integrations-lib'); +const {isBlank} = require('./config/helpers'); const minTimeInMs = Date.parse('0001-01-01T00:00:00Z'); const maxTimeInMs = Date.parse('9999-12-31T23:59:59.999Z'); @@ -22,10 +23,6 @@ const isValidLegacyJsonPathKey = (eventType, key, level, jsonKeys = {}) => { return eventType === 'track' && jsonKeys[key] === level; }; -const isBlank = (value) => { - return _.isEmpty(_.toString(value)); -}; - /* This function takes in an array of json paths and returns an object with keys as the json path and value as the position of the key in the json path Example: @@ -97,6 +94,9 @@ const timestampRegex = new RegExp( ); function validTimestamp(input) { + if (typeof input !== 'string') { + return false; + } if (timestampRegex.test(input)) { // check if date value lies in between min time and max time. if not then it's not a valid timestamp const d = new Date(input); @@ -147,7 +147,6 @@ const getRecordIDForExtract = (message) => { module.exports = { isObject, - isBlank, isValidJsonPathKey, isValidLegacyJsonPathKey, keysFromJsonPaths, diff --git a/test/__tests__/data/warehouse/events.js b/test/__tests__/data/warehouse/events.js index 20a6ce89b3..ef9cc21096 100644 --- a/test/__tests__/data/warehouse/events.js +++ b/test/__tests__/data/warehouse/events.js @@ -60,7 +60,17 @@ const sampleEvents = { originalTimestamp: "2020-01-24T06:29:02.364Z", properties: { currency: "USD", - revenue: 50 + revenue: 50, + stack: { + history: { + errorDetails: [ + { + "message": "Cannot set headers after they are sent to the client", + "toString": "[function]" + } + ] + } + } }, receivedAt: "2020-01-24T11:59:02.403+05:30", request_ip: "[::1]:53708", @@ -180,6 +190,12 @@ const sampleEvents = { data: { currency: "USD", revenue: 50, + stack_history_error_details: [ + { + "message": "Cannot set headers after they are sent to the client", + "toString": "[function]" + } + ], context_app_build: "1.0.0", context_app_name: "RudderLabs JavaScript SDK", context_app_namespace: "com.rudderlabs.javascript", @@ -314,6 +330,12 @@ const sampleEvents = { data: { CURRENCY: "USD", REVENUE: 50, + STACK_HISTORY_ERROR_DETAILS: [ + { + "message": "Cannot set headers after they are sent to the client", + "toString": "[function]" + } + ], CONTEXT_APP_BUILD: "1.0.0", CONTEXT_APP_NAME: "RudderLabs JavaScript SDK", CONTEXT_APP_NAMESPACE: "com.rudderlabs.javascript", @@ -340,7 +362,7 @@ const sampleEvents = { RECEIVED_AT: "2020-01-24T06:29:02.403Z", ORIGINAL_TIMESTAMP: "2020-01-24T06:29:02.364Z", CHANNEL: "web", - EVENT: "button_clicked" + EVENT: "button_clicked", } } ], @@ -448,6 +470,12 @@ const sampleEvents = { data: { currency: "USD", revenue: 50, + stack_history_error_details: [ + { + "message": "Cannot set headers after they are sent to the client", + "toString": "[function]" + } + ], context_app_build: "1.0.0", context_app_name: "RudderLabs JavaScript SDK", context_app_namespace: "com.rudderlabs.javascript", @@ -2053,7 +2081,6 @@ const sampleEvents = { id: "string", user_id: "string", received_at: "datetime", - event: "string" }, receivedAt: "2020-01-24T11:59:02.403+05:30" }, @@ -2121,7 +2148,6 @@ const sampleEvents = { id: "string", user_id: "string", received_at: "datetime", - event: "string", boolean_property: "boolean", }, receivedAt: "2020-01-24T11:59:02.403+05:30" diff --git a/test/__tests__/warehouse.test.js b/test/__tests__/warehouse.test.js index 045bab35a6..772e59e65a 100644 --- a/test/__tests__/warehouse.test.js +++ b/test/__tests__/warehouse.test.js @@ -20,6 +20,7 @@ const { const { validTimestamp } = require("../../src/warehouse/util.js"); +const {isBlank} = require("../../src/warehouse/config/helpers.js"); const version = "v0"; const integrations = [ @@ -1096,54 +1097,117 @@ describe("Integration options", () => { describe("validTimestamp", () => { const testCases = [ { + name: "undefined input should return false", input: undefined, expected: false, }, { + name: "negative year and time input should return false #1", input: '-0001-11-30T00:00:00+0000', expected: false, }, { + name: "negative year and time input should return false #2", input: '-2023-06-14T05:23:59.244Z', expected: false, }, { + name: "negative year and time input should return false #3", + input: '-1900-06-14T05:23:59.244Z', + expected: false, + }, + { + name: "positive year and time input should return false", input: '+2023-06-14T05:23:59.244Z', expected: false, }, { + name: "valid timestamp input should return true", input: '2023-06-14T05:23:59.244Z', expected: true, }, { - input: '-1900-06-14T05:23:59.244Z', - expected: false, - }, - { + name: "non-date string input should return false", input: 'abc', expected: false, }, { - input: '%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216Windows%u2216win%u002ein', + name: "malicious string input should return false", + input: '%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216%u002e%u002e%u2216Windows%u2216win%u002ein', expected: false, }, { + name: "empty string input should return false", input: '', expected: false, }, { + name: "valid date input should return true", input: '2023-06-14', expected: true, }, { + name: "time-only input should return false", input: '05:23:59.244Z', expected: false, - } - ] + }, + { + name: "non-string input should return false", + input: { abc: 123 }, + expected: false, + }, + { + name: "object with toString method input should return false", + input: { + toString: '2023-06-14T05:23:59.244Z' + }, + expected: false, + }, + ]; for (const testCase of testCases) { - it(`should return ${testCase.expected} for ${testCase.input}`, () => { + it(`should return ${testCase.expected} for ${testCase.name}`, () => { expect(validTimestamp(testCase.input)).toEqual(testCase.expected); }); } }); + + + +describe("isBlank", () => { + const testCases = [ + { + name: "null", + input: null, + expected: true + }, + { + name: "empty string", + input: "", + expected: true + }, + { + name: "non-empty string", + input: "test", + expected: false + }, + { + name: "numeric value", + input: 1634762544, + expected: false + }, + { + name: "object with toString property", + input: { + toString: '2023-06-14T05:23:59.244Z' + }, + expected: false + }, + ]; + + for (const testCase of testCases) { + it(`should return ${testCase.expected} for ${testCase.name}`, () => { + expect(isBlank(testCase.input)).toEqual(testCase.expected); + }); + } +}); \ No newline at end of file From 8bf56cc7914bda530b0bf3fb16bfece6be542ddd Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:42:18 +0530 Subject: [PATCH 11/22] fix: for gainsight px only new users to have default signUp date (#2953) * fix: only new users to have default signUp date * fix: only new users to have default createDate * fix: small edit in comment * fix: small edit in comment * fix: small edit in comment * fix: review comments addressed --- .../data/GainsightPX_Identify.json | 14 +- src/v0/destinations/gainsight_px/transform.js | 20 +- .../gainsight_px/processor/data.ts | 4020 +++++++++-------- .../destinations/gainsight_px/router/data.ts | 1093 +++-- 4 files changed, 2729 insertions(+), 2418 deletions(-) diff --git a/src/v0/destinations/gainsight_px/data/GainsightPX_Identify.json b/src/v0/destinations/gainsight_px/data/GainsightPX_Identify.json index 5d07b290dc..c37c992d84 100644 --- a/src/v0/destinations/gainsight_px/data/GainsightPX_Identify.json +++ b/src/v0/destinations/gainsight_px/data/GainsightPX_Identify.json @@ -55,12 +55,7 @@ }, { "destKey": "signUpDate", - "sourceKeys": [ - "traits.signUpDate", - "context.traits.signUpDate", - "timestamp", - "originalTimestamp" - ], + "sourceKeys": ["traits.signUpDate", "context.traits.signUpDate"], "required": false, "metadata": { "type": "timestamp" @@ -109,12 +104,7 @@ }, { "destKey": "createDate", - "sourceKeys": [ - "traits.createDate", - "context.traits.createDate", - "timestamp", - "originalTimestamp" - ], + "sourceKeys": ["traits.createDate", "context.traits.createDate"], "required": false, "metadata": { "type": "timestamp" diff --git a/src/v0/destinations/gainsight_px/transform.js b/src/v0/destinations/gainsight_px/transform.js index 4d91980f11..a63be08c80 100644 --- a/src/v0/destinations/gainsight_px/transform.js +++ b/src/v0/destinations/gainsight_px/transform.js @@ -1,5 +1,9 @@ /* eslint-disable no-nested-ternary */ -const { InstrumentationError, ConfigurationError } = require('@rudderstack/integrations-lib'); +const { + InstrumentationError, + ConfigurationError, + formatTimeStamp, +} = require('@rudderstack/integrations-lib'); const { EventType } = require('../../../constants'); const { isEmptyObject, @@ -47,7 +51,7 @@ const identifyResponseBuilder = async (message, { Config }) => { 'Content-Type': JSON_MIME_TYPE, }; - const { success: isPresent } = await objectExists(userId, Config, 'user'); + const { success: isUserPresent } = await objectExists(userId, Config, 'user'); let payload = constructPayload(message, identifyMapping); const name = getValueFromMessage(message, ['traits.name', 'context.traits.name']); @@ -56,6 +60,16 @@ const identifyResponseBuilder = async (message, { Config }) => { payload.firstName = fName; payload.lastName = lName; } + // Only for the case of new user creation, if signUpDate is not provided in traits, timestamp / originalTimestamp is mapped + if (!isUserPresent && !payload.signUpDate) { + payload.signUpDate = formatTimeStamp(message.timestamp || message.originalTimestamp); + } + + // Only for the case of new user creation, if createDate is not provided in traits, timestamp / originalTimestamp is mapped + if (!isUserPresent && !payload.createDate) { + payload.createDate = formatTimeStamp(message.timestamp || message.originalTimestamp); + } + let customAttributes = {}; customAttributes = extractCustomFields( message, @@ -75,7 +89,7 @@ const identifyResponseBuilder = async (message, { Config }) => { type: 'USER', }; - if (isPresent) { + if (isUserPresent) { // update user response.method = defaultPutRequestConfig.requestMethod; response.endpoint = `${ENDPOINTS.USERS_ENDPOINT}/${userId}`; diff --git a/test/integrations/destinations/gainsight_px/processor/data.ts b/test/integrations/destinations/gainsight_px/processor/data.ts index 192c6969c4..3dfe86aa98 100644 --- a/test/integrations/destinations/gainsight_px/processor/data.ts +++ b/test/integrations/destinations/gainsight_px/processor/data.ts @@ -1,1857 +1,2165 @@ export const data = [ - { - "name": "gainsight_px", - "description": "Test 0", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "userId": "sample-user-id", - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "type": "track", - "event": "Product Added", - "properties": { - "product_id": "123", - "sku": "F16", - "category": "Games", - "name": "Game", - "brand": "Gamepro", - "variant": "111", - "price": 13.49, - "quantity": 11, - "coupon": "DISC21", - "position": 1, - "url": "https://www.website.com/product/path", - "image_url": "https://www.website.com/product/path.png" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "attributes": { - "product_id": "123", - "sku": "F16", - "category": "Games", - "name": "Game", - "brand": "Gamepro", - "variant": "111", - "price": 13.49, - "quantity": 11, - "coupon": "DISC21", - "position": 1, - "url": "https://www.website.com/product/path", - "image_url": "https://www.website.com/product/path.png" - }, - "propertyKey": "AP-XABC-123", - "userType": "USER", - "identifyId": "sample-user-id", - "date": 1571043797562, - "eventName": "Product Added", - "globalContext": { - "projectId": "p-123", - "tag": "sample-category-tag" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 1", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "os": { - "name": "", - "version": "" - }, - "app": { - "name": "RudderLabs JavaScript SDK", - "version": "1.27.0", - "namespace": "com.rudderlabs.javascript" - }, - "page": { - "url": "http://127.0.0.1:8887/", - "path": "/", - "title": "RudderStack in 5", - "search": "", - "tab_url": "http://127.0.0.1:8887/", - "referrer": "$direct", - "initial_referrer": "$direct", - "referring_domain": "", - "initial_referring_domain": "" - }, - "locale": "en-US", - "screen": { - "width": 1512, - "height": 982, - "density": 2, - "innerWidth": 774, - "innerHeight": 774 - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.27.0" - }, - "campaign": {}, - "sessionId": 1679967592314, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", - "properties": { - "email": "84@84.com", - "price": "56.0", - "quantity": "5" - } - }, - "userId": "sample-user-id", - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "type": "track", - "event": "Marketing - Plan Change Events", - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "attributes": {}, - "url": "http://127.0.0.1:8887/", - "propertyKey": "AP-XABC-123", - "userType": "USER", - "identifyId": "sample-user-id", - "referrer": "$direct", - "date": 1571043797562, - "sessionId": 1679967592314, - "eventName": "Marketing - Plan Change Events", - "globalContext": { - "projectId": "p-123", - "tag": "sample-category-tag" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 2", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "userId": "sample-user-id", - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "type": "track", - "event": "Track Me", - "properties": { - "description": "Sample Track call", - "globalContext": { - "testOverride": "some-value" - } - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "attributes": { - "description": "Sample Track call" - }, - "propertyKey": "AP-XABC-123", - "userType": "USER", - "identifyId": "sample-user-id", - "date": 1571043797562, - "eventName": "Track Me", - "globalContext": { - "testOverride": "some-value" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 3", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "userId": "sample-user-id", - "anonymousId": "sample-anon-id", - "type": "identify", - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "title": "engineer", - "countryName": "USA", - "countryCode": "US", - "city": "New York", - "hobbyCustomField": "Sample Hobby" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "createDate": 1571043797562, - "title": "engineer", - "propertyKeys": [ - "AP-XABC-123" - ], - "location": { - "countryName": "USA", - "countryCode": "US", - "city": "New York" - }, - "customAttributes": { - "hobby": "Sample Hobby" - } - } - }, - "type": "REST", - "files": {}, - "method": "PUT", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/users/sample-user-id", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 4", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - }, - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "medium": null - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "userId": "sample-user-id", - "groupId": "ecorp-id", - "type": "group", - "traits": { - "name": "ECorp", - "industry": "software", - "numberOfEmployees": 400, - "website": "www.ecorp.com", - "plan": "premium" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "accountId": "ecorp-id" - } - }, - "type": "REST", - "files": {}, - "method": "PUT", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/users/sample-user-id", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 5", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "type": "identify", - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "title": "engineer", - "countryName": "USA", - "countryCode": "US", - "city": "New York", - "hobbyCustomField": "Sample Hobby" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "error": "userId or anonymousId is required for identify", - "statTags": { - "destType": "GAINSIGHT_PX", - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "feature": "processor", - "implementation": "native", - "module": "destination" - }, - "statusCode": 400 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 6", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "type": "track", - "event": "Product Added", - "properties": { - "product_id": "123", - "sku": "F16", - "category": "Games", - "name": "Game", - "brand": "Gamepro", - "variant": "111", - "price": 13.49, - "quantity": 11, - "coupon": "DISC21", - "position": 1, - "url": "https://www.website.com/product/path", - "image_url": "https://www.website.com/product/path.png" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "error": "Missing required value from \"userId\"", - "statTags": { - "destType": "GAINSIGHT_PX", - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "feature": "processor", - "implementation": "native", - "module": "destination" - }, - "statusCode": 400 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 7", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - }, - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User" - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "userId": "sample-user-id", - "type": "group", - "traits": { - "name": "ECorp", - "industry": "software", - "numberOfEmployees": 400, - "website": "www.ecorp.com", - "plan": "premium" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "error": "groupId is required for group", - "statTags": { - "destType": "GAINSIGHT_PX", - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "feature": "processor", - "implementation": "native", - "module": "destination" - }, - "statusCode": 400 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 8", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "userId": "sample-user-id", - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "type": "track", - "event": "Stringify Test", - "properties": { - "description": "Stringify test for object values", - "nested": { - "a": [ - 1, - 2, - 3 - ], - "b": { - "c": 1 - } - }, - "arr": [ - 1, - 2, - 3 - ] - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "attributes": { - "description": "Stringify test for object values", - "nested": "{\"a\":[1,2,3],\"b\":{\"c\":1}}", - "arr": "[1,2,3]" - }, - "propertyKey": "AP-XABC-123", - "userType": "USER", - "identifyId": "sample-user-id", - "date": 1571043797562, - "eventName": "Stringify Test", - "globalContext": { - "projectId": "p-123", - "tag": "sample-category-tag" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 9", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [ - { - "from": "projectId", - "to": "p-123" - }, - { - "from": "tag", - "to": "sample-category-tag" - } - ] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "userId": "sample-user-id", - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "type": "track", - "event": "Stringify Test", - "properties": { - "description": "Stringify test for object values", - "nested": { - "a": [ - 1, - 2, - 3 - ], - "b": { - "c": 1 - } - }, - "arr": [ - 1, - 2, - 3 - ], - "globalContext": { - "someKey": "someVal" - } - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "attributes": { - "description": "Stringify test for object values", - "nested": "{\"a\":[1,2,3],\"b\":{\"c\":1}}", - "arr": "[1,2,3]" - }, - "propertyKey": "AP-XABC-123", - "userType": "USER", - "identifyId": "sample-user-id", - "date": 1571043797562, - "eventName": "Stringify Test", - "globalContext": { - "someKey": "someVal" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 10", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - }, - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User" - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "userId": "absent-id", - "groupId": "ecorp-id", - "type": "group", - "traits": { - "name": "ECorp", - "industry": "software", - "numberOfEmployees": 400, - "website": "www.ecorp.com", - "plan": "premium" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "error": "aborting group call: {\"status\":\"NOT_FOUND\",\"message\":\"User was not found for parameters {id=absent-id}\",\"debugMessage\":null,\"subErrors\":null}", - "statTags": { - "destType": "GAINSIGHT_PX", - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "feature": "processor", - "implementation": "native", - "module": "destination" - }, - "statusCode": 400 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 11", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "userId": "absent-id", - "anonymousId": "sample-anon-id", - "type": "identify", - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "title": "engineer", - "countryName": "USA", - "countryCode": "US", - "city": "New York", - "hobbyCustomField": "Sample Hobby" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "identifyId": "absent-id", - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "createDate": 1571043797562, - "title": "engineer", - "propertyKeys": [ - "AP-XABC-123" - ], - "location": { - "countryName": "USA", - "countryCode": "US", - "city": "New York" - }, - "customAttributes": { - "hobby": "Sample Hobby" - } - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/users", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 12", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "userId": "absent-id", - "anonymousId": "sample-anon-id", - "type": "identify", - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "title": "engineer", - "countryName": "USA", - "countryCode": "US", - "city": "New York", - "hobbyCustomField": "Sample Hobby", - "accountId": 1234 - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "identifyId": "absent-id", - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "createDate": 1571043797562, - "title": "engineer", - "propertyKeys": [ - "AP-XABC-123" - ], - "accountId": "1234", - "location": { - "countryName": "USA", - "countryCode": "US", - "city": "New York" - }, - "customAttributes": {} - } - }, - "type": "REST", - "files": {}, - "method": "POST", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/users", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 13", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - }, - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User" - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "anonymousId": "sample-anon-id", - "userId": "absent-id", - "groupId": "ecorp-id", - "type": "group", - "traits": { - "name": "ECorp", - "industry": "software", - "numberOfEmployees": 400, - "website": "www.ecorp.com", - "plan": "premium", - "term": null - }, - "integrations": { - "All": true, - "GAINSIGHT_PX": { - "limitAPIForGroup": true - } - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "PUT", - "endpoint": "https://api.aptrinsic.com/v1/users/absent-id", - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "params": {}, - "body": { - "JSON": { - "accountId": "ecorp-id" - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "gainsight_px", - "description": "Test 14", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "destination": { - "Config": { - "apiKey": "sample-api-key", - "productTagKey": "AP-XABC-123", - "accountAttributeMap": [ - { - "from": "", - "to": "" - } - ], - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ], - "globalContextMap": [] - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "messageId": "84e26acc-56a5-4835-8233-591137fca468", - "session_id": "3049dc4c-5a95-4ccd-a3e7-d74a7e411f22", - "originalTimestamp": "2019-10-14T09:03:17.562Z", - "userId": "sample-user-id", - "anonymousId": "sample-anon-id", - "type": "identify", - "traits": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "title": "engineer", - "countryName": "USA", - "countryCode": "US", - "city": "New York", - "hobbyCustomField": "Sample Hobby", - "term": null, - "campaign": "" - }, - "integrations": { - "All": true - }, - "sentAt": "2019-10-14T09:03:22.563Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "body": { - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {}, - "JSON": { - "type": "USER", - "gender": "MALE", - "email": "user@email.com", - "firstName": "Sample", - "lastName": "User", - "signUpDate": 1624431528295, - "createDate": 1571043797562, - "title": "engineer", - "propertyKeys": [ - "AP-XABC-123" - ], - "location": { - "countryName": "USA", - "countryCode": "US", - "city": "New York" - }, - "customAttributes": { - "hobby": "Sample Hobby" - } - } - }, - "type": "REST", - "files": {}, - "method": "PUT", - "params": {}, - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "version": "1", - "endpoint": "https://api.aptrinsic.com/v1/users/sample-user-id", - "userId": "" - }, - "statusCode": 200 - } - ] - } - } - } -] \ No newline at end of file + { + name: 'gainsight_px', + description: 'Test 0', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + userId: 'sample-user-id', + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + type: 'track', + event: 'Product Added', + properties: { + product_id: '123', + sku: 'F16', + category: 'Games', + name: 'Game', + brand: 'Gamepro', + variant: '111', + price: 13.49, + quantity: 11, + coupon: 'DISC21', + position: 1, + url: 'https://www.website.com/product/path', + image_url: 'https://www.website.com/product/path.png', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + attributes: { + product_id: '123', + sku: 'F16', + category: 'Games', + name: 'Game', + brand: 'Gamepro', + variant: '111', + price: 13.49, + quantity: 11, + coupon: 'DISC21', + position: 1, + url: 'https://www.website.com/product/path', + image_url: 'https://www.website.com/product/path.png', + }, + propertyKey: 'AP-XABC-123', + userType: 'USER', + identifyId: 'sample-user-id', + date: 1571043797562, + eventName: 'Product Added', + globalContext: { + projectId: 'p-123', + tag: 'sample-category-tag', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 1', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + os: { + name: '', + version: '', + }, + app: { + name: 'RudderLabs JavaScript SDK', + version: '1.27.0', + namespace: 'com.rudderlabs.javascript', + }, + page: { + url: 'http://127.0.0.1:8887/', + path: '/', + title: 'RudderStack in 5', + search: '', + tab_url: 'http://127.0.0.1:8887/', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + locale: 'en-US', + screen: { + width: 1512, + height: 982, + density: 2, + innerWidth: 774, + innerHeight: 774, + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.27.0', + }, + campaign: {}, + sessionId: 1679967592314, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', + properties: { + email: '84@84.com', + price: '56.0', + quantity: '5', + }, + }, + userId: 'sample-user-id', + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + type: 'track', + event: 'Marketing - Plan Change Events', + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + attributes: {}, + url: 'http://127.0.0.1:8887/', + propertyKey: 'AP-XABC-123', + userType: 'USER', + identifyId: 'sample-user-id', + referrer: '$direct', + date: 1571043797562, + sessionId: 1679967592314, + eventName: 'Marketing - Plan Change Events', + globalContext: { + projectId: 'p-123', + tag: 'sample-category-tag', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 2', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + userId: 'sample-user-id', + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + type: 'track', + event: 'Track Me', + properties: { + description: 'Sample Track call', + globalContext: { + testOverride: 'some-value', + }, + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + attributes: { + description: 'Sample Track call', + }, + propertyKey: 'AP-XABC-123', + userType: 'USER', + identifyId: 'sample-user-id', + date: 1571043797562, + eventName: 'Track Me', + globalContext: { + testOverride: 'some-value', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 3', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + userId: 'sample-user-id', + anonymousId: 'sample-anon-id', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + propertyKeys: ['AP-XABC-123'], + location: { + countryName: 'USA', + countryCode: 'US', + city: 'New York', + }, + customAttributes: { + hobby: 'Sample Hobby', + }, + }, + }, + type: 'REST', + files: {}, + method: 'PUT', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users/sample-user-id', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 4', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + medium: null, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + userId: 'sample-user-id', + groupId: 'ecorp-id', + type: 'group', + traits: { + name: 'ECorp', + industry: 'software', + numberOfEmployees: 400, + website: 'www.ecorp.com', + plan: 'premium', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + accountId: 'ecorp-id', + }, + }, + type: 'REST', + files: {}, + method: 'PUT', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users/sample-user-id', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 5', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + error: 'userId or anonymousId is required for identify', + statTags: { + destType: 'GAINSIGHT_PX', + errorCategory: 'dataValidation', + errorType: 'instrumentation', + feature: 'processor', + implementation: 'native', + module: 'destination', + }, + statusCode: 400, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 6', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + type: 'track', + event: 'Product Added', + properties: { + product_id: '123', + sku: 'F16', + category: 'Games', + name: 'Game', + brand: 'Gamepro', + variant: '111', + price: 13.49, + quantity: 11, + coupon: 'DISC21', + position: 1, + url: 'https://www.website.com/product/path', + image_url: 'https://www.website.com/product/path.png', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + error: 'Missing required value from "userId"', + statTags: { + destType: 'GAINSIGHT_PX', + errorCategory: 'dataValidation', + errorType: 'instrumentation', + feature: 'processor', + implementation: 'native', + module: 'destination', + }, + statusCode: 400, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 7', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + userId: 'sample-user-id', + type: 'group', + traits: { + name: 'ECorp', + industry: 'software', + numberOfEmployees: 400, + website: 'www.ecorp.com', + plan: 'premium', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + error: 'groupId is required for group', + statTags: { + destType: 'GAINSIGHT_PX', + errorCategory: 'dataValidation', + errorType: 'instrumentation', + feature: 'processor', + implementation: 'native', + module: 'destination', + }, + statusCode: 400, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 8', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + userId: 'sample-user-id', + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + type: 'track', + event: 'Stringify Test', + properties: { + description: 'Stringify test for object values', + nested: { + a: [1, 2, 3], + b: { + c: 1, + }, + }, + arr: [1, 2, 3], + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + attributes: { + description: 'Stringify test for object values', + nested: '{"a":[1,2,3],"b":{"c":1}}', + arr: '[1,2,3]', + }, + propertyKey: 'AP-XABC-123', + userType: 'USER', + identifyId: 'sample-user-id', + date: 1571043797562, + eventName: 'Stringify Test', + globalContext: { + projectId: 'p-123', + tag: 'sample-category-tag', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 9', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [ + { + from: 'projectId', + to: 'p-123', + }, + { + from: 'tag', + to: 'sample-category-tag', + }, + ], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + userId: 'sample-user-id', + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + type: 'track', + event: 'Stringify Test', + properties: { + description: 'Stringify test for object values', + nested: { + a: [1, 2, 3], + b: { + c: 1, + }, + }, + arr: [1, 2, 3], + globalContext: { + someKey: 'someVal', + }, + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + attributes: { + description: 'Stringify test for object values', + nested: '{"a":[1,2,3],"b":{"c":1}}', + arr: '[1,2,3]', + }, + propertyKey: 'AP-XABC-123', + userType: 'USER', + identifyId: 'sample-user-id', + date: 1571043797562, + eventName: 'Stringify Test', + globalContext: { + someKey: 'someVal', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 10', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + userId: 'absent-id', + groupId: 'ecorp-id', + type: 'group', + traits: { + name: 'ECorp', + industry: 'software', + numberOfEmployees: 400, + website: 'www.ecorp.com', + plan: 'premium', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + error: + 'aborting group call: {"status":"NOT_FOUND","message":"User was not found for parameters {id=absent-id}","debugMessage":null,"subErrors":null}', + statTags: { + destType: 'GAINSIGHT_PX', + errorCategory: 'dataValidation', + errorType: 'instrumentation', + feature: 'processor', + implementation: 'native', + module: 'destination', + }, + statusCode: 400, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 11', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + userId: 'absent-id', + anonymousId: 'sample-anon-id', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + identifyId: 'absent-id', + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + createDate: 1571043797562, + title: 'engineer', + propertyKeys: ['AP-XABC-123'], + location: { + countryName: 'USA', + countryCode: 'US', + city: 'New York', + }, + customAttributes: { + hobby: 'Sample Hobby', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 12', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: '', + to: '', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + userId: 'absent-id', + anonymousId: 'sample-anon-id', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + accountId: 1234, + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + identifyId: 'absent-id', + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + createDate: 1571043797562, + title: 'engineer', + propertyKeys: ['AP-XABC-123'], + accountId: '1234', + location: { + countryName: 'USA', + countryCode: 'US', + city: 'New York', + }, + customAttributes: {}, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 13', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + anonymousId: 'sample-anon-id', + userId: 'absent-id', + groupId: 'ecorp-id', + type: 'group', + traits: { + name: 'ECorp', + industry: 'software', + numberOfEmployees: 400, + website: 'www.ecorp.com', + plan: 'premium', + term: null, + }, + integrations: { + All: true, + GAINSIGHT_PX: { + limitAPIForGroup: true, + }, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'PUT', + endpoint: 'https://api.aptrinsic.com/v1/users/absent-id', + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + params: {}, + body: { + JSON: { + accountId: 'ecorp-id', + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 14 : existing user with no createdAt field in traits but signUpDate exists', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + userId: 'sample-user-id', + anonymousId: 'sample-anon-id', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + term: null, + campaign: '', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1624431528295, + title: 'engineer', + propertyKeys: ['AP-XABC-123'], + location: { + countryName: 'USA', + countryCode: 'US', + city: 'New York', + }, + customAttributes: { + hobby: 'Sample Hobby', + }, + }, + }, + type: 'REST', + files: {}, + method: 'PUT', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users/sample-user-id', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 15 : new user with no signUpDate and createDate in traits', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + Config: { + apiKey: 'sample-api-key', + productTagKey: 'AP-XABC-123', + accountAttributeMap: [ + { + from: '', + to: '', + }, + ], + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + globalContextMap: [], + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + messageId: '84e26acc-56a5-4835-8233-591137fca468', + session_id: '3049dc4c-5a95-4ccd-a3e7-d74a7e411f22', + originalTimestamp: '2019-10-14T09:03:17.562Z', + userId: 'absent-id', + anonymousId: 'sample-anon-id', + type: 'identify', + traits: { + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + title: 'engineer', + countryName: 'USA', + countryCode: 'US', + city: 'New York', + hobbyCustomField: 'Sample Hobby', + }, + integrations: { + All: true, + }, + sentAt: '2019-10-14T09:03:22.563Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + body: { + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + JSON: { + identifyId: 'absent-id', + type: 'USER', + gender: 'MALE', + email: 'user@email.com', + firstName: 'Sample', + lastName: 'User', + signUpDate: 1571043797562, + createDate: 1571043797562, + title: 'engineer', + propertyKeys: ['AP-XABC-123'], + location: { + countryName: 'USA', + countryCode: 'US', + city: 'New York', + }, + customAttributes: { + hobby: 'Sample Hobby', + }, + }, + }, + type: 'REST', + files: {}, + method: 'POST', + params: {}, + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + version: '1', + endpoint: 'https://api.aptrinsic.com/v1/users', + userId: '', + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'gainsight_px', + description: 'Test 16 : existing user with no signUpDate and createDate in traits', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destination: { + ID: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + Name: 'gainsight-px-dest', + DestinationDefinition: { + ID: '1uLuOdwPCqtei55ZKXewwPhjQPf', + Name: 'GAINSIGHT_PX', + DisplayName: 'Gainsight PX', + Config: { + destConfig: { + defaultConfig: [ + 'apiKey', + 'productTagKey', + 'userAttributeMap', + 'accountAttributeMap', + 'globalContextMap', + ], + }, + excludeKeys: [], + includeKeys: [], + saveDestinationResponse: true, + secretKeys: ['apiKey', 'productTagKey'], + supportedSourceTypes: [ + 'android', + 'ios', + 'web', + 'unity', + 'amp', + 'cloud', + 'reactnative', + 'flutter', + ], + transformAt: 'router', + transformAtV1: 'router', + }, + ResponseRules: {}, + }, + Config: { + accountAttributeMap: [ + { + from: 'cultureCustomField', + to: 'culture', + }, + ], + apiKey: 'sample-api-key', + eventDelivery: false, + eventDeliveryTS: 1624472902670, + globalContextMap: [ + { + from: 'kubrickTest', + to: 'value', + }, + ], + productTagKey: 'AP-SAMPLE-2', + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + }, + Enabled: true, + Transformations: [], + IsProcessorEnabled: true, + }, + message: { + type: 'identify', + sentAt: '2021-06-25T08:59:52.891Z', + userId: 'stanley-kubrick', + channel: 'web', + context: { + os: { + name: '', + version: '', + }, + app: { + name: 'RudderLabs JavaScript SDK', + build: '1.0.0', + version: '1.1.18', + namespace: 'com.rudderlabs.javascript', + }, + page: { + title: 'Test', + search: '', + path: 'index.html', + url: 'http://127.0.0.1:3003/index.html', + tab_url: 'http://127.0.0.1:3003/index.html', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + locale: 'en-GB', + screen: { + width: 1920, + height: 1080, + density: 1, + innerWidth: 1920, + innerHeight: 436, + }, + traits: { + name: 'Stanley Kubrick', + email: 'stanley@kubrick.com', + score: 100, + title: 'Director/Film Maker', + gender: 'Male', + countryCode: 'US', + countryName: 'USA', + hobbyCustomField: 'Making films. Being a genius', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.1.18', + }, + campaign: {}, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', + }, + rudderId: '9a7820d0-0ff2-4451-b655-682cec15cbd2', + messageId: 'ff90d62e-a6e3-4e23-af20-03b4a249ef48', + timestamp: '2021-06-25T14:29:52.911+05:30', + receivedAt: '2021-06-25T14:29:52.911+05:30', + request_ip: '[::1]', + anonymousId: '1585ea2f-dddc-4d23-935f-c1196405d61e', + integrations: { + All: true, + }, + originalTimestamp: '2021-06-25T08:59:52.891Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'PUT', + endpoint: 'https://api.aptrinsic.com/v1/users/stanley-kubrick', + userId: '', + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + params: {}, + body: { + JSON: { + email: 'stanley@kubrick.com', + gender: 'MALE', + title: 'Director/Film Maker', + score: 100, + location: { + countryName: 'USA', + countryCode: 'US', + }, + firstName: 'Stanley', + lastName: 'Kubrick', + customAttributes: { + hobby: 'Making films. Being a genius', + }, + propertyKeys: ['AP-SAMPLE-2'], + type: 'USER', + }, + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + }, + files: {}, + }, + statusCode: 200, + }, + ], + }, + }, + }, +]; diff --git a/test/integrations/destinations/gainsight_px/router/data.ts b/test/integrations/destinations/gainsight_px/router/data.ts index 4017a3ddb7..3b735c5b69 100644 --- a/test/integrations/destinations/gainsight_px/router/data.ts +++ b/test/integrations/destinations/gainsight_px/router/data.ts @@ -1,558 +1,557 @@ export const data = [ - { - name: 'gainsight_px', - description: 'Test 0', - feature: 'router', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - input: [ - { - "message": { - "type": "identify", - "sentAt": "2021-06-25T08:59:52.891Z", - "userId": "stanley-kubrick", - "channel": "web", - "context": { - "os": { - "name": "", - "version": "" - }, - "app": { - "name": "RudderLabs JavaScript SDK", - "build": "1.0.0", - "version": "1.1.18", - "namespace": "com.rudderlabs.javascript" - }, - "page": { - "title": "Test", - "search": "", - "path": "index.html", - "url": "http://127.0.0.1:3003/index.html", - "tab_url": "http://127.0.0.1:3003/index.html", - "referrer": "$direct", - "initial_referrer": "$direct", - "referring_domain": "", - "initial_referring_domain": "" - }, - "locale": "en-GB", - "screen": { - "width": 1920, - "height": 1080, - "density": 1, - "innerWidth": 1920, - "innerHeight": 436 - }, - "traits": { - "name": "Stanley Kubrick", - "email": "stanley@kubrick.com", - "score": 100, - "title": "Director/Film Maker", - "gender": "Male", - "countryCode": "US", - "countryName": "USA", - "hobbyCustomField": "Making films. Being a genius" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.1.18" - }, - "campaign": {}, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" - }, - "rudderId": "9a7820d0-0ff2-4451-b655-682cec15cbd2", - "messageId": "ff90d62e-a6e3-4e23-af20-03b4a249ef48", - "timestamp": "2021-06-25T14:29:52.911+05:30", - "receivedAt": "2021-06-25T14:29:52.911+05:30", - "request_ip": "[::1]", - "anonymousId": "1585ea2f-dddc-4d23-935f-c1196405d61e", - "integrations": { - "All": true - }, - "originalTimestamp": "2021-06-25T08:59:52.891Z" - }, - "metadata": { - "userId": "9a7820d0-0ff2-4451-b655-682cec15cbd2", - "jobId": 1, - "sourceId": "1s9eG8UCer6YSKsD8ZlQCyLa3pj", - "destinationId": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "attemptNum": 0, - "receivedAt": "2021-06-25T14:29:52.911+05:30", - "createdAt": "2021-06-25T08:59:56.329Z", - "firstAttemptedAt": "", - "transformAt": "router" - }, - "destination": { - "ID": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "Name": "gainsight-px-dest", - "DestinationDefinition": { - "ID": "1uLuOdwPCqtei55ZKXewwPhjQPf", - "Name": "GAINSIGHT_PX", - "DisplayName": "Gainsight PX", - "Config": { - "destConfig": { - "defaultConfig": [ - "apiKey", - "productTagKey", - "userAttributeMap", - "accountAttributeMap", - "globalContextMap" - ] - }, - "excludeKeys": [], - "includeKeys": [], - "saveDestinationResponse": true, - "secretKeys": ["apiKey", "productTagKey"], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter" - ], - "transformAt": "router", - "transformAtV1": "router" - }, - "ResponseRules": {} - }, - "Config": { - "accountAttributeMap": [ - { - "from": "cultureCustomField", - "to": "culture" - } - ], - "apiKey": "sample-api-key", - "eventDelivery": false, - "eventDeliveryTS": 1624472902670, - "globalContextMap": [ - { - "from": "kubrickTest", - "to": "value" - } - ], - "productTagKey": "AP-SAMPLE-2", - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ] - }, - "Enabled": true, - "Transformations": [], - "IsProcessorEnabled": true - } - }, - { - "message": { - "type": "track", - "event": "nested test2", - "sentAt": "2021-06-26T10:41:22.316Z", - "userId": "adifhas9734", - "channel": "web", - "context": { - "os": { - "name": "", - "version": "" - }, - "app": { - "name": "RudderLabs JavaScript SDK", - "build": "1.0.0", - "version": "1.1.18", - "namespace": "com.rudderlabs.javascript" - }, - "page": { - "url": "file:///Users/anurajguha/workspace/simple-html-test/index.html", - "path": "/Users/anurajguha/workspace/simple-html-test/index.html", - "title": "Test", - "search": "", - "tab_url": "file:///Users/anurajguha/workspace/simple-html-test/index.html", - "referrer": "$direct", - "initial_referrer": "$direct", - "referring_domain": "", - "initial_referring_domain": "" - }, - "locale": "en-GB", - "screen": { - "width": 1920, - "height": 1080, - "density": 1, - "innerWidth": 1920, - "innerHeight": 585 - }, - "traits": { - "name": "Update test unique", - "phone": "9900990899", - "lastname": "user6", - "firstname": "test", - "previousCompany": "testprevCompany2" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.1.18" - }, - "campaign": {}, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" - }, - "rudderId": "a27a8a8a-9e81-4898-beeb-e6041fc1552d", - "messageId": "595dae36-5e4f-4feb-a2e4-8a7849615d38", - "timestamp": "2021-06-26T16:11:22.335+05:30", - "properties": { - "array": [1, 2, 3], - "nested": { - "json": "test" - }, - "status": "testing", - "description": "Example track call", - "fullyNested": [ - { - "a": 1, - "b": 2 - }, - { - "a": 1, - "b": [1, 2, 3] - } - ] - }, - "receivedAt": "2021-06-26T16:11:22.335+05:30", - "request_ip": "[::1]", - "anonymousId": "1585ea2f-dddc-4d23-935f-c1196405d61e", - "integrations": { - "All": true - }, - "originalTimestamp": "2021-06-26T10:41:22.316Z" - }, - "metadata": { - "userId": "a27a8a8a-9e81-4898-beeb-e6041fc1552d", - "jobId": 2, - "sourceId": "1s9eG8UCer6YSKsD8ZlQCyLa3pj", - "destinationId": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "attemptNum": 0, - "receivedAt": "2021-06-26T16:11:22.335+05:30", - "createdAt": "2021-06-26T10:41:24.126Z", - "firstAttemptedAt": "", - "transformAt": "router" - }, - "destination": { - "ID": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "Name": "gainsight-px-dest", - "DestinationDefinition": { - "ID": "1uLuOdwPCqtei55ZKXewwPhjQPf", - "Name": "GAINSIGHT_PX", - "DisplayName": "Gainsight PX", - "Config": { - "destConfig": { - "defaultConfig": [ - "apiKey", - "productTagKey", - "userAttributeMap", - "accountAttributeMap", - "globalContextMap" - ] - }, - "excludeKeys": [], - "includeKeys": [], - "saveDestinationResponse": true, - "secretKeys": ["apiKey", "productTagKey"], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter" - ], - "transformAt": "router", - "transformAtV1": "router" - }, - "ResponseRules": {} - }, - "Config": { - "accountAttributeMap": [ - { - "from": "cultureCustomField", - "to": "culture" - } - ], - "apiKey": "sample-api-key", - "eventDelivery": false, - "eventDeliveryTS": 1624472902670, - "globalContextMap": [ - { - "from": "kubrickTest", - "to": "value" - } - ], - "productTagKey": "AP-SAMPLE-2", - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ] - }, - "Enabled": true, - "Transformations": [], - "IsProcessorEnabled": true - } - } - ] - , - destType: 'gainsight_px', + { + name: 'gainsight_px', + description: 'Test 0', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'identify', + sentAt: '2021-06-25T08:59:52.891Z', + userId: 'stanley-kubrick', + channel: 'web', + context: { + os: { + name: '', + version: '', + }, + app: { + name: 'RudderLabs JavaScript SDK', + build: '1.0.0', + version: '1.1.18', + namespace: 'com.rudderlabs.javascript', + }, + page: { + title: 'Test', + search: '', + path: 'index.html', + url: 'http://127.0.0.1:3003/index.html', + tab_url: 'http://127.0.0.1:3003/index.html', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + locale: 'en-GB', + screen: { + width: 1920, + height: 1080, + density: 1, + innerWidth: 1920, + innerHeight: 436, + }, + traits: { + name: 'Stanley Kubrick', + email: 'stanley@kubrick.com', + score: 100, + title: 'Director/Film Maker', + gender: 'Male', + countryCode: 'US', + countryName: 'USA', + hobbyCustomField: 'Making films. Being a genius', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.1.18', + }, + campaign: {}, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', + }, + rudderId: '9a7820d0-0ff2-4451-b655-682cec15cbd2', + messageId: 'ff90d62e-a6e3-4e23-af20-03b4a249ef48', + timestamp: '2021-06-25T14:29:52.911+05:30', + receivedAt: '2021-06-25T14:29:52.911+05:30', + request_ip: '[::1]', + anonymousId: '1585ea2f-dddc-4d23-935f-c1196405d61e', + integrations: { + All: true, + }, + originalTimestamp: '2021-06-25T08:59:52.891Z', + }, + metadata: { + userId: '9a7820d0-0ff2-4451-b655-682cec15cbd2', + jobId: 1, + sourceId: '1s9eG8UCer6YSKsD8ZlQCyLa3pj', + destinationId: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + attemptNum: 0, + receivedAt: '2021-06-25T14:29:52.911+05:30', + createdAt: '2021-06-25T08:59:56.329Z', + firstAttemptedAt: '', + transformAt: 'router', + }, + destination: { + ID: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + Name: 'gainsight-px-dest', + DestinationDefinition: { + ID: '1uLuOdwPCqtei55ZKXewwPhjQPf', + Name: 'GAINSIGHT_PX', + DisplayName: 'Gainsight PX', + Config: { + destConfig: { + defaultConfig: [ + 'apiKey', + 'productTagKey', + 'userAttributeMap', + 'accountAttributeMap', + 'globalContextMap', + ], + }, + excludeKeys: [], + includeKeys: [], + saveDestinationResponse: true, + secretKeys: ['apiKey', 'productTagKey'], + supportedSourceTypes: [ + 'android', + 'ios', + 'web', + 'unity', + 'amp', + 'cloud', + 'reactnative', + 'flutter', + ], + transformAt: 'router', + transformAtV1: 'router', + }, + ResponseRules: {}, }, + Config: { + accountAttributeMap: [ + { + from: 'cultureCustomField', + to: 'culture', + }, + ], + apiKey: 'sample-api-key', + eventDelivery: false, + eventDeliveryTS: 1624472902670, + globalContextMap: [ + { + from: 'kubrickTest', + to: 'value', + }, + ], + productTagKey: 'AP-SAMPLE-2', + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + }, + Enabled: true, + Transformations: [], + IsProcessorEnabled: true, + }, }, + { + message: { + type: 'track', + event: 'nested test2', + sentAt: '2021-06-26T10:41:22.316Z', + userId: 'adifhas9734', + channel: 'web', + context: { + os: { + name: '', + version: '', + }, + app: { + name: 'RudderLabs JavaScript SDK', + build: '1.0.0', + version: '1.1.18', + namespace: 'com.rudderlabs.javascript', + }, + page: { + url: 'file:///Users/anurajguha/workspace/simple-html-test/index.html', + path: '/Users/anurajguha/workspace/simple-html-test/index.html', + title: 'Test', + search: '', + tab_url: 'file:///Users/anurajguha/workspace/simple-html-test/index.html', + referrer: '$direct', + initial_referrer: '$direct', + referring_domain: '', + initial_referring_domain: '', + }, + locale: 'en-GB', + screen: { + width: 1920, + height: 1080, + density: 1, + innerWidth: 1920, + innerHeight: 585, + }, + traits: { + name: 'Update test unique', + phone: '9900990899', + lastname: 'user6', + firstname: 'test', + previousCompany: 'testprevCompany2', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.1.18', + }, + campaign: {}, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', + }, + rudderId: 'a27a8a8a-9e81-4898-beeb-e6041fc1552d', + messageId: '595dae36-5e4f-4feb-a2e4-8a7849615d38', + timestamp: '2021-06-26T16:11:22.335+05:30', + properties: { + array: [1, 2, 3], + nested: { + json: 'test', + }, + status: 'testing', + description: 'Example track call', + fullyNested: [ + { + a: 1, + b: 2, + }, + { + a: 1, + b: [1, 2, 3], + }, + ], + }, + receivedAt: '2021-06-26T16:11:22.335+05:30', + request_ip: '[::1]', + anonymousId: '1585ea2f-dddc-4d23-935f-c1196405d61e', + integrations: { + All: true, + }, + originalTimestamp: '2021-06-26T10:41:22.316Z', + }, + metadata: { + userId: 'a27a8a8a-9e81-4898-beeb-e6041fc1552d', + jobId: 2, + sourceId: '1s9eG8UCer6YSKsD8ZlQCyLa3pj', + destinationId: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + attemptNum: 0, + receivedAt: '2021-06-26T16:11:22.335+05:30', + createdAt: '2021-06-26T10:41:24.126Z', + firstAttemptedAt: '', + transformAt: 'router', + }, + destination: { + ID: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + Name: 'gainsight-px-dest', + DestinationDefinition: { + ID: '1uLuOdwPCqtei55ZKXewwPhjQPf', + Name: 'GAINSIGHT_PX', + DisplayName: 'Gainsight PX', + Config: { + destConfig: { + defaultConfig: [ + 'apiKey', + 'productTagKey', + 'userAttributeMap', + 'accountAttributeMap', + 'globalContextMap', + ], + }, + excludeKeys: [], + includeKeys: [], + saveDestinationResponse: true, + secretKeys: ['apiKey', 'productTagKey'], + supportedSourceTypes: [ + 'android', + 'ios', + 'web', + 'unity', + 'amp', + 'cloud', + 'reactnative', + 'flutter', + ], + transformAt: 'router', + transformAtV1: 'router', + }, + ResponseRules: {}, + }, + Config: { + accountAttributeMap: [ + { + from: 'cultureCustomField', + to: 'culture', + }, + ], + apiKey: 'sample-api-key', + eventDelivery: false, + eventDeliveryTS: 1624472902670, + globalContextMap: [ + { + from: 'kubrickTest', + to: 'value', + }, + ], + productTagKey: 'AP-SAMPLE-2', + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + }, + Enabled: true, + Transformations: [], + IsProcessorEnabled: true, + }, + }, + ], + destType: 'gainsight_px', }, - output: { - response: { - status: 200, + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batchedRequest: { + version: '1', + type: 'REST', + method: 'PUT', + endpoint: 'https://api.aptrinsic.com/v1/users/stanley-kubrick', + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + params: {}, + body: { + JSON: { + email: 'stanley@kubrick.com', + gender: 'MALE', + title: 'Director/Film Maker', + score: 100, + location: { + countryName: 'USA', + countryCode: 'US', + }, + firstName: 'Stanley', + lastName: 'Kubrick', + customAttributes: { + hobby: 'Making films. Being a genius', + }, + propertyKeys: ['AP-SAMPLE-2'], + type: 'USER', + }, + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + }, + files: {}, + }, + metadata: [ + { + userId: '9a7820d0-0ff2-4451-b655-682cec15cbd2', + jobId: 1, + sourceId: '1s9eG8UCer6YSKsD8ZlQCyLa3pj', + destinationId: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + attemptNum: 0, + receivedAt: '2021-06-25T14:29:52.911+05:30', + createdAt: '2021-06-25T08:59:56.329Z', + firstAttemptedAt: '', + transformAt: 'router', + }, + ], + batched: false, + statusCode: 200, + destination: { + ID: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + Name: 'gainsight-px-dest', + DestinationDefinition: { + ID: '1uLuOdwPCqtei55ZKXewwPhjQPf', + Name: 'GAINSIGHT_PX', + DisplayName: 'Gainsight PX', + Config: { + destConfig: { + defaultConfig: [ + 'apiKey', + 'productTagKey', + 'userAttributeMap', + 'accountAttributeMap', + 'globalContextMap', + ], + }, + excludeKeys: [], + includeKeys: [], + saveDestinationResponse: true, + secretKeys: ['apiKey', 'productTagKey'], + supportedSourceTypes: [ + 'android', + 'ios', + 'web', + 'unity', + 'amp', + 'cloud', + 'reactnative', + 'flutter', + ], + transformAt: 'router', + transformAtV1: 'router', + }, + ResponseRules: {}, + }, + Config: { + accountAttributeMap: [ + { + from: 'cultureCustomField', + to: 'culture', + }, + ], + apiKey: 'sample-api-key', + eventDelivery: false, + eventDeliveryTS: 1624472902670, + globalContextMap: [ + { + from: 'kubrickTest', + to: 'value', + }, + ], + productTagKey: 'AP-SAMPLE-2', + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], + }, + Enabled: true, + Transformations: [], + IsProcessorEnabled: true, + }, + }, + { + batchedRequest: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://api.aptrinsic.com/v1/events/custom', + headers: { + 'X-APTRINSIC-API-KEY': 'sample-api-key', + 'Content-Type': 'application/json', + }, + params: {}, body: { - output: [ - { - "batchedRequest": { - "version": "1", - "type": "REST", - "method": "PUT", - "endpoint": "https://api.aptrinsic.com/v1/users/stanley-kubrick", - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "params": {}, - "body": { - "JSON": { - "email": "stanley@kubrick.com", - "gender": "MALE", - "signUpDate": 1624611592911, - "title": "Director/Film Maker", - "score": 100, - "createDate": 1624611592911, - "location": { - "countryName": "USA", - "countryCode": "US" - }, - "firstName": "Stanley", - "lastName": "Kubrick", - "customAttributes": { - "hobby": "Making films. Being a genius" - }, - "propertyKeys": ["AP-SAMPLE-2"], - "type": "USER" - }, - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {} - }, - "files": {} - }, - "metadata": [ - { - "userId": "9a7820d0-0ff2-4451-b655-682cec15cbd2", - "jobId": 1, - "sourceId": "1s9eG8UCer6YSKsD8ZlQCyLa3pj", - "destinationId": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "attemptNum": 0, - "receivedAt": "2021-06-25T14:29:52.911+05:30", - "createdAt": "2021-06-25T08:59:56.329Z", - "firstAttemptedAt": "", - "transformAt": "router" - } - ], - "batched": false, - "statusCode": 200, - "destination": { - "ID": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "Name": "gainsight-px-dest", - "DestinationDefinition": { - "ID": "1uLuOdwPCqtei55ZKXewwPhjQPf", - "Name": "GAINSIGHT_PX", - "DisplayName": "Gainsight PX", - "Config": { - "destConfig": { - "defaultConfig": [ - "apiKey", - "productTagKey", - "userAttributeMap", - "accountAttributeMap", - "globalContextMap" - ] - }, - "excludeKeys": [], - "includeKeys": [], - "saveDestinationResponse": true, - "secretKeys": ["apiKey", "productTagKey"], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter" - ], - "transformAt": "router", - "transformAtV1": "router" - }, - "ResponseRules": {} - }, - "Config": { - "accountAttributeMap": [ - { - "from": "cultureCustomField", - "to": "culture" - } - ], - "apiKey": "sample-api-key", - "eventDelivery": false, - "eventDeliveryTS": 1624472902670, - "globalContextMap": [ - { - "from": "kubrickTest", - "to": "value" - } - ], - "productTagKey": "AP-SAMPLE-2", - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ] - }, - "Enabled": true, - "Transformations": [], - "IsProcessorEnabled": true - } - }, - { - "batchedRequest": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://api.aptrinsic.com/v1/events/custom", - "headers": { - "X-APTRINSIC-API-KEY": "sample-api-key", - "Content-Type": "application/json" - }, - "params": {}, - "body": { - "JSON": { - "identifyId": "adifhas9734", - "eventName": "nested test2", - "date": 1624704082335, - "attributes": { - "array": "[1,2,3]", - "nested": "{\"json\":\"test\"}", - "status": "testing", - "description": "Example track call", - "fullyNested": "[{\"a\":1,\"b\":2},{\"a\":1,\"b\":[1,2,3]}]" - }, - "url": "file:///Users/anurajguha/workspace/simple-html-test/index.html", - "referrer": "$direct", - "propertyKey": "AP-SAMPLE-2", - "userType": "USER", - "globalContext": { - "kubrickTest": "value" - } - }, - "XML": {}, - "JSON_ARRAY": {}, - "FORM": {} - }, - "files": {} - }, - "metadata": [ - { - "userId": "a27a8a8a-9e81-4898-beeb-e6041fc1552d", - "jobId": 2, - "sourceId": "1s9eG8UCer6YSKsD8ZlQCyLa3pj", - "destinationId": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "attemptNum": 0, - "receivedAt": "2021-06-26T16:11:22.335+05:30", - "createdAt": "2021-06-26T10:41:24.126Z", - "firstAttemptedAt": "", - "transformAt": "router" - } - ], - "batched": false, - "statusCode": 200, - "destination": { - "ID": "1uLy1tqsoo9RhL1zLiqLQTKBIKL", - "Name": "gainsight-px-dest", - "DestinationDefinition": { - "ID": "1uLuOdwPCqtei55ZKXewwPhjQPf", - "Name": "GAINSIGHT_PX", - "DisplayName": "Gainsight PX", - "Config": { - "destConfig": { - "defaultConfig": [ - "apiKey", - "productTagKey", - "userAttributeMap", - "accountAttributeMap", - "globalContextMap" - ] - }, - "excludeKeys": [], - "includeKeys": [], - "saveDestinationResponse": true, - "secretKeys": ["apiKey", "productTagKey"], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter" - ], - "transformAt": "router", - "transformAtV1": "router" - }, - "ResponseRules": {} - }, - "Config": { - "accountAttributeMap": [ - { - "from": "cultureCustomField", - "to": "culture" - } - ], - "apiKey": "sample-api-key", - "eventDelivery": false, - "eventDeliveryTS": 1624472902670, - "globalContextMap": [ - { - "from": "kubrickTest", - "to": "value" - } - ], - "productTagKey": "AP-SAMPLE-2", - "userAttributeMap": [ - { - "from": "hobbyCustomField", - "to": "hobby" - } - ] - }, - "Enabled": true, - "Transformations": [], - "IsProcessorEnabled": true - } - } + JSON: { + identifyId: 'adifhas9734', + eventName: 'nested test2', + date: 1624704082335, + attributes: { + array: '[1,2,3]', + nested: '{"json":"test"}', + status: 'testing', + description: 'Example track call', + fullyNested: '[{"a":1,"b":2},{"a":1,"b":[1,2,3]}]', + }, + url: 'file:///Users/anurajguha/workspace/simple-html-test/index.html', + referrer: '$direct', + propertyKey: 'AP-SAMPLE-2', + userType: 'USER', + globalContext: { + kubrickTest: 'value', + }, + }, + XML: {}, + JSON_ARRAY: {}, + FORM: {}, + }, + files: {}, + }, + metadata: [ + { + userId: 'a27a8a8a-9e81-4898-beeb-e6041fc1552d', + jobId: 2, + sourceId: '1s9eG8UCer6YSKsD8ZlQCyLa3pj', + destinationId: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + attemptNum: 0, + receivedAt: '2021-06-26T16:11:22.335+05:30', + createdAt: '2021-06-26T10:41:24.126Z', + firstAttemptedAt: '', + transformAt: 'router', + }, + ], + batched: false, + statusCode: 200, + destination: { + ID: '1uLy1tqsoo9RhL1zLiqLQTKBIKL', + Name: 'gainsight-px-dest', + DestinationDefinition: { + ID: '1uLuOdwPCqtei55ZKXewwPhjQPf', + Name: 'GAINSIGHT_PX', + DisplayName: 'Gainsight PX', + Config: { + destConfig: { + defaultConfig: [ + 'apiKey', + 'productTagKey', + 'userAttributeMap', + 'accountAttributeMap', + 'globalContextMap', + ], + }, + excludeKeys: [], + includeKeys: [], + saveDestinationResponse: true, + secretKeys: ['apiKey', 'productTagKey'], + supportedSourceTypes: [ + 'android', + 'ios', + 'web', + 'unity', + 'amp', + 'cloud', + 'reactnative', + 'flutter', ], + transformAt: 'router', + transformAtV1: 'router', + }, + ResponseRules: {}, + }, + Config: { + accountAttributeMap: [ + { + from: 'cultureCustomField', + to: 'culture', + }, + ], + apiKey: 'sample-api-key', + eventDelivery: false, + eventDeliveryTS: 1624472902670, + globalContextMap: [ + { + from: 'kubrickTest', + to: 'value', + }, + ], + productTagKey: 'AP-SAMPLE-2', + userAttributeMap: [ + { + from: 'hobbyCustomField', + to: 'hobby', + }, + ], }, + Enabled: true, + Transformations: [], + IsProcessorEnabled: true, + }, }, + ], }, + }, }, + }, ]; From e0c225dfab711c1d87d1c5dd1be98fb476548588 Mon Sep 17 00:00:00 2001 From: Mihir Bhalala <77438541+mihir-4116@users.noreply.github.com> Date: Thu, 4 Jan 2024 12:18:51 +0530 Subject: [PATCH 12/22] feat(sprig): added user deletion support (#2886) * feat(sprig): added user deletion support * chore: destination doc link added for reference * chore: code review changes * chore: code review changes --- src/v0/destinations/sprig/deleteUsers.js | 79 +++++++ .../destinations/sprig/deleteUsers/data.ts | 217 ++++++++++++++++++ .../destinations/sprig/network.ts | 79 +++++++ 3 files changed, 375 insertions(+) create mode 100644 src/v0/destinations/sprig/deleteUsers.js create mode 100644 test/integrations/destinations/sprig/deleteUsers/data.ts create mode 100644 test/integrations/destinations/sprig/network.ts diff --git a/src/v0/destinations/sprig/deleteUsers.js b/src/v0/destinations/sprig/deleteUsers.js new file mode 100644 index 0000000000..a886bbbafc --- /dev/null +++ b/src/v0/destinations/sprig/deleteUsers.js @@ -0,0 +1,79 @@ +const { NetworkError, ConfigurationError } = require('@rudderstack/integrations-lib'); +const { httpPOST } = require('../../../adapters/network'); +const { + processAxiosResponse, + getDynamicErrorType, +} = require('../../../adapters/utils/networkUtils'); +const { isHttpStatusSuccess } = require('../../util'); +const { executeCommonValidations } = require('../../util/regulation-api'); +const tags = require('../../util/tags'); +const { getUserIdBatches } = require('../../util/deleteUserUtils'); +const { JSON_MIME_TYPE } = require('../../util/constant'); + +/** + * This function will help to delete the users one by one from the userAttributes array. + * @param {*} userAttributes Array of objects with userId, email and phone + * @param {*} config Destination.Config provided in dashboard + * @returns + */ +const userDeletionHandler = async (userAttributes, config) => { + const { apiKey } = config; + + if (!apiKey) { + throw new ConfigurationError('Api Key is required for user deletion'); + } + + const endpoint = 'https://api.sprig.com/v2/purge/visitors'; + const headers = { + Accept: JSON_MIME_TYPE, + 'Content-Type': JSON_MIME_TYPE, + Authorization: `API-Key ${apiKey}`, + }; + /** + * userIdBatches = [[u1,u2,u3,...batchSize],[u1,u2,u3,...batchSize]...] + * Ref doc : https://docs.sprig.com/reference/post-v2-purge-visitors-1 + */ + const userIdBatches = getUserIdBatches(userAttributes, 100); + // Note: we will only get 400 status code when no user deletion is present for given userIds so we will not throw error in that case + // eslint-disable-next-line no-restricted-syntax + for (const curBatch of userIdBatches) { + // eslint-disable-next-line no-await-in-loop + const deletionResponse = await httpPOST( + endpoint, + { + userIds: curBatch, + }, + { + headers, + }, + { + destType: 'sprig', + feature: 'deleteUsers', + endpointPath: 'api.sprig.com/v2/purge/visitors', + }, + ); + const handledDelResponse = processAxiosResponse(deletionResponse); + if (!isHttpStatusSuccess(handledDelResponse.status) && handledDelResponse.status !== 400) { + throw new NetworkError( + 'User deletion request failed', + handledDelResponse.status, + { + [tags.TAG_NAMES.ERROR_TYPE]: getDynamicErrorType(handledDelResponse.status), + }, + handledDelResponse, + ); + } + } + + return { + statusCode: 200, + status: 'successful', + }; +}; +const processDeleteUsers = async (event) => { + const { userAttributes, config } = event; + executeCommonValidations(userAttributes); + const resp = await userDeletionHandler(userAttributes, config); + return resp; +}; +module.exports = { processDeleteUsers }; diff --git a/test/integrations/destinations/sprig/deleteUsers/data.ts b/test/integrations/destinations/sprig/deleteUsers/data.ts new file mode 100644 index 0000000000..7ab5620e66 --- /dev/null +++ b/test/integrations/destinations/sprig/deleteUsers/data.ts @@ -0,0 +1,217 @@ +export const data = [ + { + name: 'sprig', + description: 'Missing api key', + feature: 'userDeletion', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destType: 'SPRIG', + userAttributes: [ + { + userId: '1', + }, + { + userId: '2', + }, + ], + config: { + apiKey: undefined, + }, + }, + ], + }, + }, + output: { + response: { + status: 400, + body: [ + { + statusCode: 400, + error: 'Api Key is required for user deletion', + }, + ], + }, + }, + }, + { + name: 'sprig', + description: 'Invalid api key', + feature: 'userDeletion', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destType: 'SPRIG', + userAttributes: [ + { + userId: '1', + }, + { + userId: '2', + }, + ], + config: { + apiKey: 'invalidApiKey', + }, + }, + ], + }, + }, + output: { + response: { + status: 403, + body: [ + { + statusCode: 403, + error: 'User deletion request failed', + }, + ], + }, + }, + }, + { + name: 'sprig', + description: 'Too many requests', + feature: 'userDeletion', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destType: 'SPRIG', + userAttributes: [ + { + userId: '1', + }, + { + userId: '2', + }, + { + userId: '3', + }, + { + userId: '4', + }, + { + userId: '5', + }, + { + userId: '6', + }, + { + userId: '7', + }, + { + userId: '8', + }, + { + userId: '9', + }, + { + userId: '10', + }, + ], + config: { + apiKey: 'testApiKey', + }, + }, + ], + }, + }, + output: { + response: { + status: 429, + body: [ + { + statusCode: 429, + error: 'User deletion request failed', + }, + ], + }, + }, + }, + { + name: 'sprig', + description: 'Given userId is not present for user deletion', + feature: 'userDeletion', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destType: 'SPRIG', + userAttributes: [ + { + userId: '9', + }, + ], + config: { + apiKey: 'testApiKey', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + statusCode: 200, + status: 'successful', + }, + , + ], + }, + }, + }, + { + name: 'sprig', + description: 'Successful user deletion', + feature: 'userDeletion', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + destType: 'SPRIG', + userAttributes: [ + { + userId: '1', + }, + { + userId: '2', + }, + { + userId: '3', + }, + ], + config: { + apiKey: 'testApiKey', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + statusCode: 200, + status: 'successful', + }, + ], + }, + }, + }, +]; diff --git a/test/integrations/destinations/sprig/network.ts b/test/integrations/destinations/sprig/network.ts new file mode 100644 index 0000000000..e5f2ff23b1 --- /dev/null +++ b/test/integrations/destinations/sprig/network.ts @@ -0,0 +1,79 @@ +const deleteNwData = [ + { + httpReq: { + method: 'post', + url: 'https://api.sprig.com/v2/purge/visitors', + data: { + userIds: ['1', '2'], + }, + headers: { + Accept: 'application/json', + Authorization: 'API-Key invalidApiKey', + 'Content-Type': 'application/json', + }, + }, + httpRes: { + data: 'Forbidden', + status: 403, + }, + }, + { + httpReq: { + method: 'post', + url: 'https://api.sprig.com/v2/purge/visitors', + data: { + userIds: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], + }, + headers: { + Accept: 'application/json', + Authorization: 'API-Key testApiKey', + 'Content-Type': 'application/json', + }, + }, + httpRes: { + data: 'Your application has made too many requests in too short a time.', + status: 429, + }, + }, + { + httpReq: { + method: 'post', + url: 'https://api.sprig.com/v2/purge/visitors', + data: { + userIds: ['9'], + }, + headers: { + Accept: 'application/json', + Authorization: 'API-Key testApiKey', + 'Content-Type': 'application/json', + }, + }, + httpRes: { + data: { + error: 'User deletion request failed', + }, + status: 400, + }, + }, + { + httpReq: { + method: 'post', + url: 'https://api.sprig.com/v2/purge/visitors', + data: { + userIds: ['1', '2', '3'], + }, + headers: { + Accept: 'application/json', + Authorization: 'API-Key testApiKey', + 'Content-Type': 'application/json', + }, + }, + httpRes: { + data: { + requestId: 'request_1', + }, + status: 200, + }, + }, +]; +export const networkCallsData = [...deleteNwData]; From 2380f9dcfcda2c6fe101b8b3a2d580e26a6452f3 Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Thu, 4 Jan 2024 15:04:53 +0530 Subject: [PATCH 13/22] fix: enhancement and version upgrade of google ads remarketing list (#2945) * fix: enhancement and version upgrade of garl * fix: migrating util to google utils and adding test cases * fix: small edit * Update src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> * fix: edit test case description --------- Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> --- .../config.js | 2 +- .../networkHandler.js | 17 +- .../transform.js | 13 +- src/v0/util/googleUtils/index.js | 30 + src/v0/util/googleUtils/index.test.js | 50 + .../proxy_response.json | 18 +- .../dataDelivery/data.ts | 468 +- .../network.ts | 293 +- .../processor/data.ts | 22547 +++++++++------- .../router/data.ts | 1087 +- 10 files changed, 13192 insertions(+), 11333 deletions(-) create mode 100644 src/v0/util/googleUtils/index.js create mode 100644 src/v0/util/googleUtils/index.test.js diff --git a/src/v0/destinations/google_adwords_remarketing_lists/config.js b/src/v0/destinations/google_adwords_remarketing_lists/config.js index 94059c69f1..5bf0d8a299 100644 --- a/src/v0/destinations/google_adwords_remarketing_lists/config.js +++ b/src/v0/destinations/google_adwords_remarketing_lists/config.js @@ -1,6 +1,6 @@ const { getMappingConfig } = require('../../util'); -const BASE_ENDPOINT = 'https://googleads.googleapis.com/v14/customers'; +const BASE_ENDPOINT = 'https://googleads.googleapis.com/v15/customers'; const CONFIG_CATEGORIES = { AUDIENCE_LIST: { type: 'audienceList', name: 'offlineDataJobs' }, ADDRESSINFO: { type: 'addressInfo', name: 'addressInfo' }, diff --git a/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js b/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js index aeb80216ff..bf703ccb1b 100644 --- a/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js +++ b/src/v0/destinations/google_adwords_remarketing_lists/networkHandler.js @@ -14,18 +14,24 @@ const tags = require('../../util/tags'); * @param listId * @param headers * @param method + * @consentBlock + * ref: https://developers.google.com/google-ads/api/rest/reference/rest/v15/CustomerMatchUserListMetadata */ -const createJob = async (endpoint, customerId, listId, headers, method) => { +const createJob = async (endpoint, headers, method, params) => { const jobCreatingUrl = `${endpoint}:create`; + const customerMatchUserListMetadata = { + userList: `customers/${params.customerId}/userLists/${params.listId}`, + }; + if (Object.keys(params.consent).length > 0) { + customerMatchUserListMetadata.consent = params.consent; + } const jobCreatingRequest = { url: jobCreatingUrl, data: { job: { type: 'CUSTOMER_MATCH_USER_LIST', - customerMatchUserListMetadata: { - userList: `customers/${customerId}/userLists/${listId}`, - }, + customerMatchUserListMetadata, }, }, headers, @@ -94,11 +100,10 @@ const runTheJob = async (endpoint, headers, method, jobId) => { const gaAudienceProxyRequest = async (request) => { const { body, method, params, endpoint } = request; const { headers } = request; - const { customerId, listId } = params; // step1: offlineUserDataJobs creation - const firstResponse = await createJob(endpoint, customerId, listId, headers, method); + const firstResponse = await createJob(endpoint, headers, method, params); if (!firstResponse.success && !isHttpStatusSuccess(firstResponse?.response?.status)) { return firstResponse; } diff --git a/src/v0/destinations/google_adwords_remarketing_lists/transform.js b/src/v0/destinations/google_adwords_remarketing_lists/transform.js index 884fcd71f6..9526973fb8 100644 --- a/src/v0/destinations/google_adwords_remarketing_lists/transform.js +++ b/src/v0/destinations/google_adwords_remarketing_lists/transform.js @@ -15,6 +15,8 @@ const { getAccessToken, } = require('../../util'); +const { populateConsentForGoogleDestinations } = require('../../util/googleUtils'); + const { offlineDataJobsMapping, addressInfoMapping, @@ -43,7 +45,7 @@ const hashEncrypt = (object) => { * @param {*} param2 * @returns */ -const responseBuilder = (metadata, body, { Config }, message) => { +const responseBuilder = (metadata, body, { Config }, message, consentBlock) => { const payload = body; const response = defaultRequestConfig(); const filteredCustomerId = removeHyphens(Config.customerId); @@ -62,7 +64,11 @@ const responseBuilder = (metadata, body, { Config }, message) => { if (!isDefinedAndNotNullAndNotEmpty(operationAudienceId)) { throw new ConfigurationError('List ID is a mandatory field'); } - response.params = { listId: operationAudienceId, customerId: filteredCustomerId }; + response.params = { + listId: operationAudienceId, + customerId: filteredCustomerId, + consent: consentBlock, + }; response.headers = { Authorization: `Bearer ${accessToken}`, 'Content-Type': JSON_MIME_TYPE, @@ -212,7 +218,8 @@ const processEvent = async (metadata, message, destination) => { } Object.values(createdPayload).forEach((data) => { - response.push(responseBuilder(metadata, data, destination, message)); + const consentObj = populateConsentForGoogleDestinations(message.properties); + response.push(responseBuilder(metadata, data, destination, message, consentObj)); }); return response; } diff --git a/src/v0/util/googleUtils/index.js b/src/v0/util/googleUtils/index.js new file mode 100644 index 0000000000..c8d872e90e --- /dev/null +++ b/src/v0/util/googleUtils/index.js @@ -0,0 +1,30 @@ +const GOOGLE_ALLOWED_CONSENT_STATUS = ['UNSPECIFIED', 'UNKNOWN', 'GRANTED', 'DENIED']; + +/** + * Populates the consent object based on the provided properties. + * + * @param {object} properties - message.properties containing properties related to consent. + * @returns {object} - An object containing consent information. + * ref : https://developers.google.com/google-ads/api/rest/reference/rest/v15/Consent + */ + +const populateConsentForGoogleDestinations = (properties) => { + const consent = {}; + + if ( + properties?.userDataConsent && + GOOGLE_ALLOWED_CONSENT_STATUS.includes(properties.userDataConsent) + ) { + consent.adUserData = properties.userDataConsent; + } + + if ( + properties?.personalizationConsent && + GOOGLE_ALLOWED_CONSENT_STATUS.includes(properties.personalizationConsent) + ) { + consent.adPersonalization = properties.personalizationConsent; + } + return consent; +}; + +module.exports = { populateConsentForGoogleDestinations }; diff --git a/src/v0/util/googleUtils/index.test.js b/src/v0/util/googleUtils/index.test.js new file mode 100644 index 0000000000..27eff2a793 --- /dev/null +++ b/src/v0/util/googleUtils/index.test.js @@ -0,0 +1,50 @@ +const { populateConsentForGoogleDestinations } = require('./index'); + +describe('unit test for populateConsentForGoogleDestinations', () => { + // Returns an empty object when no properties are provided. + it('should return an empty object when no properties are provided', () => { + const result = populateConsentForGoogleDestinations({}); + expect(result).toEqual({}); + }); + + // Sets adUserData property of consent object when userDataConsent property is provided and its value is one of the allowed consent statuses. + it('should set adUserData property of consent object when userDataConsent property is provided and its value is one of the allowed consent statuses', () => { + const properties = { userDataConsent: 'GRANTED' }; + const result = populateConsentForGoogleDestinations(properties); + expect(result).toEqual({ adUserData: 'GRANTED' }); + }); + + // Sets adPersonalization property of consent object when personalizationConsent property is provided and its value is one of the allowed consent statuses. + it('should set adPersonalization property of consent object when personalizationConsent property is provided and its value is one of the allowed consent statuses', () => { + const properties = { personalizationConsent: 'DENIED' }; + const result = populateConsentForGoogleDestinations(properties); + expect(result).toEqual({ adPersonalization: 'DENIED' }); + }); + + // Returns an empty object when properties parameter is not provided. + it('should return an empty object when properties parameter is not provided', () => { + const result = populateConsentForGoogleDestinations(); + expect(result).toEqual({}); + }); + + // Returns an empty object when properties parameter is null. + it('should return an empty object when properties parameter is null', () => { + const result = populateConsentForGoogleDestinations(null); + expect(result).toEqual({}); + }); + + // Returns an empty object when properties parameter is an empty object. + it('should return an empty object when properties parameter is an empty object', () => { + const result = populateConsentForGoogleDestinations({}); + expect(result).toEqual({}); + }); + + // Returns an empty object when properties parameter is an empty object. + it('should return an empty object when properties parameter contains adUserData and adPersonalization with non-allowed values', () => { + const result = populateConsentForGoogleDestinations({ + adUserData: 'RANDOM', + personalizationConsent: 'RANDOM', + }); + expect(result).toEqual({}); + }); +}); diff --git a/test/__mocks__/data/google_adwords_remarketing_lists/proxy_response.json b/test/__mocks__/data/google_adwords_remarketing_lists/proxy_response.json index 5d3ac9496b..2cf1d3276b 100644 --- a/test/__mocks__/data/google_adwords_remarketing_lists/proxy_response.json +++ b/test/__mocks__/data/google_adwords_remarketing_lists/proxy_response.json @@ -1,24 +1,24 @@ { - "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs:create": { + "https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs:create": { "status": 200, "data": { "resourceName": "customers/9249589672/offlineUserDataJobs/18025019461" } }, - "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs/18025019461:addOperations": { + "https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs/18025019461:addOperations": { "status": 200, "data": {} }, - "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs/18025019461:run": { + "https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs/18025019461:run": { "status": 200 }, - "https://googleads.googleapis.com/v14/customers/7693729834/offlineUserDataJobs:create": { + "https://googleads.googleapis.com/v15/customers/7693729834/offlineUserDataJobs:create": { "status": 200, "data": { "resourceName": "customers/9249589672/offlineUserDataJobs/18025019462" } }, - "https://googleads.googleapis.com/v14/customers/7693729834/offlineUserDataJobs/18025019462:addOperations": { + "https://googleads.googleapis.com/v15/customers/7693729834/offlineUserDataJobs/18025019462:addOperations": { "response": { "data": { "error": { @@ -61,7 +61,7 @@ "status": 400 } }, - "https://googleads.googleapis.com/v14/customers/1234567890/googleAds:searchStream": { + "https://googleads.googleapis.com/v15/customers/1234567890/googleAds:searchStream": { "response": { "data": [ { @@ -75,11 +75,11 @@ "status": 401 } }, - "https://googleads.googleapis.com/v14/customers/1234567899/googleAds:searchStream": { + "https://googleads.googleapis.com/v15/customers/1234567899/googleAds:searchStream": { "response": "", "code": "ECONNREFUSED" }, - "https://googleads.googleapis.com/v14/customers/1234567891/googleAds:searchStream": { + "https://googleads.googleapis.com/v15/customers/1234567891/googleAds:searchStream": { "data": [ { "results": [ @@ -96,7 +96,7 @@ ], "status": 200 }, - "https://googleads.googleapis.com/v14/customers/1234567891:uploadConversionAdjustments": { + "https://googleads.googleapis.com/v15/customers/1234567891:uploadConversionAdjustments": { "data": [ { "adjustmentType": "ENHANCEMENT", diff --git a/test/integrations/destinations/google_adwords_remarketing_lists/dataDelivery/data.ts b/test/integrations/destinations/google_adwords_remarketing_lists/dataDelivery/data.ts index b41d725799..414e46ea19 100644 --- a/test/integrations/destinations/google_adwords_remarketing_lists/dataDelivery/data.ts +++ b/test/integrations/destinations/google_adwords_remarketing_lists/dataDelivery/data.ts @@ -1,247 +1,261 @@ export const data = [ - { - name: 'google_adwords_remarketing_lists', - description: 'Test 0', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "destination": "google_adwords_remarketing_lists", - "listId": "709078448", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd" - } - } - ] - } - } - ] + { + name: 'google_adwords_remarketing_lists', + description: 'Test 0', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + destination: 'google_adwords_remarketing_lists', + listId: '709078448', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + hashedEmail: + '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + 'e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd', }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + }, + ], + }, }, - method: 'POST' + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 200, - body: { - "output": { - "status": 200, - "message": "Request Processed Successfully", - "destinationResponse": { "response": "", "status": 200 } - } - }, - }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: { + status: 200, + message: 'Request Processed Successfully', + destinationResponse: { response: '', status: 200 }, + }, }, + }, }, - { - name: 'google_adwords_remarketing_lists', - description: 'Test 1', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729834/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "709078448", - "customerId": "7693729833", - "destination": "google_adwords_remarketing_lists" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "abcd@testmail.com" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 1', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://googleads.googleapis.com/v15/customers/7693729834/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '709078448', + customerId: '7693729833', + destination: 'google_adwords_remarketing_lists', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: 'abcd@testmail.com', + }, + ], + }, }, - method: 'POST' + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 400, - body: { - output: { - "status": 400, - "message": "Request contains an invalid argument. during ga_audience response transformation", - "destinationResponse": { - "error": { - "code": 400, - "details": [ - { - "@type": "type.googleapis.com/google.ads.googleads.v9.errors.GoogleAdsFailure", - "errors": [ - { - "errorCode": { - "offlineUserDataJobError": "INVALID_SHA256_FORMAT" - }, - "message": "The SHA256 encoded value is malformed.", - "location": { - "fieldPathElements": [ - { "fieldName": "operations", "index": 0 }, - { "fieldName": "remove" }, - { "fieldName": "user_identifiers", "index": 0 }, - { "fieldName": "hashed_email" } - ] - } - } - ] - } - ], - "message": "Request contains an invalid argument.", - "status": "INVALID_ARGUMENT" - } + method: 'POST', + }, + }, + output: { + response: { + status: 400, + body: { + output: { + status: 400, + message: + 'Request contains an invalid argument. during ga_audience response transformation', + destinationResponse: { + error: { + code: 400, + details: [ + { + '@type': 'type.googleapis.com/google.ads.googleads.v9.errors.GoogleAdsFailure', + errors: [ + { + errorCode: { + offlineUserDataJobError: 'INVALID_SHA256_FORMAT', }, - "statTags": { - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "errorCategory": "network", - "destinationId": "Non-determininable", - "workspaceId": "Non-determininable", - "errorType": "aborted", - "feature": "dataDelivery", - "implementation": "native", - "module": "destination" - } - }, - }, + message: 'The SHA256 encoded value is malformed.', + location: { + fieldPathElements: [ + { fieldName: 'operations', index: 0 }, + { fieldName: 'remove' }, + { fieldName: 'user_identifiers', index: 0 }, + { fieldName: 'hashed_email' }, + ], + }, + }, + ], + }, + ], + message: 'Request contains an invalid argument.', + status: 'INVALID_ARGUMENT', + }, + }, + statTags: { + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + errorCategory: 'network', + destinationId: 'Non-determininable', + workspaceId: 'Non-determininable', + errorType: 'aborted', + feature: 'dataDelivery', + implementation: 'native', + module: 'destination', }, + }, }, + }, }, - { - name: 'google_adwords_remarketing_lists', - description: 'Test 2', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "709078448", - "customerId": "7693729833", - "destination": "google_adwords_remarketing_lists" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd" - } - } - ] - } - } - ] + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 2', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '709078448', + customerId: '7693729833', + destination: 'google_adwords_remarketing_lists', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + hashedEmail: + '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + 'e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd', }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + }, + ], + }, }, - method: 'POST' + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 200, - body: { - output: { - "status": 200, - "message": "Request Processed Successfully", - "destinationResponse": { "response": "", "status": 200 } - }, - }, - }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: { + status: 200, + message: 'Request Processed Successfully', + destinationResponse: { response: '', status: 200 }, + }, }, - } + }, + }, + }, ]; diff --git a/test/integrations/destinations/google_adwords_remarketing_lists/network.ts b/test/integrations/destinations/google_adwords_remarketing_lists/network.ts index 11cbfa7cd8..8e1edd21aa 100644 --- a/test/integrations/destinations/google_adwords_remarketing_lists/network.ts +++ b/test/integrations/destinations/google_adwords_remarketing_lists/network.ts @@ -1,115 +1,204 @@ import { enhanceRequestOptions, getFormData } from '../../../../src/adapters/network'; export const networkCallsData = [ - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs:create', - data: { "job": { "type": "CUSTOMER_MATCH_USER_LIST", "customerMatchUserListMetadata": { "userList": "customers/7693729833/userLists/709078448" } } }, - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', - }, - httpRes: { - "status": 200, - "data": { - "resourceName": "customers/9249589672/offlineUserDataJobs/18025019461" - } + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs:create', + data: { + job: { + type: 'CUSTOMER_MATCH_USER_LIST', + customerMatchUserListMetadata: { userList: 'customers/7693729833/userLists/709078448' }, }, + }, + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs/18025019461:addOperations', - data: { "enablePartialFailure": true, "operations": [{ "create": { "userIdentifiers": [{ "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" }, { "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" }, { "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" }, { "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" }, { "addressInfo": { "hashedFirstName": "e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd" } }] } }] }, - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', - }, - httpRes: { - "status": 200, - "data": {} - }, + httpRes: { + status: 200, + data: { + resourceName: 'customers/9249589672/offlineUserDataJobs/18025019461', + }, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs/18025019461:run', - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', - }, - httpRes: { - "status": 200, - }, + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs/18025019461:addOperations', + data: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { hashedEmail: '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05' }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { hashedEmail: '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05' }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + 'e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd', + }, + }, + ], + }, + }, + ], + }, + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729834/offlineUserDataJobs:create', - data: { "job": { "type": "CUSTOMER_MATCH_USER_LIST", "customerMatchUserListMetadata": { "userList": "customers/7693729833/userLists/709078448" } } }, - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', - }, - httpRes: { - "status": 200, - "data": { - "resourceName": "customers/9249589672/offlineUserDataJobs/18025019462" - } - }, + httpRes: { + status: 200, + data: {}, + }, + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs/18025019461:run', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729834/offlineUserDataJobs/18025019462:addOperations', - data: { "enablePartialFailure": true, "operations": [{ "create": { "userIdentifiers": [{ "hashedEmail": "abcd@testmail.com" }] } }] }, - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', + httpRes: { + status: 200, + }, + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729834/offlineUserDataJobs:create', + data: { + job: { + type: 'CUSTOMER_MATCH_USER_LIST', + customerMatchUserListMetadata: { userList: 'customers/7693729833/userLists/709078448' }, }, - httpRes: { - "data": { - "error": { - "code": 400, - "details": [ - { - "@type": "type.googleapis.com/google.ads.googleads.v9.errors.GoogleAdsFailure", - "errors": [ - { - "errorCode": { - "offlineUserDataJobError": "INVALID_SHA256_FORMAT" - }, - "message": "The SHA256 encoded value is malformed.", - "location": { - "fieldPathElements": [ - { - "fieldName": "operations", - "index": 0 - }, - { - "fieldName": "remove" - }, - { - "fieldName": "user_identifiers", - "index": 0 - }, - { - "fieldName": "hashed_email" - } - ] - } - } - ] - } + }, + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', + }, + httpRes: { + status: 200, + data: { + resourceName: 'customers/9249589672/offlineUserDataJobs/18025019462', + }, + }, + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729834/offlineUserDataJobs/18025019462:addOperations', + data: { + enablePartialFailure: true, + operations: [{ create: { userIdentifiers: [{ hashedEmail: 'abcd@testmail.com' }] } }], + }, + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', + }, + httpRes: { + data: { + error: { + code: 400, + details: [ + { + '@type': 'type.googleapis.com/google.ads.googleads.v9.errors.GoogleAdsFailure', + errors: [ + { + errorCode: { + offlineUserDataJobError: 'INVALID_SHA256_FORMAT', + }, + message: 'The SHA256 encoded value is malformed.', + location: { + fieldPathElements: [ + { + fieldName: 'operations', + index: 0, + }, + { + fieldName: 'remove', + }, + { + fieldName: 'user_identifiers', + index: 0, + }, + { + fieldName: 'hashed_email', + }, ], - "message": "Request contains an invalid argument.", - "status": "INVALID_ARGUMENT" - } + }, + }, + ], }, - "status": 400 + ], + message: 'Request contains an invalid argument.', + status: 'INVALID_ARGUMENT', }, + }, + status: 400, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs/18025019461:addOperations', - data: { "enablePartialFailure": true, "operations": [{ "remove": { "userIdentifiers": [{ "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" }, { "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" }, { "hashedEmail": "85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05" }, { "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" }, { "addressInfo": { "hashedFirstName": "e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd" } }] } }] }, - headers: { "Authorization": "Bearer dummy-access", "Content-Type": "application/json", "developer-token": "dummy-dev-token" }, - method: 'POST', - }, - httpRes: { - "status": 200, - "data": {} - }, - } -]; \ No newline at end of file + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs/18025019461:addOperations', + data: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { hashedEmail: '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05' }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { hashedEmail: '85cc9fefa1eff1baab55d10df0cecff2acb25344867a5d0f96e1b1c5e2f10f05' }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + 'e56d336922eaab3be8c1244dbaa713e134a8eba50ddbd4f50fd2fe18d72595cd', + }, + }, + ], + }, + }, + ], + }, + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + method: 'POST', + }, + httpRes: { + status: 200, + data: {}, + }, + }, +]; diff --git a/test/integrations/destinations/google_adwords_remarketing_lists/processor/data.ts b/test/integrations/destinations/google_adwords_remarketing_lists/processor/data.ts index a6733f5daf..804efec220 100644 --- a/test/integrations/destinations/google_adwords_remarketing_lists/processor/data.ts +++ b/test/integrations/destinations/google_adwords_remarketing_lists/processor/data.ts @@ -1,10453 +1,12096 @@ export const data = [ - { - "name": "google_adwords_remarketing_lists", - "description": "Test 0", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "hashedLastName": "dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 1", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "769-372-9833", - "loginCustomerId": "870-483-0944", - "subAccount": true, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "userID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token", - "login-customer-id": "8704830944" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "thirdPartyUserId": "useri1234" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 2", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234", - "mobileId": "abcd-1234-567h" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "mobileId": "abcd-1234-567h" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 3", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "abc@abc.com", - "phone": "@09876543210", - "firstName": "abc", - "lastName": "efg", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - }, - { - "email": "def@abc.com", - "phone": "@09876543210", - "firstName": "def", - "lastName": "ghi", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 4", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 5", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "Message Type is not present. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 6", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "type": "audiencelist", - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "properties": { - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "listData is not present inside properties. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 7", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": true, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "mobileDeviceID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "loginCustomerId is required as subAccount is true.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "configuration", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 8", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 9", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ], - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - }, - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 10", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ], - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - }, - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 11", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 12", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "delete": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 400, - "error": "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 13", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ], - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - }, - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - }, - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 14", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ], - "add": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - }, - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 15", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelisT", - "properties": { - "listData": { - "remove": [ - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": null, - "lastName": "jkl", - "country": "US", - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ], - "add": [ - { - "email": "ghi@abc.com", - "phone": null, - "firstName": "ghi", - "lastName": "jkl", - "country": null, - "mobileId": "1245" - }, - { - "email": "ghi@abc.com", - "phone": "@09876543210", - "firstName": "ghi", - "lastName": "jkl", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - }, - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1" - } - }, - { - "hashedEmail": "a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb", - "hashedLastName": "268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 16", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": false, - "firstName": "test", - "lastName": null, - "country": "US", - "postalCode": 0 - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "list111", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "countryCode": "US", - "postalCode": 0 - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 17", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": null - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": null - }, - "statusCode": 500, - "error": "OAuth - access token not found", - "statTags": { - "errorCategory": "platform", - "errorType": "oAuthSecret", - "destType": "GOOGLE_ADWORDS_REMARKETING_LISTS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 18", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "listId": "list111", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General", - "audienceId": "aud1234" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "sudip@abc.com", - "phone": false, - "firstName": "sudip", - "lastName": null, - "country": "US", - "postalCode": 0 - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "aud1234", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "938758751f5af66652a118e26503af824404bc13acd1cb7642ddff99916f0e1c" - }, - { - "addressInfo": { - "hashedFirstName": "a512ebb75e941411945c9a18bca4ecc315830e0b5cff8a525472c86c1f540844", - "countryCode": "US", - "postalCode": 0 - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 19", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "anonymousId": "24ed22ae-0681-4882-8c33-012e298e1c17", - "channel": "sources", - "context": { - "destinationFields": "email", - "externalId": [ - { - "identifierType": "email", - "type": "GOOGLE_ADWORDS_REMARKETING_LISTS-830441345" - } - ], - "mappedToDestination": "true", - "sources": { - "job_id": "2UcqQB4ygGtTBAvwCWl7xz8dJgt", - "job_run_id": "cjmsdip7m95b7aee7tpg", - "task_run_id": "cjmsdip7m95b7aee7tq0", - "version": "master" - } - }, - "event": "Add_Audience", - "messageId": "bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7", - "properties": { - "listData": { - "remove": [ - { - "email": "test1@mail.com" - }, - { - "email": "test5@xmail.com" - }, - { - "email": "test3@mail.com" - } - ] - } - }, - "recordId": "a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5", - "rudderId": "5e9ada0e-5f50-4cb8-a015-f6842a7615fd", - "sentAt": "2023-08-29 10:22:06.395377223 +0000 UTC", - "type": "audienceList", - "userId": "23423423" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "830441345", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048" - }, - { - "hashedEmail": "34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436" - }, - { - "hashedEmail": "8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - }, - { - "name": "google_adwords_remarketing_lists", - "description": "Test 20", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "destination": { - "Config": { - "rudderAccountId": "rudder-acc-id", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": [ - "email", - "phone", - "addressInfo" - ], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "anonymousId": "24ed22ae-0681-4882-8c33-012e298e1c17", - "channel": "sources", - "context": { - "destinationFields": "email", - "externalId": [ - { - "identifierType": "email", - "type": "GOOGLE_ADWORDS_REMARKETING_LISTS-830441345" - } - ], - "mappedToDestination": "true", - "sources": { - "job_id": "2UcqQB4ygGtTBAvwCWl7xz8dJgt", - "job_run_id": "cjmsdip7m95b7aee7tpg", - "task_run_id": "cjmsdip7m95b7aee7tq0", - "version": "master" - } - }, - "event": "Add_Audience", - "messageId": "bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7", - "properties": { - "listData": { - "add": [ - { - "email": "test1@mail.com" - }, - { - "email": "test5@xmail.com" - }, - { - "email": "test3@mail.com" - } - ] - } - }, - "recordId": "a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5", - "rudderId": "5e9ada0e-5f50-4cb8-a015-f6842a7615fd", - "sentAt": "2023-08-29 10:22:06.395377223 +0000 UTC", - "type": "audienceList", - "userId": "23423423" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer dummy-access", - "Content-Type": "application/json", - "developer-token": "dummy-dev-token" - }, - "params": { - "listId": "830441345", - "customerId": "7693729833" - }, - "body": { - "JSON": { - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048" - }, - { - "hashedEmail": "34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436" - }, - { - "hashedEmail": "8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "dummy-access", - "refresh_token": "dummy-refresh", - "developer_token": "dummy-dev-token" - } - }, - "statusCode": 200 - } - ] - } - } - } -] \ No newline at end of file + { + name: 'google_adwords_remarketing_lists', + description: 'Test 0', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + hashedLastName: + 'dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 1', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '769-372-9833', + loginCustomerId: '870-483-0944', + subAccount: true, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'userID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + 'login-customer-id': '8704830944', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + thirdPartyUserId: 'useri1234', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 2', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + mobileId: 'abcd-1234-567h', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + mobileId: 'abcd-1234-567h', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 3', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'abc@abc.com', + phone: '@09876543210', + firstName: 'abc', + lastName: 'efg', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + { + email: 'def@abc.com', + phone: '@09876543210', + firstName: 'def', + lastName: 'ghi', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: + "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 4', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: + "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 5', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: 'Message Type is not present. Aborting message.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 6', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + type: 'audiencelist', + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + properties: { + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: 'listData is not present inside properties. Aborting message.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 7', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: true, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'mobileDeviceID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: 'loginCustomerId is required as subAccount is true.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'configuration', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 8', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 9', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 10', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 11', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 12', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + delete: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 400, + error: + "Neither 'add' nor 'remove' property is present inside 'listData' or there are no attributes inside 'add' or 'remove' properties matching with the schema fields. Aborting message.", + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 13', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 14', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + add: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 15', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelisT', + properties: { + listData: { + remove: [ + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: null, + lastName: 'jkl', + country: 'US', + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + add: [ + { + email: 'ghi@abc.com', + phone: null, + firstName: 'ghi', + lastName: 'jkl', + country: null, + mobileId: '1245', + }, + { + email: 'ghi@abc.com', + phone: '@09876543210', + firstName: 'ghi', + lastName: 'jkl', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + }, + }, + { + hashedEmail: + 'a3d3807256168f51fc644aef9bda6c7f15c850702be01cf4c77af26a37aec026', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '50ae61e841fac4e8f9e40baf2ad36ec868922ea48368c18f9535e47db56dd7fb', + hashedLastName: + '268f277c6d766d31334fda0f7a5533a185598d269e61c76a805870244828a5f1', + countryCode: 'US', + postalCode: '1245', + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 16', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: false, + firstName: 'test', + lastName: null, + country: 'US', + postalCode: 0, + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'list111', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + countryCode: 'US', + postalCode: 0, + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 17', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: null, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: null, + }, + statusCode: 500, + error: 'OAuth - access token not found', + statTags: { + errorCategory: 'platform', + errorType: 'oAuthSecret', + destType: 'GOOGLE_ADWORDS_REMARKETING_LISTS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 18', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + listId: 'list111', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + audienceId: 'aud1234', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'sudip@abc.com', + phone: false, + firstName: 'sudip', + lastName: null, + country: 'US', + postalCode: 0, + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: 'aud1234', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + '938758751f5af66652a118e26503af824404bc13acd1cb7642ddff99916f0e1c', + }, + { + addressInfo: { + hashedFirstName: + 'a512ebb75e941411945c9a18bca4ecc315830e0b5cff8a525472c86c1f540844', + countryCode: 'US', + postalCode: 0, + }, + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 19', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + anonymousId: '24ed22ae-0681-4882-8c33-012e298e1c17', + channel: 'sources', + context: { + destinationFields: 'email', + externalId: [ + { + identifierType: 'email', + type: 'GOOGLE_ADWORDS_REMARKETING_LISTS-830441345', + }, + ], + mappedToDestination: 'true', + sources: { + job_id: '2UcqQB4ygGtTBAvwCWl7xz8dJgt', + job_run_id: 'cjmsdip7m95b7aee7tpg', + task_run_id: 'cjmsdip7m95b7aee7tq0', + version: 'master', + }, + }, + event: 'Add_Audience', + messageId: 'bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7', + properties: { + listData: { + remove: [ + { + email: 'test1@mail.com', + }, + { + email: 'test5@xmail.com', + }, + { + email: 'test3@mail.com', + }, + ], + }, + }, + recordId: 'a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5', + rudderId: '5e9ada0e-5f50-4cb8-a015-f6842a7615fd', + sentAt: '2023-08-29 10:22:06.395377223 +0000 UTC', + type: 'audienceList', + userId: '23423423', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '830441345', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + operations: [ + { + remove: { + userIdentifiers: [ + { + hashedEmail: + '78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048', + }, + { + hashedEmail: + '34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436', + }, + { + hashedEmail: + '8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 20', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + anonymousId: '24ed22ae-0681-4882-8c33-012e298e1c17', + channel: 'sources', + context: { + destinationFields: 'email', + externalId: [ + { + identifierType: 'email', + type: 'GOOGLE_ADWORDS_REMARKETING_LISTS-830441345', + }, + ], + mappedToDestination: 'true', + sources: { + job_id: '2UcqQB4ygGtTBAvwCWl7xz8dJgt', + job_run_id: 'cjmsdip7m95b7aee7tpg', + task_run_id: 'cjmsdip7m95b7aee7tq0', + version: 'master', + }, + }, + event: 'Add_Audience', + messageId: 'bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7', + properties: { + listData: { + add: [ + { + email: 'test1@mail.com', + }, + { + email: 'test5@xmail.com', + }, + { + email: 'test3@mail.com', + }, + ], + }, + }, + recordId: 'a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5', + rudderId: '5e9ada0e-5f50-4cb8-a015-f6842a7615fd', + sentAt: '2023-08-29 10:22:06.395377223 +0000 UTC', + type: 'audienceList', + userId: '23423423', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '830441345', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + '78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048', + }, + { + hashedEmail: + '34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436', + }, + { + hashedEmail: + '8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 20: adding consent object', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + anonymousId: '24ed22ae-0681-4882-8c33-012e298e1c17', + channel: 'sources', + context: { + destinationFields: 'email', + externalId: [ + { + identifierType: 'email', + type: 'GOOGLE_ADWORDS_REMARKETING_LISTS-830441345', + }, + ], + mappedToDestination: 'true', + sources: { + job_id: '2UcqQB4ygGtTBAvwCWl7xz8dJgt', + job_run_id: 'cjmsdip7m95b7aee7tpg', + task_run_id: 'cjmsdip7m95b7aee7tq0', + version: 'master', + }, + }, + event: 'Add_Audience', + messageId: 'bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7', + properties: { + userDataConsent: 'UNSPECIFIED', + personalizationConsent: 'GRANTED', + listData: { + add: [ + { + email: 'test1@mail.com', + }, + { + email: 'test5@xmail.com', + }, + { + email: 'test3@mail.com', + }, + ], + }, + }, + recordId: 'a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5', + rudderId: '5e9ada0e-5f50-4cb8-a015-f6842a7615fd', + sentAt: '2023-08-29 10:22:06.395377223 +0000 UTC', + type: 'audienceList', + userId: '23423423', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '830441345', + customerId: '7693729833', + consent: { + adUserData: 'UNSPECIFIED', + adPersonalization: 'GRANTED', + }, + }, + body: { + JSON: { + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + '78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048', + }, + { + hashedEmail: + '34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436', + }, + { + hashedEmail: + '8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_remarketing_lists', + description: 'Test 20 : consent field values are discarded if it does not match allowed values', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + destination: { + Config: { + rudderAccountId: 'rudder-acc-id', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + anonymousId: '24ed22ae-0681-4882-8c33-012e298e1c17', + channel: 'sources', + context: { + destinationFields: 'email', + externalId: [ + { + identifierType: 'email', + type: 'GOOGLE_ADWORDS_REMARKETING_LISTS-830441345', + }, + ], + mappedToDestination: 'true', + sources: { + job_id: '2UcqQB4ygGtTBAvwCWl7xz8dJgt', + job_run_id: 'cjmsdip7m95b7aee7tpg', + task_run_id: 'cjmsdip7m95b7aee7tq0', + version: 'master', + }, + }, + event: 'Add_Audience', + messageId: 'bd2d67ca-0c9a-4d3b-a2f8-35a3c3f75ba7', + properties: { + userDataConsent: 'RANDOM', + personalizationConsent: 'RANDOM', + listData: { + add: [ + { + email: 'test1@mail.com', + }, + { + email: 'test5@xmail.com', + }, + { + email: 'test3@mail.com', + }, + ], + }, + }, + recordId: 'a071551c-87e0-48a7-aa5c-7c4144cec5cf/1/5', + rudderId: '5e9ada0e-5f50-4cb8-a015-f6842a7615fd', + sentAt: '2023-08-29 10:22:06.395377223 +0000 UTC', + type: 'audienceList', + userId: '23423423', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer dummy-access', + 'Content-Type': 'application/json', + 'developer-token': 'dummy-dev-token', + }, + params: { + listId: '830441345', + customerId: '7693729833', + consent: {}, + }, + body: { + JSON: { + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + '78310d2dd727b704ff9d9c4742d01941b1217b89f45ab71d1e9bf5a010144048', + }, + { + hashedEmail: + '34a6406a076b943abfb9e97a6761e0c6b8cf049ab15b013412c57cf8370b5436', + }, + { + hashedEmail: + '8075d00e5f006b95eb090bf50f5246bc3c18c3d771fa1edf967b033b274b8d84', + }, + ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'dummy-access', + refresh_token: 'dummy-refresh', + developer_token: 'dummy-dev-token', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, +]; diff --git a/test/integrations/destinations/google_adwords_remarketing_lists/router/data.ts b/test/integrations/destinations/google_adwords_remarketing_lists/router/data.ts index 3d3de6a587..c60e32aaf6 100644 --- a/test/integrations/destinations/google_adwords_remarketing_lists/router/data.ts +++ b/test/integrations/destinations/google_adwords_remarketing_lists/router/data.ts @@ -1,555 +1,576 @@ export const data = [ - { - name: 'google_adwords_remarketing_lists', - description: 'Test 0', - feature: 'router', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - input: [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 1 - }, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - }, - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 2 - }, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "userID" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245", - "thirdPartyUserId": "useri1234" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - }, - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 3 - }, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "remove": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - }, - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 4 - }, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - }, - "message": { - "userId": "user 1", - "anonymousId": "anon-id-new", - "event": "event1", - "type": "audiencelist", - "properties": { - "listData": { - "remove": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ], - "add": [ - { - "email": "test@abc.com", - "phone": "@09876543210", - "firstName": "test", - "lastName": "rudderlabs", - "country": "US", - "postalCode": "1245" - } - ] - }, - "enablePartialFailure": true - }, - "context": { - "ip": "14.5.67.21", - "library": { - "name": "http" - } - }, - "timestamp": "2020-02-02T00:23:09.544Z" - } - } + { + name: 'google_adwords_remarketing_lists', + description: 'Test 0', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 1, + }, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 2, + }, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'userID', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + thirdPartyUserId: 'useri1234', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 3, + }, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + remove: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, ], - destType: 'google_adwords_remarketing_lists', + }, + enablePartialFailure: true, }, - method: 'POST', + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, }, + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 4, + }, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + message: { + userId: 'user 1', + anonymousId: 'anon-id-new', + event: 'event1', + type: 'audiencelist', + properties: { + listData: { + remove: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, + ], + add: [ + { + email: 'test@abc.com', + phone: '@09876543210', + firstName: 'test', + lastName: 'rudderlabs', + country: 'US', + postalCode: '1245', + }, + ], + }, + enablePartialFailure: true, + }, + context: { + ip: '14.5.67.21', + library: { + name: 'http', + }, + }, + timestamp: '2020-02-02T00:23:09.544Z', + }, + }, + ], + destType: 'google_adwords_remarketing_lists', }, - output: { - response: { - status: 200, - body: { - output: [ + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl9101', + }, + params: { listId: '7090784486', customerId: '7693729833', consent: {} }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ { - "batchedRequest": [ - { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl9101" - }, - "params": { "listId": "7090784486", "customerId": "7693729833" }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "hashedLastName": "dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} - } - ], - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 1 - } + create: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + hashedLastName: + 'dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251', + countryCode: 'US', + postalCode: '1245', + }, + }, ], - "batched": false, - "statusCode": 200, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - } + }, }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 1, + }, + ], + batched: false, + statusCode: 200, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + }, + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl9101', + }, + params: { listId: '7090784486', customerId: '7693729833', consent: {} }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ { - "batchedRequest": [ - { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl9101" - }, - "params": { "listId": "7090784486", "customerId": "7693729833" }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "thirdPartyUserId": "useri1234" - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} - } - ], - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 2 - } + create: { + userIdentifiers: [ + { + thirdPartyUserId: 'useri1234', + }, ], - "batched": false, - "statusCode": 200, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "userID" - } - } + }, }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 2, + }, + ], + batched: false, + statusCode: 200, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'userID', + }, + }, + }, + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl9101', + }, + params: { listId: '7090784486', customerId: '7693729833', consent: {} }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ { - "batchedRequest": [ - { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl9101" - }, - "params": { "listId": "7090784486", "customerId": "7693729833" }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "hashedLastName": "dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} - } - ], - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 3 - } + remove: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + hashedLastName: + 'dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251', + countryCode: 'US', + postalCode: '1245', + }, + }, ], - "batched": false, - "statusCode": 200, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - } + }, }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 3, + }, + ], + batched: false, + statusCode: 200, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', + }, + }, + }, + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl9101', + }, + params: { listId: '7090784486', customerId: '7693729833', consent: {} }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ { - "batchedRequest": [ - { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl9101" - }, - "params": { "listId": "7090784486", "customerId": "7693729833" }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "remove": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "hashedLastName": "dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + remove: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + hashedLastName: + 'dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251', + countryCode: 'US', + postalCode: '1245', }, - { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/7693729833/offlineUserDataJobs", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl9101" - }, - "params": { "listId": "7090784486", "customerId": "7693729833" }, - "body": { - "JSON": { - "enablePartialFailure": true, - "operations": [ - { - "create": { - "userIdentifiers": [ - { - "hashedEmail": "d3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419" - }, - { - "hashedPhoneNumber": "8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45" - }, - { - "addressInfo": { - "hashedFirstName": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", - "hashedLastName": "dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251", - "countryCode": "US", - "postalCode": "1245" - } - } - ] - } - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} - } + }, ], - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl9101" - }, - "jobId": 4 - } + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/7693729833/offlineUserDataJobs', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl9101', + }, + params: { listId: '7090784486', customerId: '7693729833', consent: {} }, + body: { + JSON: { + enablePartialFailure: true, + operations: [ + { + create: { + userIdentifiers: [ + { + hashedEmail: + 'd3142c8f9c9129484daf28df80cc5c955791efed5e69afabb603bc8cb9ffd419', + }, + { + hashedPhoneNumber: + '8846dcb6ab2d73a0e67dbd569fa17cec2d9d391e5b05d1dd42919bc21ae82c45', + }, + { + addressInfo: { + hashedFirstName: + '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', + hashedLastName: + 'dcf000c2386fb76d22cefc0d118a8511bb75999019cd373df52044bccd1bd251', + countryCode: 'US', + postalCode: '1245', + }, + }, ], - "batched": false, - "statusCode": 200, - "destination": { - "Config": { - "rudderAccountId": "258Yea7usSKNpbkIaesL9oJ9iYw", - "listId": "7090784486", - "customerId": "7693729833", - "loginCustomerId": "", - "subAccount": false, - "userSchema": ["email", "phone", "addressInfo"], - "isHashRequired": true, - "typeOfList": "General" - } - } - } - ], + }, + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl9101', + }, + jobId: 4, + }, + ], + batched: false, + statusCode: 200, + destination: { + Config: { + rudderAccountId: '258Yea7usSKNpbkIaesL9oJ9iYw', + listId: '7090784486', + customerId: '7693729833', + loginCustomerId: '', + subAccount: false, + userSchema: ['email', 'phone', 'addressInfo'], + isHashRequired: true, + typeOfList: 'General', }, + }, }, + ], }, - } + }, + }, + }, ]; From 8bada4b21acf3ac884f44166b62098680f126898 Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:12:29 +0530 Subject: [PATCH 14/22] fix: version upgrade of gaec from 14 to 15 (#2966) --- .../config.js | 2 +- .../dataDelivery/data.ts | 545 +-- .../network.ts | 470 +-- .../processor/data.ts | 3376 +++++++++-------- .../router/data.ts | 880 ++--- 5 files changed, 2686 insertions(+), 2587 deletions(-) diff --git a/src/v0/destinations/google_adwords_enhanced_conversions/config.js b/src/v0/destinations/google_adwords_enhanced_conversions/config.js index 66d12c34d7..8d194655f7 100644 --- a/src/v0/destinations/google_adwords_enhanced_conversions/config.js +++ b/src/v0/destinations/google_adwords_enhanced_conversions/config.js @@ -1,6 +1,6 @@ const { getMappingConfig } = require('../../util'); -const BASE_ENDPOINT = 'https://googleads.googleapis.com/v14/customers'; +const BASE_ENDPOINT = 'https://googleads.googleapis.com/v15/customers'; const CONFIG_CATEGORIES = { TRACK_CONFIG: { type: 'track', name: 'trackConfig' }, diff --git a/test/integrations/destinations/google_adwords_enhanced_conversions/dataDelivery/data.ts b/test/integrations/destinations/google_adwords_enhanced_conversions/dataDelivery/data.ts index c9bfac233d..b544baaebd 100644 --- a/test/integrations/destinations/google_adwords_enhanced_conversions/dataDelivery/data.ts +++ b/test/integrations/destinations/google_adwords_enhanced_conversions/dataDelivery/data.ts @@ -1,290 +1,307 @@ export const data = [ - { - name: 'google_adwords_enhanced_conversions', - description: 'Test 0', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "0987654321" + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 0', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + params: { + event: 'Product Added', + customerId: '1234567890', + destination: 'google_adwords_enhanced_conversions', + }, + body: { + JSON: { + partialFailure: true, + conversionAdjustments: [ + { + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currency: 'INR', + }, + order_id: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, }, - "params": { - "event": "Product Added", - "customerId": "1234567890", - "destination": "google_adwords_enhanced_conversions" - }, - "body": { - "JSON": { - "partialFailure": true, - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currency": "INR" - }, - "order_id": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + ], + adjustmentType: 'ENHANCEMENT', }, - method: 'POST', + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 401, - body: { - output: { - "message": "\"\"Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.\" during Google_adwords_enhanced_conversions response transformation\"", - "authErrorCategory": "REFRESH_TOKEN", - "destinationResponse": [ - { - "error": { - "code": 401, - "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", - "status": "UNAUTHENTICATED" - } - } - ], - "statTags": { - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "errorCategory": "network", - "destinationId": "Non-determininable", - "workspaceId": "Non-determininable", - "errorType": "aborted", - "feature": "dataDelivery", - "implementation": "native", - "module": "destination" - }, - "status": 401 - } + method: 'POST', + }, + }, + output: { + response: { + status: 401, + body: { + output: { + message: + '""Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project." during Google_adwords_enhanced_conversions response transformation"', + authErrorCategory: 'REFRESH_TOKEN', + destinationResponse: [ + { + error: { + code: 401, + message: + 'Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.', + status: 'UNAUTHENTICATED', }, + }, + ], + statTags: { + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + errorCategory: 'network', + destinationId: 'Non-determininable', + workspaceId: 'Non-determininable', + errorType: 'aborted', + feature: 'dataDelivery', + implementation: 'native', + module: 'destination', }, + status: 401, + }, }, + }, }, - { - name: 'google_adwords_enhanced_conversions', - description: 'Test 1', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567899:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "0987654321" + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 1', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567899:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + params: { + event: 'Product Added', + customerId: '1234567899', + destination: 'google_adwords_enhanced_conversions', + }, + body: { + JSON: { + partialFailure: true, + conversionAdjustments: [ + { + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currency: 'INR', + }, + order_id: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, }, - "params": { - "event": "Product Added", - "customerId": "1234567899", - "destination": "google_adwords_enhanced_conversions" - }, - "body": { - "JSON": { - "partialFailure": true, - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currency": "INR" - }, - "order_id": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + ], + adjustmentType: 'ENHANCEMENT', }, - method: 'POST', + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 200, - body: { - "output": { - "destinationResponse": { - "response": [ - { - "results": [ - { - "adjustmentDateTime": "2021-01-01 12:32:45-08:00", - "adjustmentType": "ENHANCEMENT", - "conversionAction": "customers/7693729833/conversionActions/874224905", - "gclidDateTimePair": { - "conversionDateTime": "2021-01-01 12:32:45-08:00", - "gclid": "1234", - }, - "orderId": "12345", - }, - ], - }, - ], - "status": 200, - }, - "message": "Request Processed Successfully", - "status": 200, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: { + destinationResponse: { + response: [ + { + results: [ + { + adjustmentDateTime: '2021-01-01 12:32:45-08:00', + adjustmentType: 'ENHANCEMENT', + conversionAction: 'customers/7693729833/conversionActions/874224905', + gclidDateTimePair: { + conversionDateTime: '2021-01-01 12:32:45-08:00', + gclid: '1234', + }, + orderId: '12345', }, + ], }, + ], + status: 200, }, + message: 'Request Processed Successfully', + status: 200, + }, }, + }, }, - { - name: 'google_adwords_enhanced_conversions', - description: 'Test 2', - feature: 'dataDelivery', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567891:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "0987654321" + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 2', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567891:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + params: { + event: 'Product Added', + customerId: '1234567891', + destination: 'google_adwords_enhanced_conversions', + }, + body: { + JSON: { + partialFailure: true, + conversionAdjustments: [ + { + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currency: 'INR', + }, + order_id: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, }, - "params": { - "event": "Product Added", - "customerId": "1234567891", - "destination": "google_adwords_enhanced_conversions" - }, - "body": { - "JSON": { - "partialFailure": true, - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currency": "INR" - }, - "order_id": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} + ], + adjustmentType: 'ENHANCEMENT', }, - method: 'POST', + ], }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, }, - output: { - response: { - status: 400, - body: { - "output": { - "destinationResponse": [ - { - results: [ - { - "conversionAction": { - "id": 123434342, - } - } - ] - } - ], - "message": "\" during Google_adwords_enhanced_conversions response transformation", - "statTags": { - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "destinationId": "Non-determininable", - "errorCategory": "network", - "errorType": "aborted", - "feature": "dataDelivery", - "implementation": "native", - "module": "destination", - "workspaceId": "Non-determininable", - }, - "status": 400, + method: 'POST', + }, + }, + output: { + response: { + status: 400, + body: { + output: { + destinationResponse: [ + { + results: [ + { + conversionAction: { + id: 123434342, }, - }, + }, + ], + }, + ], + message: '" during Google_adwords_enhanced_conversions response transformation', + statTags: { + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + destinationId: 'Non-determininable', + errorCategory: 'network', + errorType: 'aborted', + feature: 'dataDelivery', + implementation: 'native', + module: 'destination', + workspaceId: 'Non-determininable', }, + status: 400, + }, }, - } + }, + }, + }, ]; diff --git a/test/integrations/destinations/google_adwords_enhanced_conversions/network.ts b/test/integrations/destinations/google_adwords_enhanced_conversions/network.ts index ca49ea30ab..672cd73bf7 100644 --- a/test/integrations/destinations/google_adwords_enhanced_conversions/network.ts +++ b/test/integrations/destinations/google_adwords_enhanced_conversions/network.ts @@ -1,236 +1,276 @@ export const networkCallsData = [ - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567890/googleAds:searchStream', - data: { - query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'`, - }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', - }, - method: 'POST', - }, - httpRes: { - "data": [ - { - "error": { - "code": 401, - "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", - "status": "UNAUTHENTICATED" - } - } - ], - "status": 401 + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567890/googleAds:searchStream', + data: { + query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'`, + }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + error: { + code: 401, + message: + 'Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.', + status: 'UNAUTHENTICATED', + }, }, + ], + status: 401, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567899/googleAds:searchStream', - data: { - query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'` - }, - params: { destination: 'google_adwords_enhanced_conversion' }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567899/googleAds:searchStream', + data: { + query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'`, + }, + params: { destination: 'google_adwords_enhanced_conversion' }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + results: [ + { + conversionAction: { + id: 123434342, + }, }, - method: 'POST', - }, - httpRes: { - data: [{ - results: [{ - conversionAction: { - id: 123434342 - } - }] - }], - status: 200, + ], }, + ], + status: 200, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567899:uploadConversionAdjustments', - data: { - conversionAdjustments: [{ - adjustmentDateTime: '2022-01-01 12:32:45-08:00', - adjustmentType: 'ENHANCEMENT', - conversionAction: 'customers/1234567899/conversionActions/123434342', - gclidDateTimePair: { - conversionDateTime: '2022-01-01 12:32:45-08:00', - gclid: 'gclid1234' - }, - order_id: '10000', - restatementValue: { adjustedValue: 10, currency: 'INR' }, - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', - userIdentifiers: [{ - addressInfo: { - hashedFirstName: 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', - hashedLastName: '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', - state: 'UK', - city: 'London', - hashedStreetAddress: '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550' - } - }] - }], - partialFailure: true + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567899:uploadConversionAdjustments', + data: { + conversionAdjustments: [ + { + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + adjustmentType: 'ENHANCEMENT', + conversionAction: 'customers/1234567899/conversionActions/123434342', + gclidDateTimePair: { + conversionDateTime: '2022-01-01 12:32:45-08:00', + gclid: 'gclid1234', }, - params: { destination: 'google_adwords_enhanced_conversion' }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', + order_id: '10000', + restatementValue: { adjustedValue: 10, currency: 'INR' }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, + }, + ], + }, + ], + partialFailure: true, + }, + params: { destination: 'google_adwords_enhanced_conversion' }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + results: [ + { + adjustmentType: 'ENHANCEMENT', + conversionAction: 'customers/7693729833/conversionActions/874224905', + adjustmentDateTime: '2021-01-01 12:32:45-08:00', + gclidDateTimePair: { + gclid: '1234', + conversionDateTime: '2021-01-01 12:32:45-08:00', + }, + orderId: '12345', }, - method: 'POST', - }, - httpRes: { - data: [{ - results: [{ - "adjustmentType": "ENHANCEMENT", - "conversionAction": "customers/7693729833/conversionActions/874224905", - "adjustmentDateTime": "2021-01-01 12:32:45-08:00", - "gclidDateTimePair": { - "gclid": "1234", - "conversionDateTime": "2021-01-01 12:32:45-08:00" - }, - "orderId": "12345" - }] - }], - status: 200, + ], }, + ], + status: 200, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567891/googleAds:searchStream', - data: { - query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'` - }, - params: { destination: 'google_adwords_enhanced_conversion' }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567891/googleAds:searchStream', + data: { + query: `SELECT conversion_action.id FROM conversion_action WHERE conversion_action.name = 'Product Added'`, + }, + params: { destination: 'google_adwords_enhanced_conversion' }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + results: [ + { + conversionAction: { + id: 123434342, + }, }, - method: 'POST', - }, - httpRes: { - data: [{ - results: [{ - conversionAction: { - id: 123434342 - } - }] - }], - status: 200, + ], }, + ], + status: 200, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567891:uploadConversionAdjustments', - data: { - conversionAdjustments: [{ - adjustmentDateTime: '2022-01-01 12:32:45-08:00', - adjustmentType: 'ENHANCEMENT', - conversionAction: 'customers/1234567891/conversionActions/123434342', - gclidDateTimePair: { - conversionDateTime: '2022-01-01 12:32:45-08:00', - gclid: 'gclid1234' - }, - order_id: '10000', - restatementValue: { adjustedValue: 10, currency: 'INR' }, - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', - userIdentifiers: [{ - addressInfo: { - hashedFirstName: 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', - hashedLastName: '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', - state: 'UK', - city: 'London', - hashedStreetAddress: '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550' - } - }] - }], - partialFailure: true - }, - params: { - destination: 'google_adwords_enhanced_conversion', - + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567891:uploadConversionAdjustments', + data: { + conversionAdjustments: [ + { + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + adjustmentType: 'ENHANCEMENT', + conversionAction: 'customers/1234567891/conversionActions/123434342', + gclidDateTimePair: { + conversionDateTime: '2022-01-01 12:32:45-08:00', + gclid: 'gclid1234', }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', + order_id: '10000', + restatementValue: { adjustedValue: 10, currency: 'INR' }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, + }, + ], + }, + ], + partialFailure: true, + }, + params: { + destination: 'google_adwords_enhanced_conversion', + }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + results: [ + { + conversionAction: { + id: 123434342, + }, }, - method: 'POST', - }, - httpRes: { - data: [{ - results: [{ - conversionAction: { - id: 123434342 - } - }] - }], - status: 400, + ], }, + ], + status: 400, }, - { - httpReq: { - url: 'https://googleads.googleapis.com/v14/customers/1234567891:uploadClickConversions', - data: { - conversionAdjustments: [{ - adjustmentDateTime: '2022-01-01 12:32:45-08:00', - adjustmentType: 'ENHANCEMENT', - conversionAction: 'customers/1234567891/conversionActions/123434342', - gclidDateTimePair: { - conversionDateTime: '2022-01-01 12:32:45-08:00', - gclid: 'gclid1234' - }, - order_id: '10000', - restatementValue: { adjustedValue: 10, currency: 'INR' }, - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', - userIdentifiers: [{ - addressInfo: { - hashedFirstName: 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', - hashedLastName: '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', - state: 'UK', - city: 'London', - hashedStreetAddress: '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550' - } - }] - }], - partialFailure: true + }, + { + httpReq: { + url: 'https://googleads.googleapis.com/v15/customers/1234567891:uploadClickConversions', + data: { + conversionAdjustments: [ + { + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + adjustmentType: 'ENHANCEMENT', + conversionAction: 'customers/1234567891/conversionActions/123434342', + gclidDateTimePair: { + conversionDateTime: '2022-01-01 12:32:45-08:00', + gclid: 'gclid1234', }, - params: { - destination: 'google_adwords_enhanced_conversion', - - }, - headers: { - Authorization: 'Bearer abcd1234', - 'Content-Type': 'application/json', - 'developer-token': 'ijkl91011', - 'login-customer-id': '0987654321', + order_id: '10000', + restatementValue: { adjustedValue: 10, currency: 'INR' }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, + }, + ], + }, + ], + partialFailure: true, + }, + params: { + destination: 'google_adwords_enhanced_conversion', + }, + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '0987654321', + }, + method: 'POST', + }, + httpRes: { + data: [ + { + results: [ + { + conversionAction: { + id: 123434342, + }, }, - method: 'POST', + ], }, - httpRes: { - data: [{ - results: [{ - conversionAction: { - id: 123434342 - } - }] - }], - status: 400, - }, - } + ], + status: 400, + }, + }, ]; - - - diff --git a/test/integrations/destinations/google_adwords_enhanced_conversions/processor/data.ts b/test/integrations/destinations/google_adwords_enhanced_conversions/processor/data.ts index 09a9b406f6..0a9542a5d5 100644 --- a/test/integrations/destinations/google_adwords_enhanced_conversions/processor/data.ts +++ b/test/integrations/destinations/google_adwords_enhanced_conversions/processor/data.ts @@ -1,1694 +1,1726 @@ export const data = [ - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 0", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "123-456-7890", - "subAccount": true, - "loginCustomerId": "123-456-7890", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "countryCode": "us", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "1234567890" - }, - "params": { - "event": "Page View", - "customerId": "1234567890" - }, - "body": { - "JSON": { - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currencyCode": "INR" - }, - "orderId": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "hashedPhoneNumber": "04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe" - }, - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "countryCode": "us", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ], - "partialFailure": true - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 200 - } - ] - } - } + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 0', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '123-456-7890', + subAccount: true, + loginCustomerId: '123-456-7890', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + countryCode: 'us', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 1", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '1234567890', + }, + params: { + event: 'Page View', + customerId: '1234567890', + }, + body: { + JSON: { + conversionAdjustments: [ { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currencyCode: 'INR', + }, + orderId: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + hashedPhoneNumber: + '04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe', }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Checkout Started", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + countryCode: 'us', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, }, - "statusCode": 400, - "error": "Conversion named \"Checkout Started\" was not specified in the RudderStack destination configuration", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "configuration", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + ], + adjustmentType: 'ENHANCEMENT', + }, + ], + partialFailure: true, + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 200, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 2", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Product Added", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 400, - "error": "Any of email, phone, firstName, lastName, city, street, countryCode, postalCode or streetAddress is required in traits.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 1', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Checkout Started', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 3", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "firstName": "John", - "lastName": "Gomes", - "address": { - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK", - "country": "us" - } - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Product Added", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currencyCode": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": "true", - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "11" - }, - "params": { - "event": "Product Added", - "customerId": "1234567890" - }, - "body": { - "JSON": { - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currencyCode": "INR" - }, - "orderId": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "countryCode": "us", - "hashedStreetAddress": "b28c94b2195c8ed259f0b415aaee3f39b0b2920a4537611499fa044956917a21" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ], - "partialFailure": true - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 200 - } - ] - } - } + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: + 'Conversion named "Checkout Started" was not specified in the RudderStack destination configuration', + statTags: { + errorCategory: 'dataValidation', + errorType: 'configuration', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 4", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Product Added", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currencyCode": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "orderId": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 400, - "error": "LoginCustomerId is required as subAccount is true.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "configuration", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 2', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Product Added', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 5", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "type": "identify", - "traits": { - "status": "elizabeth" - }, - "userId": "emrichardson820+22822@gmail.com", - "channel": "sources", - "context": { - "sources": { - "job_id": "24c5HJxHomh6YCngEOCgjS5r1KX/Syncher", - "task_id": "vw_rs_mailchimp_mocked_hg_data", - "version": "v1.8.1", - "batch_id": "f252c69d-c40d-450e-bcd2-2cf26cb62762", - "job_run_id": "c8el40l6e87v0c4hkbl0", - "task_run_id": "c8el40l6e87v0c4hkblg" - }, - "externalId": [ - { - "id": "emrichardson820+22822@gmail.com", - "type": "MAILCHIMP-92e1f1ad2c", - "identifierType": "email_address" - } - ], - "mappedToDestination": "true" - }, - "recordId": "1", - "rudderId": "4d5d0ed0-9db8-41cc-9bb0-a032f6bfa97a", - "messageId": "b3bee036-fc26-4f6d-9867-c17f85708a82" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 400, - "error": "Message Type identify is not supported. Aborting message.", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: + 'Any of email, phone, firstName, lastName, city, street, countryCode, postalCode or streetAddress is required in traits.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 6", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": null - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": null - }, - "statusCode": 500, - "error": "OAuth - access token not found", - "statTags": { - "errorCategory": "platform", - "errorType": "oAuthSecret", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 3', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + firstName: 'John', + lastName: 'Gomes', + address: { + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + country: 'us', + }, + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Product Added', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currencyCode: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: 'true', + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 7", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '11', + }, + params: { + event: 'Product Added', + customerId: '1234567890', + }, + body: { + JSON: { + conversionAdjustments: [ { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currencyCode: 'INR', + }, + orderId: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + countryCode: 'us', + hashedStreetAddress: + 'b28c94b2195c8ed259f0b415aaee3f39b0b2920a4537611499fa044956917a21', + }, }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "123-456-7890", - "subAccount": true, - "loginCustomerId": "123-456-7890", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "countryCode": "us", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Product Viewed", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "orde_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 400, - "error": "Conversion named \"Product Viewed\" was not specified in the RudderStack destination configuration", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "configuration", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } + ], + adjustmentType: 'ENHANCEMENT', + }, + ], + partialFailure: true, + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 200, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 8", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "requireHash": true, - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "123-456-7890", - "subAccount": true, - "loginCustomerId": "123-456-7890", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "countryCode": "us", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "1234567890" - }, - "params": { - "event": "Page View", - "customerId": "1234567890" - }, - "body": { - "JSON": { - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currencyCode": "INR" - }, - "orderId": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "hashedPhoneNumber": "04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe" - }, - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "countryCode": "us", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ], - "partialFailure": true - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" - }, - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "statusCode": 200 - } - ] - } - } + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 4', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Product Added', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currencyCode: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + orderId: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 9", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } - }, - "destination": { - "Config": { - "requireHash": false, - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "123-456-7890", - "subAccount": true, - "loginCustomerId": "123-456-7890", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "countryCode": "us", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: 'LoginCustomerId is required as subAccount is true.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'configuration', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 5', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + type: 'identify', + traits: { + status: 'elizabeth', + }, + userId: 'emrichardson820+22822@gmail.com', + channel: 'sources', + context: { + sources: { + job_id: '24c5HJxHomh6YCngEOCgjS5r1KX/Syncher', + task_id: 'vw_rs_mailchimp_mocked_hg_data', + version: 'v1.8.1', + batch_id: 'f252c69d-c40d-450e-bcd2-2cf26cb62762', + job_run_id: 'c8el40l6e87v0c4hkbl0', + task_run_id: 'c8el40l6e87v0c4hkblg', + }, + externalId: [ + { + id: 'emrichardson820+22822@gmail.com', + type: 'MAILCHIMP-92e1f1ad2c', + identifierType: 'email_address', + }, + ], + mappedToDestination: 'true', + }, + recordId: '1', + rudderId: '4d5d0ed0-9db8-41cc-9bb0-a032f6bfa97a', + messageId: 'b3bee036-fc26-4f6d-9867-c17f85708a82', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: 'Message Type identify is not supported. Aborting message.', + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 6', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: null, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: null, + }, + statusCode: 500, + error: 'OAuth - access token not found', + statTags: { + errorCategory: 'platform', + errorType: 'oAuthSecret', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 7', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '123-456-7890', + subAccount: true, + loginCustomerId: '123-456-7890', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + countryCode: 'us', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Product Viewed', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + orde_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: + 'Conversion named "Product Viewed" was not specified in the RudderStack destination configuration', + statTags: { + errorCategory: 'dataValidation', + errorType: 'configuration', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 8', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + requireHash: true, + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '123-456-7890', + subAccount: true, + loginCustomerId: '123-456-7890', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + countryCode: 'us', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '1234567890', + }, + params: { + event: 'Page View', + customerId: '1234567890', + }, + body: { + JSON: { + conversionAdjustments: [ { - "output": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "1234567890" - }, - "params": { - "event": "Page View", - "customerId": "1234567890" - }, - "body": { - "JSON": { - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currencyCode": "INR" - }, - "orderId": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "hashedPhoneNumber": "912382193" - }, - { - "addressInfo": { - "hashedFirstName": "John", - "hashedLastName": "Gomes", - "state": "UK", - "city": "London", - "countryCode": "us", - "hashedStreetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ], - "partialFailure": true - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {}, - "userId": "" + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currencyCode: 'INR', + }, + orderId: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + hashedPhoneNumber: + '04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe', }, - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + countryCode: 'us', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', + }, }, - "statusCode": 200 - } - ] - } - } + ], + adjustmentType: 'ENHANCEMENT', + }, + ], + partialFailure: true, + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 9', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + requireHash: false, + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '123-456-7890', + subAccount: true, + loginCustomerId: '123-456-7890', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + countryCode: 'us', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, }, - { - "name": "google_adwords_enhanced_conversions", - "description": "Test 10", - "feature": "processor", - "module": "destination", - "version": "v0", - "input": { - "request": { - "body": [ + output: { + response: { + status: 200, + body: [ + { + output: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '1234567890', + }, + params: { + event: 'Page View', + customerId: '1234567890', + }, + body: { + JSON: { + conversionAdjustments: [ { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + }, + restatementValue: { + adjustedValue: 10, + currencyCode: 'INR', + }, + orderId: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + hashedPhoneNumber: '912382193', }, - "destination": { - "Config": { - "requireHash": false, - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "123-456-7890", - "subAccount": true, - "loginCustomerId": "123-456-7890", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "countryCode": "us", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - } - ] - } - }, - "output": { - "response": { - "status": 200, - "body": [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - } + { + addressInfo: { + hashedFirstName: 'John', + hashedLastName: 'Gomes', + state: 'UK', + city: 'London', + countryCode: 'us', + hashedStreetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, }, - "statusCode": 400, - "error": "Missing required value from [\"properties.orderId\",\"properties.order_id\"]", - "statTags": { - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "module": "destination", - "implementation": "native", - "feature": "processor" - } - } - ] - } - } - } -] \ No newline at end of file + ], + adjustmentType: 'ENHANCEMENT', + }, + ], + partialFailure: true, + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 200, + }, + ], + }, + }, + }, + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 10', + feature: 'processor', + module: 'destination', + version: 'v0', + input: { + request: { + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + destination: { + Config: { + requireHash: false, + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '123-456-7890', + subAccount: true, + loginCustomerId: '123-456-7890', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + countryCode: 'us', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + }, + }, + output: { + response: { + status: 200, + body: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + }, + statusCode: 400, + error: 'Missing required value from ["properties.orderId","properties.order_id"]', + statTags: { + errorCategory: 'dataValidation', + errorType: 'instrumentation', + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + module: 'destination', + implementation: 'native', + feature: 'processor', + }, + }, + ], + }, + }, + }, +]; diff --git a/test/integrations/destinations/google_adwords_enhanced_conversions/router/data.ts b/test/integrations/destinations/google_adwords_enhanced_conversions/router/data.ts index efaa0072e2..4153630323 100644 --- a/test/integrations/destinations/google_adwords_enhanced_conversions/router/data.ts +++ b/test/integrations/destinations/google_adwords_enhanced_conversions/router/data.ts @@ -1,447 +1,457 @@ export const data = [ - { - name: 'google_adwords_enhanced_conversions', - description: 'Test 0', - feature: 'router', - module: 'destination', - version: 'v0', - input: { - request: { - body: { - input: [ - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - }, - "jobId": 1 - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - }, - { - "metadata": { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - }, - "jobId": 2 - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "type": "identify", - "traits": { - "status": "elizabeth" - }, - "userId": "emrichardson820+22822@gmail.com", - "channel": "sources", - "context": { - "sources": { - "job_id": "24c5HJxHomh6YCngEOCgjS5r1KX/Syncher", - "task_id": "vw_rs_mailchimp_mocked_hg_data", - "version": "v1.8.1", - "batch_id": "f252c69d-c40d-450e-bcd2-2cf26cb62762", - "job_run_id": "c8el40l6e87v0c4hkbl0", - "task_run_id": "c8el40l6e87v0c4hkblg" - }, - "externalId": [ - { - "id": "emrichardson820+22822@gmail.com", - "type": "MAILCHIMP-92e1f1ad2c", - "identifierType": "email_address" - } - ], - "mappedToDestination": "true" - }, - "recordId": "1", - "rudderId": "4d5d0ed0-9db8-41cc-9bb0-a032f6bfa97a", - "messageId": "b3bee036-fc26-4f6d-9867-c17f85708a82" - } - }, - { - "metadata": { - "secret": {}, - "jobId": 3 - }, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "message": { - "channel": "web", - "context": { - "app": { - "build": "1.0.0", - "name": "RudderLabs JavaScript SDK", - "namespace": "com.rudderlabs.javascript", - "version": "1.0.0" - }, - "traits": { - "phone": "912382193", - "firstName": "John", - "lastName": "Gomes", - "city": "London", - "state": "UK", - "streetAddress": "71 Cherry Court SOUTHAMPTON SO53 5PD UK" - }, - "library": { - "name": "RudderLabs JavaScript SDK", - "version": "1.0.0" - }, - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "locale": "en-US", - "ip": "0.0.0.0", - "os": { - "name": "", - "version": "" - }, - "screen": { - "density": 2 - } - }, - "event": "Page View", - "type": "track", - "messageId": "5e10d13a-bf9a-44bf-b884-43a9e591ea71", - "originalTimestamp": "2019-10-14T11:15:18.299Z", - "anonymousId": "00000000000000000000000000", - "userId": "12345", - "properties": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00", - "adjustedValue": "10", - "currency": "INR", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "partialFailure": true, - "campaignId": "1", - "templateId": "0", - "order_id": 10000, - "total": 1000, - "products": [ - { - "product_id": "507f1f77bcf86cd799439011", - "sku": "45790-32", - "name": "Monopoly: 3rd Edition", - "price": "19", - "position": "1", - "category": "cars", - "url": "https://www.example.com/product/path", - "image_url": "https://www.example.com/product/path.jpg", - "quantity": "2" - }, - { - "product_id": "507f1f77bcf86cd7994390112", - "sku": "45790-322", - "name": "Monopoly: 3rd Edition2", - "price": "192", - "quantity": 22, - "position": "12", - "category": "Cars2", - "url": "https://www.example.com/product/path2", - "image_url": "https://www.example.com/product/path.jpg2" - } - ] - }, - "integrations": { - "All": true - }, - "name": "ApplicationLoaded", - "sentAt": "2019-10-14T11:15:53.296Z" - } - }, - ], - destType: 'google_adwords_enhanced_conversions', + { + name: 'google_adwords_enhanced_conversions', + description: 'Test 0', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', }, - method: 'POST', + jobId: 1, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, }, + { + metadata: { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + jobId: 2, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + type: 'identify', + traits: { + status: 'elizabeth', + }, + userId: 'emrichardson820+22822@gmail.com', + channel: 'sources', + context: { + sources: { + job_id: '24c5HJxHomh6YCngEOCgjS5r1KX/Syncher', + task_id: 'vw_rs_mailchimp_mocked_hg_data', + version: 'v1.8.1', + batch_id: 'f252c69d-c40d-450e-bcd2-2cf26cb62762', + job_run_id: 'c8el40l6e87v0c4hkbl0', + task_run_id: 'c8el40l6e87v0c4hkblg', + }, + externalId: [ + { + id: 'emrichardson820+22822@gmail.com', + type: 'MAILCHIMP-92e1f1ad2c', + identifierType: 'email_address', + }, + ], + mappedToDestination: 'true', + }, + recordId: '1', + rudderId: '4d5d0ed0-9db8-41cc-9bb0-a032f6bfa97a', + messageId: 'b3bee036-fc26-4f6d-9867-c17f85708a82', + }, + }, + { + metadata: { + secret: {}, + jobId: 3, + }, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + message: { + channel: 'web', + context: { + app: { + build: '1.0.0', + name: 'RudderLabs JavaScript SDK', + namespace: 'com.rudderlabs.javascript', + version: '1.0.0', + }, + traits: { + phone: '912382193', + firstName: 'John', + lastName: 'Gomes', + city: 'London', + state: 'UK', + streetAddress: '71 Cherry Court SOUTHAMPTON SO53 5PD UK', + }, + library: { + name: 'RudderLabs JavaScript SDK', + version: '1.0.0', + }, + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + locale: 'en-US', + ip: '0.0.0.0', + os: { + name: '', + version: '', + }, + screen: { + density: 2, + }, + }, + event: 'Page View', + type: 'track', + messageId: '5e10d13a-bf9a-44bf-b884-43a9e591ea71', + originalTimestamp: '2019-10-14T11:15:18.299Z', + anonymousId: '00000000000000000000000000', + userId: '12345', + properties: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', + adjustedValue: '10', + currency: 'INR', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + partialFailure: true, + campaignId: '1', + templateId: '0', + order_id: 10000, + total: 1000, + products: [ + { + product_id: '507f1f77bcf86cd799439011', + sku: '45790-32', + name: 'Monopoly: 3rd Edition', + price: '19', + position: '1', + category: 'cars', + url: 'https://www.example.com/product/path', + image_url: 'https://www.example.com/product/path.jpg', + quantity: '2', + }, + { + product_id: '507f1f77bcf86cd7994390112', + sku: '45790-322', + name: 'Monopoly: 3rd Edition2', + price: '192', + quantity: 22, + position: '12', + category: 'Cars2', + url: 'https://www.example.com/product/path2', + image_url: 'https://www.example.com/product/path.jpg2', + }, + ], + }, + integrations: { + All: true, + }, + name: 'ApplicationLoaded', + sentAt: '2019-10-14T11:15:53.296Z', + }, + }, + ], + destType: 'google_adwords_enhanced_conversions', }, - output: { - response: { - status: 200, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batchedRequest: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: + 'https://googleads.googleapis.com/v15/customers/1234567890:uploadConversionAdjustments', + headers: { + Authorization: 'Bearer abcd1234', + 'Content-Type': 'application/json', + 'developer-token': 'ijkl91011', + 'login-customer-id': '11', + }, + params: { event: 'Page View', customerId: '1234567890' }, body: { - output: [ - { - "batchedRequest": { - "version": "1", - "type": "REST", - "method": "POST", - "endpoint": "https://googleads.googleapis.com/v14/customers/1234567890:uploadConversionAdjustments", - "headers": { - "Authorization": "Bearer abcd1234", - "Content-Type": "application/json", - "developer-token": "ijkl91011", - "login-customer-id": "11" - }, - "params": { "event": "Page View", "customerId": "1234567890" }, - "body": { - "JSON": { - "partialFailure": true, - "conversionAdjustments": [ - { - "gclidDateTimePair": { - "gclid": "gclid1234", - "conversionDateTime": "2022-01-01 12:32:45-08:00" - }, - "restatementValue": { - "adjustedValue": 10, - "currencyCode": "INR" - }, - "orderId": "10000", - "adjustmentDateTime": "2022-01-01 12:32:45-08:00", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36", - "userIdentifiers": [ - { - "hashedPhoneNumber": "04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe" - }, - { - "addressInfo": { - "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da", - "hashedLastName": "1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4", - "state": "UK", - "city": "London", - "hashedStreetAddress": "9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550" - } - } - ], - "adjustmentType": "ENHANCEMENT" - } - ] - }, - "JSON_ARRAY": {}, - "XML": {}, - "FORM": {} - }, - "files": {} - }, - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - }, - "jobId": 1 - } - ], - "batched": false, - "statusCode": 200, - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [{ "conversions": "Page View" }, { "conversions": "Product Added" }], - "authStatus": "active" - } - } + JSON: { + partialFailure: true, + conversionAdjustments: [ + { + gclidDateTimePair: { + gclid: 'gclid1234', + conversionDateTime: '2022-01-01 12:32:45-08:00', }, - { - "metadata": [ - { - "secret": { - "access_token": "abcd1234", - "refresh_token": "efgh5678", - "developer_token": "ijkl91011" - }, - "jobId": 2 - } - ], - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } - }, - "batched": false, - "statusCode": 400, - "error": "Message Type identify is not supported. Aborting message.", - "statTags": { - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "errorCategory": "dataValidation", - "errorType": "instrumentation", - "feature": "router", - "implementation": "native", - "module": "destination", - } + restatementValue: { + adjustedValue: 10, + currencyCode: 'INR', }, - { - "metadata": [ - { - "secret": {}, - "jobId": 3 - } - ], - "destination": { - "Config": { - "rudderAccountId": "25u5whFH7gVTnCiAjn4ykoCLGoC", - "customerId": "1234567890", - "subAccount": true, - "loginCustomerId": "11", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], - "authStatus": "active" - } + orderId: '10000', + adjustmentDateTime: '2022-01-01 12:32:45-08:00', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36', + userIdentifiers: [ + { + hashedPhoneNumber: + '04387707e6cbed8c4538c81cc570ed9252d579469f36c273839b26d784e4bdbe', + }, + { + addressInfo: { + hashedFirstName: + 'a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da', + hashedLastName: + '1c574b17eefa532b6d61c963550a82d2d3dfca4a7fb69e183374cfafd5328ee4', + state: 'UK', + city: 'London', + hashedStreetAddress: + '9a4d2e50828448f137f119a3ebdbbbab8d6731234a67595fdbfeb2a2315dd550', }, - "batched": false, - "statusCode": 500, - "error": "OAuth - access token not found", - "statTags": { - "destType": "GOOGLE_ADWORDS_ENHANCED_CONVERSIONS", - "errorCategory": "platform", - "errorType": "oAuthSecret", - "feature": "router", - "implementation": "native", - "module": "destination", - } - } - ] - , + }, + ], + adjustmentType: 'ENHANCEMENT', + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + jobId: 1, + }, + ], + batched: false, + statusCode: 200, + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { conversions: 'Page View' }, + { conversions: 'Product Added' }, + ], + authStatus: 'active', + }, + }, + }, + { + metadata: [ + { + secret: { + access_token: 'abcd1234', + refresh_token: 'efgh5678', + developer_token: 'ijkl91011', + }, + jobId: 2, + }, + ], + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', + }, + }, + batched: false, + statusCode: 400, + error: 'Message Type identify is not supported. Aborting message.', + statTags: { + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + errorCategory: 'dataValidation', + errorType: 'instrumentation', + feature: 'router', + implementation: 'native', + module: 'destination', + }, + }, + { + metadata: [ + { + secret: {}, + jobId: 3, + }, + ], + destination: { + Config: { + rudderAccountId: '25u5whFH7gVTnCiAjn4ykoCLGoC', + customerId: '1234567890', + subAccount: true, + loginCustomerId: '11', + listOfConversions: [ + { + conversions: 'Page View', + }, + { + conversions: 'Product Added', + }, + ], + authStatus: 'active', }, + }, + batched: false, + statusCode: 500, + error: 'OAuth - access token not found', + statTags: { + destType: 'GOOGLE_ADWORDS_ENHANCED_CONVERSIONS', + errorCategory: 'platform', + errorType: 'oAuthSecret', + feature: 'router', + implementation: 'native', + module: 'destination', + }, }, + ], }, - } + }, + }, + }, ]; From f5ad088439ae628c9652b58d1ecb90257d77cae3 Mon Sep 17 00:00:00 2001 From: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Date: Fri, 5 Jan 2024 15:15:55 +0530 Subject: [PATCH 15/22] feat: onboard new destination the trade desk (#2918) * feat: onboard new destination the trade desk * feat: onboard trade desk on transformer porxy * feat: add secret from metadata * refactor: remove secretKey from headers in utils * feat: using audienceId from config inplace of segmentName * test: added testcases * test: added testcases * refactor: prepareProxyRequest utility and added delivery test cases * test: add console log * refactor: address review comments * refactor: use existing utility to split batch on size * chore: added mocks * refactor: throw platform error --- src/adapters/network.js | 4 +- .../v2/destinations/the_trade_desk/config.js | 21 + .../the_trade_desk/rtWorkflow.yaml | 17 + .../v2/destinations/the_trade_desk/utils.js | 107 ++++ .../destinations/the_trade_desk/utils.test.js | 49 ++ src/features.json | 1 + .../the_trade_desk/networkHandler.js | 86 +++ .../destinations/the_trade_desk/common.ts | 44 ++ .../the_trade_desk/delivery/data.ts | 248 ++++++++ .../destinations/the_trade_desk/mocks.ts | 5 + .../destinations/the_trade_desk/network.ts | 106 ++++ .../the_trade_desk/router/data.ts | 536 ++++++++++++++++++ 12 files changed, 1222 insertions(+), 2 deletions(-) create mode 100644 src/cdk/v2/destinations/the_trade_desk/config.js create mode 100644 src/cdk/v2/destinations/the_trade_desk/rtWorkflow.yaml create mode 100644 src/cdk/v2/destinations/the_trade_desk/utils.js create mode 100644 src/cdk/v2/destinations/the_trade_desk/utils.test.js create mode 100644 src/v0/destinations/the_trade_desk/networkHandler.js create mode 100644 test/integrations/destinations/the_trade_desk/common.ts create mode 100644 test/integrations/destinations/the_trade_desk/delivery/data.ts create mode 100644 test/integrations/destinations/the_trade_desk/mocks.ts create mode 100644 test/integrations/destinations/the_trade_desk/network.ts create mode 100644 test/integrations/destinations/the_trade_desk/router/data.ts diff --git a/src/adapters/network.js b/src/adapters/network.js index 375d9dc908..b0bd14374e 100644 --- a/src/adapters/network.js +++ b/src/adapters/network.js @@ -287,7 +287,7 @@ function getFormData(payload) { * @returns */ const prepareProxyRequest = (request) => { - const { body, method, params, endpoint, headers } = request; + const { body, method, params, endpoint, headers, destinationConfig: config } = request; const { payload, payloadFormat } = getPayloadData(body); let data; @@ -313,7 +313,7 @@ const prepareProxyRequest = (request) => { } // Ref: https://github.com/rudderlabs/rudder-server/blob/master/router/network.go#L164 headers['User-Agent'] = 'RudderLabs'; - return removeUndefinedValues({ endpoint, data, params, headers, method }); + return removeUndefinedValues({ endpoint, data, params, headers, method, config }); }; /** diff --git a/src/cdk/v2/destinations/the_trade_desk/config.js b/src/cdk/v2/destinations/the_trade_desk/config.js new file mode 100644 index 0000000000..9455c818fd --- /dev/null +++ b/src/cdk/v2/destinations/the_trade_desk/config.js @@ -0,0 +1,21 @@ +const SUPPORTED_EVENT_TYPE = 'record'; +const ACTION_TYPES = ['insert', 'delete']; +const DATA_PROVIDER_ID = 'rudderstack'; + +// ref:- https://partner.thetradedesk.com/v3/portal/data/doc/DataEnvironments +const DATA_SERVERS_BASE_ENDPOINTS_MAP = { + apac: 'https://sin-data.adsrvr.org', + tokyo: 'https://tok-data.adsrvr.org', + usEastCoast: 'https://use-data.adsrvr.org', + usWestCoast: 'https://usw-data.adsrvr.org', + ukEu: 'https://euw-data.adsrvr.org', + china: 'https://data-cn2.adsrvr.cn', +}; + +module.exports = { + SUPPORTED_EVENT_TYPE, + ACTION_TYPES, + DATA_PROVIDER_ID, + MAX_REQUEST_SIZE_IN_BYTES: 2500000, + DATA_SERVERS_BASE_ENDPOINTS_MAP, +}; diff --git a/src/cdk/v2/destinations/the_trade_desk/rtWorkflow.yaml b/src/cdk/v2/destinations/the_trade_desk/rtWorkflow.yaml new file mode 100644 index 0000000000..0c8963e0ac --- /dev/null +++ b/src/cdk/v2/destinations/the_trade_desk/rtWorkflow.yaml @@ -0,0 +1,17 @@ +bindings: + - name: processRouterDest + path: ./utils + +steps: + - name: validateInput + template: | + $.assert(Array.isArray(^) && ^.length > 0, "Invalid event array") + const config = ^[0].destination.Config + $.assertConfig(config.audienceId, "Segment name is not present. Aborting") + $.assertConfig(config.advertiserId, "Advertiser ID is not present. Aborting") + $.assertConfig(config.advertiserSecretKey, "Advertiser Secret Key is not present. Aborting") + config.ttlInDays ? $.assertConfig(config.ttlInDays >=0 && config.ttlInDays <= 180, "TTL is out of range. Allowed values are 0 to 180 days") + + - name: processRouterDest + template: | + $.processRouterDest(^) diff --git a/src/cdk/v2/destinations/the_trade_desk/utils.js b/src/cdk/v2/destinations/the_trade_desk/utils.js new file mode 100644 index 0000000000..0f1c3fb0c1 --- /dev/null +++ b/src/cdk/v2/destinations/the_trade_desk/utils.js @@ -0,0 +1,107 @@ +const lodash = require('lodash'); +const CryptoJS = require('crypto-js'); +const { InstrumentationError, AbortedError } = require('@rudderstack/integrations-lib'); +const { BatchUtils } = require('@rudderstack/workflow-engine'); +const { + defaultPostRequestConfig, + defaultRequestConfig, + getSuccessRespEvents, + removeUndefinedAndNullValues, + handleRtTfSingleEventError, +} = require('../../../../v0/util'); +const tradeDeskConfig = require('./config'); + +const { DATA_PROVIDER_ID, DATA_SERVERS_BASE_ENDPOINTS_MAP } = tradeDeskConfig; + +const ttlInMin = (ttl) => parseInt(ttl, 10) * 1440; +const getBaseEndpoint = (dataServer) => DATA_SERVERS_BASE_ENDPOINTS_MAP[dataServer]; +const getFirstPartyEndpoint = (dataServer) => `${getBaseEndpoint(dataServer)}/data/advertiser`; + +const getSignatureHeader = (request, secretKey) => { + if (!secretKey) { + throw new AbortedError('Secret key is missing. Aborting'); + } + const sha1 = CryptoJS.HmacSHA1(JSON.stringify(request), secretKey); + const base = CryptoJS.enc.Base64.stringify(sha1); + return base; +}; + +const responseBuilder = (items, config) => { + const { advertiserId, dataServer } = config; + + const payload = { DataProviderId: DATA_PROVIDER_ID, AdvertiserId: advertiserId, Items: items }; + + const response = defaultRequestConfig(); + response.endpoint = getFirstPartyEndpoint(dataServer); + response.method = defaultPostRequestConfig.requestMethod; + response.body.JSON = removeUndefinedAndNullValues(payload); + return response; +}; + +const batchResponseBuilder = (items, config) => { + const response = []; + const itemsChunks = BatchUtils.chunkArrayBySizeAndLength(items, { + // TODO: use destructuring at the top of file once proper 'mocking' is implemented. + // eslint-disable-next-line unicorn/consistent-destructuring + maxSizeInBytes: tradeDeskConfig.MAX_REQUEST_SIZE_IN_BYTES, + }); + + itemsChunks.items.forEach((chunk) => { + response.push(responseBuilder(chunk, config)); + }); + + return response; +}; + +const processRecordInputs = (inputs, destination) => { + const { Config } = destination; + const items = []; + const successMetadata = []; + const errorResponseList = []; + + const error = new InstrumentationError('Invalid action type'); + + inputs.forEach((input) => { + const { fields, action } = input.message; + const isInsertOrDelete = action === 'insert' || action === 'delete'; + + if (isInsertOrDelete) { + successMetadata.push(input.metadata); + const data = [ + { + Name: Config.audienceId, + TTLInMinutes: action === 'insert' ? ttlInMin(Config.ttlInDays) : 0, + }, + ]; + + Object.keys(fields).forEach((id) => { + const value = fields[id]; + if (value) { + // adding only non empty ID's + items.push({ [id]: value, Data: data }); + } + }); + } else { + errorResponseList.push(handleRtTfSingleEventError(input, error, {})); + } + }); + + const payloads = batchResponseBuilder(items, Config); + + const response = getSuccessRespEvents(payloads, successMetadata, destination, true); + return [response, ...errorResponseList]; +}; + +const processRouterDest = (inputs) => { + const respList = []; + const { destination } = inputs[0]; + const groupedInputs = lodash.groupBy(inputs, (input) => input.message.type); + if (groupedInputs.record) { + const transformedRecordEvent = processRecordInputs(groupedInputs.record, destination); + respList.push(...transformedRecordEvent); + } + + return respList; +}; + +module.exports = { getSignatureHeader, processRouterDest }; diff --git a/src/cdk/v2/destinations/the_trade_desk/utils.test.js b/src/cdk/v2/destinations/the_trade_desk/utils.test.js new file mode 100644 index 0000000000..81fd7cf17d --- /dev/null +++ b/src/cdk/v2/destinations/the_trade_desk/utils.test.js @@ -0,0 +1,49 @@ +const { AbortedError } = require('@rudderstack/integrations-lib'); +const { getSignatureHeader } = require('./utils'); + +describe('getSignatureHeader', () => { + it('should calculate the signature header for a valid request and secret key', () => { + const request = { data: 'example' }; + const secretKey = 'secret'; + const expected = 'rvxETQ7kIU5Cko3GddD2AeFpz8E='; + + const result = getSignatureHeader(request, secretKey); + + expect(result).toBe(expected); + }); + + it('should handle requests with different data types and secret key', () => { + const request1 = { data: 'example' }; + const secretKey1 = 'secret'; + const expected1 = 'rvxETQ7kIU5Cko3GddD2AeFpz8E='; + + const result1 = getSignatureHeader(request1, secretKey1); + + expect(result1).toBe(expected1); + + const request2 = { data: 123 }; + const secretKey2 = 'secret'; + const expected2 = 'V5RSVwxqHRLkZftZ0+IrZAp4L4s='; + + const result2 = getSignatureHeader(request2, secretKey2); + + expect(result2).toBe(expected2); + + const request3 = { data: true }; + const secretKey3 = 'secret'; + const expected3 = 'oZ28NtyMYDGxRV0E+Tgvz7B1jds='; + + const result3 = getSignatureHeader(request3, secretKey3); + + expect(result3).toBe(expected3); + }); + + it('should throw an AbortedError when secret key is missing', () => { + const request = { data: 'example' }; + const secretKey = null; + + expect(() => { + getSignatureHeader(request, secretKey); + }).toThrow(AbortedError); + }); +}); diff --git a/src/features.json b/src/features.json index 606590459c..cc75b16a74 100644 --- a/src/features.json +++ b/src/features.json @@ -64,6 +64,7 @@ "ONE_SIGNAL": true, "TIKTOK_AUDIENCE": true, "REDDIT": true, + "THE_TRADE_DESK": true, "INTERCOM": true }, "supportSourceTransformV1": true, diff --git a/src/v0/destinations/the_trade_desk/networkHandler.js b/src/v0/destinations/the_trade_desk/networkHandler.js new file mode 100644 index 0000000000..ca5ac68be8 --- /dev/null +++ b/src/v0/destinations/the_trade_desk/networkHandler.js @@ -0,0 +1,86 @@ +const { NetworkError, AbortedError, PlatformError } = require('@rudderstack/integrations-lib'); +const { httpSend, prepareProxyRequest } = require('../../../adapters/network'); +const { + processAxiosResponse, + getDynamicErrorType, +} = require('../../../adapters/utils/networkUtils'); +const { getSignatureHeader } = require('../../../cdk/v2/destinations/the_trade_desk/utils'); +const { isHttpStatusSuccess } = require('../../util/index'); +const tags = require('../../util/tags'); +const { JSON_MIME_TYPE } = require('../../util/constant'); + +const proxyRequest = async (request) => { + const { endpoint, data, method, params, headers, config } = prepareProxyRequest(request); + + if (!config?.advertiserSecretKey) { + throw new PlatformError('Advertiser secret key is missing in destination config. Aborting'); + } + + if (!process.env.THE_TRADE_DESK_DATA_PROVIDER_SECRET_KEY) { + throw new PlatformError('Data provider secret key is missing. Aborting'); + } + + const ProxyHeaders = { + ...headers, + TtdSignature: getSignatureHeader(data, config.advertiserSecretKey), + 'TtdSignature-dp': getSignatureHeader( + data, + process.env.THE_TRADE_DESK_DATA_PROVIDER_SECRET_KEY, + ), + 'Content-Type': JSON_MIME_TYPE, + }; + + const requestOptions = { + url: endpoint, + data, + params, + headers: ProxyHeaders, + method, + }; + const response = await httpSend(requestOptions, { feature: 'proxy', destType: 'the_trade_desk' }); + return response; +}; + +const responseHandler = (destinationResponse) => { + const message = 'Request Processed Successfully'; + const { response, status } = destinationResponse; + + // if the response from destination is not a success case build an explicit error + if (!isHttpStatusSuccess(status)) { + throw new NetworkError( + `Request failed with status: ${status} due to ${response}`, + status, + { + [tags.TAG_NAMES.ERROR_TYPE]: getDynamicErrorType(status), + }, + destinationResponse, + ); + } + + // Trade desk returns 200 with an error in case of "Failed to parse TDID, DAID, UID2, IDL, EUID, or failed to decrypt UID2Token or EUIDToken" + // https://partner.thetradedesk.com/v3/portal/data/doc/post-data-advertiser-external + // {"FailedLines":[{"ErrorCode":"MissingUserId","Message":"Invalid DAID, item #1"}]} + if ('FailedLines' in response && response.FailedLines.length > 0) { + throw new AbortedError( + `Request failed with status: ${status} due to ${JSON.stringify(response)}`, + 400, + destinationResponse, + ); + } + + // else successfully return status, message and original destination response + // Trade desk returns 200 with empty object '{}' in response if all the events are processed successfully + return { + status, + message, + destinationResponse, + }; +}; + +function networkHandler() { + this.proxy = proxyRequest; + this.processAxiosResponse = processAxiosResponse; + this.prepareProxy = prepareProxyRequest; + this.responseHandler = responseHandler; +} +module.exports = { networkHandler }; diff --git a/test/integrations/destinations/the_trade_desk/common.ts b/test/integrations/destinations/the_trade_desk/common.ts new file mode 100644 index 0000000000..d792c7faae --- /dev/null +++ b/test/integrations/destinations/the_trade_desk/common.ts @@ -0,0 +1,44 @@ +const destType = 'the_trade_desk'; +const destTypeInUpperCase = 'THE_TRADE_DESK'; +const advertiserId = 'test-advertiser-id'; +const dataProviderId = 'rudderstack'; +const segmentName = 'test-segment'; +const sampleDestination = { + Config: { + advertiserId, + advertiserSecretKey: 'test-advertiser-secret-key', + dataServer: 'apac', + ttlInDays: 30, + audienceId: segmentName, + }, + DestinationDefinition: { Config: { cdkV2Enabled: true } }, +}; + +const sampleSource = { + job_id: 'test-job-id', + job_run_id: 'test-job-run-id', + task_run_id: 'test-task-run-id', + version: 'v1.40.4', +}; + +const sampleContext = { + destinationFields: 'daid, uid2', + externalId: [ + { + identifierType: 'tdid', + type: 'THE_TRADE_DESK-test-segment', + }, + ], + mappedToDestination: 'true', + sources: sampleSource, +}; + +export { + destType, + destTypeInUpperCase, + advertiserId, + dataProviderId, + segmentName, + sampleDestination, + sampleContext, +}; diff --git a/test/integrations/destinations/the_trade_desk/delivery/data.ts b/test/integrations/destinations/the_trade_desk/delivery/data.ts new file mode 100644 index 0000000000..320eb6dcfe --- /dev/null +++ b/test/integrations/destinations/the_trade_desk/delivery/data.ts @@ -0,0 +1,248 @@ +import { + destType, + destTypeInUpperCase, + advertiserId, + dataProviderId, + segmentName, + sampleDestination, +} from '../common'; + +beforeAll(() => { + process.env.THE_TRADE_DESK_DATA_PROVIDER_SECRET_KEY = 'mockedDataProviderSecretKey'; +}); + +afterAll(() => { + delete process.env.THE_TRADE_DESK_DATA_PROVIDER_SECRET_KEY; +}); + +export const data = [ + { + name: destType, + description: 'Successful delivery of Add/Remove IDs to/from Trade Desk', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + destinationConfig: sampleDestination.Config, + body: { + JSON: { + AdvertiserId: advertiserId, + DataProviderId: dataProviderId, + Items: [ + { + DAID: 'test-daid-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + UID2: 'test-uid2-1', + }, + { + DAID: 'test-daid-2', + Data: [ + { + Name: segmentName, + TTLInMinutes: 0, + }, + ], + }, + { + Data: [ + { + Name: segmentName, + TTLInMinutes: 0, + }, + ], + UID2: 'test-uid2-2', + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: { + destinationResponse: { + response: {}, + status: 200, + }, + message: 'Request Processed Successfully', + status: 200, + }, + }, + }, + }, + }, + { + name: destType, + description: 'Error response from The Trade Desk due to invalid IDs', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + destinationConfig: sampleDestination.Config, + body: { + JSON: { + AdvertiserId: advertiserId, + DataProviderId: dataProviderId, + Items: [ + { + DAID: 'test-daid', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + UID2: 'test-invalid-uid2', + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + method: 'POST', + }, + }, + output: { + response: { + status: 400, + body: { + output: { + destinationResponse: { + response: { + FailedLines: [{ ErrorCode: 'MissingUserId', Message: 'Invalid UID2, item #2' }], + }, + status: 200, + }, + message: + 'Request failed with status: 200 due to {"FailedLines":[{"ErrorCode":"MissingUserId","Message":"Invalid UID2, item #2"}]}', + statTags: { + destType: destTypeInUpperCase, + destinationId: 'Non-determininable', + errorCategory: 'network', + errorType: 'aborted', + feature: 'dataDelivery', + implementation: 'native', + module: 'destination', + workspaceId: 'Non-determininable', + }, + status: 400, + }, + }, + }, + }, + }, + { + name: destType, + description: + 'Missing advertiser secret key in destination config from proxy request from server', + feature: 'dataDelivery', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + body: { + JSON: { + AdvertiserId: advertiserId, + DataProviderId: dataProviderId, + Items: [ + { + DAID: 'test-daid-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + userId: '', + }, + method: 'POST', + }, + }, + output: { + response: { + status: 400, + body: { + output: { + destinationResponse: '', + message: 'Advertiser secret key is missing in destination config. Aborting', + statTags: { + destType: destTypeInUpperCase, + destinationId: 'Non-determininable', + errorCategory: 'platform', + feature: 'dataDelivery', + implementation: 'native', + module: 'destination', + workspaceId: 'Non-determininable', + }, + status: 400, + }, + }, + }, + }, + }, +]; diff --git a/test/integrations/destinations/the_trade_desk/mocks.ts b/test/integrations/destinations/the_trade_desk/mocks.ts new file mode 100644 index 0000000000..ddcbebae88 --- /dev/null +++ b/test/integrations/destinations/the_trade_desk/mocks.ts @@ -0,0 +1,5 @@ +import config from '../../../../src/cdk/v2/destinations/the_trade_desk/config'; + +export const defaultMockFns = () => { + jest.replaceProperty(config, 'MAX_REQUEST_SIZE_IN_BYTES', 250); +}; diff --git a/test/integrations/destinations/the_trade_desk/network.ts b/test/integrations/destinations/the_trade_desk/network.ts new file mode 100644 index 0000000000..ed6bdf4c7d --- /dev/null +++ b/test/integrations/destinations/the_trade_desk/network.ts @@ -0,0 +1,106 @@ +import { destType, advertiserId, dataProviderId, segmentName } from './common'; + +export const networkCallsData = [ + { + httpReq: { + url: 'https://sin-data.adsrvr.org/data/advertiser', + data: { + AdvertiserId: advertiserId, + DataProviderId: dataProviderId, + Items: [ + { + DAID: 'test-daid-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + UID2: 'test-uid2-1', + }, + { + DAID: 'test-daid-2', + Data: [ + { + Name: segmentName, + TTLInMinutes: 0, + }, + ], + }, + { + Data: [ + { + Name: 'test-segment', + TTLInMinutes: 0, + }, + ], + UID2: 'test-uid2-2', + }, + ], + }, + params: { destination: destType }, + headers: { + TtdSignature: '8LqGha6I7e3duvhngEvhXoTden0=', + 'TtdSignature-dp': 'tLpf4t5xebsr9Xcqp9PjhOJX7p0=', + 'Content-Type': 'application/json', + 'User-Agent': 'RudderLabs', + }, + method: 'POST', + }, + httpRes: { + data: {}, + status: 200, + statusText: 'OK', + }, + }, + { + httpReq: { + url: 'https://sin-data.adsrvr.org/data/advertiser', + data: { + AdvertiserId: advertiserId, + DataProviderId: dataProviderId, + Items: [ + { + DAID: 'test-daid', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + UID2: 'test-invalid-uid2', + }, + ], + }, + params: { destination: destType }, + headers: { + TtdSignature: '9EIeoIGkRkV5oJHfGtoq1lwQl+M=', + 'TtdSignature-dp': 'ZpHWNd1uGvQAv/QW685SQT8tl1I=', + 'Content-Type': 'application/json', + 'User-Agent': 'RudderLabs', + }, + method: 'POST', + }, + httpRes: { + data: { FailedLines: [{ ErrorCode: 'MissingUserId', Message: 'Invalid UID2, item #2' }] }, + status: 200, + statusText: 'Ok', + }, + }, +]; diff --git a/test/integrations/destinations/the_trade_desk/router/data.ts b/test/integrations/destinations/the_trade_desk/router/data.ts new file mode 100644 index 0000000000..3c9cb1cc70 --- /dev/null +++ b/test/integrations/destinations/the_trade_desk/router/data.ts @@ -0,0 +1,536 @@ +import { overrideDestination } from '../../../testUtils'; +import { defaultMockFns } from '../mocks'; +import { + destType, + destTypeInUpperCase, + advertiserId, + dataProviderId, + segmentName, + sampleDestination, + sampleContext, +} from '../common'; + +export const data = [ + { + name: destType, + description: 'Add IDs to the segment', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: sampleDestination, + metadata: { + jobId: 1, + }, + }, + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-2', + UID2: null, + }, + channel: 'sources', + context: sampleContext, + recordId: '2', + }, + destination: sampleDestination, + metadata: { + jobId: 2, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + body: { + JSON: { + DataProviderId: dataProviderId, + AdvertiserId: advertiserId, + Items: [ + { + DAID: 'test-daid-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + UID2: 'test-uid2-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + DAID: 'test-daid-2', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + jobId: 1, + }, + { + jobId: 2, + }, + ], + batched: true, + statusCode: 200, + destination: sampleDestination, + }, + ], + }, + }, + }, + mockFns: defaultMockFns, + }, + { + name: destType, + description: + 'Add/Remove IDs to/from the segment and split into multiple requests based on size', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: sampleDestination, + metadata: { + jobId: 1, + }, + }, + { + message: { + type: 'record', + action: 'delete', + fields: { + DAID: 'test-daid-2', + UID2: 'test-uid2-2', + }, + channel: 'sources', + context: sampleContext, + recordId: '2', + }, + destination: sampleDestination, + metadata: { + jobId: 2, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batchedRequest: [ + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + body: { + JSON: { + DataProviderId: dataProviderId, + AdvertiserId: advertiserId, + Items: [ + { + DAID: 'test-daid-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + UID2: 'test-uid2-1', + Data: [ + { + Name: segmentName, + TTLInMinutes: 43200, + }, + ], + }, + { + DAID: 'test-daid-2', + Data: [ + { + Name: segmentName, + TTLInMinutes: 0, + }, + ], + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + { + version: '1', + type: 'REST', + method: 'POST', + endpoint: 'https://sin-data.adsrvr.org/data/advertiser', + headers: {}, + params: {}, + body: { + JSON: { + DataProviderId: dataProviderId, + AdvertiserId: advertiserId, + Items: [ + { + UID2: 'test-uid2-2', + Data: [ + { + Name: segmentName, + TTLInMinutes: 0, + }, + ], + }, + ], + }, + JSON_ARRAY: {}, + XML: {}, + FORM: {}, + }, + files: {}, + }, + ], + metadata: [ + { + jobId: 1, + }, + { + jobId: 2, + }, + ], + batched: true, + statusCode: 200, + destination: sampleDestination, + }, + ], + }, + }, + }, + mockFns: defaultMockFns, + }, + { + name: destType, + description: + 'Missing segment name (audienceId) in the config (segment name will be populated from vdm)', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: overrideDestination(sampleDestination, { audienceId: '' }), + metadata: { + jobId: 1, + }, + }, + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-2', + UID2: 'test-uid2-2', + }, + channel: 'sources', + context: sampleContext, + recordId: '2', + }, + destination: overrideDestination(sampleDestination, { audienceId: '' }), + metadata: { + jobId: 2, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batched: false, + metadata: [{ jobId: 1 }, { jobId: 2 }], + statusCode: 400, + error: 'Segment name is not present. Aborting', + statTags: { + destType: destTypeInUpperCase, + implementation: 'cdkV2', + feature: 'router', + module: 'destination', + errorCategory: 'dataValidation', + errorType: 'configuration', + }, + }, + ], + }, + }, + }, + }, + { + name: destType, + description: 'Missing advertiser ID in the config', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: overrideDestination(sampleDestination, { advertiserId: '' }), + metadata: { + jobId: 1, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batched: false, + metadata: [{ jobId: 1 }], + statusCode: 400, + error: 'Advertiser ID is not present. Aborting', + statTags: { + destType: destTypeInUpperCase, + implementation: 'cdkV2', + feature: 'router', + module: 'destination', + errorCategory: 'dataValidation', + errorType: 'configuration', + }, + }, + ], + }, + }, + }, + }, + { + name: destType, + description: 'Missing advertiser secret key in the config', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: overrideDestination(sampleDestination, { advertiserSecretKey: '' }), + metadata: { + jobId: 1, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batched: false, + metadata: [{ jobId: 1 }], + statusCode: 400, + error: 'Advertiser Secret Key is not present. Aborting', + statTags: { + destType: destTypeInUpperCase, + implementation: 'cdkV2', + feature: 'router', + module: 'destination', + errorCategory: 'dataValidation', + errorType: 'configuration', + }, + }, + ], + }, + }, + }, + }, + { + name: destType, + description: 'TTL is out of range', + feature: 'router', + module: 'destination', + version: 'v0', + input: { + request: { + body: { + input: [ + { + message: { + type: 'record', + action: 'insert', + fields: { + DAID: 'test-daid-1', + UID2: 'test-uid2-1', + }, + channel: 'sources', + context: sampleContext, + recordId: '1', + }, + destination: overrideDestination(sampleDestination, { ttlInDays: 190 }), + metadata: { + jobId: 1, + }, + }, + ], + destType, + }, + method: 'POST', + }, + }, + output: { + response: { + status: 200, + body: { + output: [ + { + batched: false, + metadata: [{ jobId: 1 }], + statusCode: 400, + error: 'TTL is out of range. Allowed values are 0 to 180 days', + statTags: { + destType: destTypeInUpperCase, + implementation: 'cdkV2', + feature: 'router', + module: 'destination', + errorCategory: 'dataValidation', + errorType: 'configuration', + }, + }, + ], + }, + }, + }, + }, +]; From 5fde548ef5856ae31c6aef130f9e41e88301fb28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jan 2024 17:50:58 +0530 Subject: [PATCH 16/22] chore(deps): bump actions/setup-node from 4.0.0 to 4.0.1 (#2950) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4.0.0...v4.0.1) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/draft-new-release.yml | 2 +- .github/workflows/publish-new-release.yml | 2 +- .github/workflows/report-code-coverage.yml | 2 +- .github/workflows/test.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/draft-new-release.yml b/.github/workflows/draft-new-release.yml index edfd311f9c..33b0396705 100644 --- a/.github/workflows/draft-new-release.yml +++ b/.github/workflows/draft-new-release.yml @@ -16,7 +16,7 @@ jobs: fetch-depth: 0 - name: Setup Node - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version-file: '.nvmrc' cache: 'npm' diff --git a/.github/workflows/publish-new-release.yml b/.github/workflows/publish-new-release.yml index 7d0d4a7437..9d1558d826 100644 --- a/.github/workflows/publish-new-release.yml +++ b/.github/workflows/publish-new-release.yml @@ -30,7 +30,7 @@ jobs: fetch-depth: 0 - name: Setup Node - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version-file: '.nvmrc' cache: 'npm' diff --git a/.github/workflows/report-code-coverage.yml b/.github/workflows/report-code-coverage.yml index e6f72cbdb8..ea259924ae 100644 --- a/.github/workflows/report-code-coverage.yml +++ b/.github/workflows/report-code-coverage.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 1 - name: Setup Node - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version-file: '.nvmrc' cache: 'npm' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 73e5a18ea4..71a6706f94 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: fetch-depth: 1 - name: Setup Node - uses: actions/setup-node@v4.0.0 + uses: actions/setup-node@v4.0.1 with: node-version-file: '.nvmrc' cache: 'npm' From 6eeedf0018b2860203372bdeedf21c3d0d75ad65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jan 2024 17:52:07 +0530 Subject: [PATCH 17/22] chore(deps): bump SonarSource/sonarcloud-github-action from 2.0.0 to 2.1.1 (#2931) chore(deps): bump SonarSource/sonarcloud-github-action Bumps [SonarSource/sonarcloud-github-action](https://github.com/sonarsource/sonarcloud-github-action) from 2.0.0 to 2.1.1. - [Release notes](https://github.com/sonarsource/sonarcloud-github-action/releases) - [Commits](https://github.com/sonarsource/sonarcloud-github-action/compare/v2.0.0...v2.1.1) --- updated-dependencies: - dependency-name: SonarSource/sonarcloud-github-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/report-code-coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/report-code-coverage.yml b/.github/workflows/report-code-coverage.yml index ea259924ae..af6326ae88 100644 --- a/.github/workflows/report-code-coverage.yml +++ b/.github/workflows/report-code-coverage.yml @@ -57,7 +57,7 @@ jobs: - name: SonarCloud Scan if: always() - uses: SonarSource/sonarcloud-github-action@v2.0.0 + uses: SonarSource/sonarcloud-github-action@v2.1.1 env: GITHUB_TOKEN: ${{ secrets.PAT }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} From a79bfc0f78066269919b4efe559bde88b6b2f642 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Fri, 5 Jan 2024 19:06:34 +0530 Subject: [PATCH 18/22] chore: upgrade @aws-sdk/client-personalize from 3.414.0 to 3.470.0 (#2962) fix: upgrade @aws-sdk/client-personalize from 3.414.0 to 3.470.0 Snyk has created this PR to upgrade @aws-sdk/client-personalize from 3.414.0 to 3.470.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/client-personalize See this project in Snyk: https://app.snyk.io/org/sandeep-L8FvsjCG7mBBqonjSmN48c/project/4b0f037e-0dab-4719-aeee-b46d2ae82119?utm_source=github&utm_medium=referral&page=upgrade-pr Co-authored-by: snyk-bot --- package-lock.json | 809 ++++++++++++++++++++++++++++++++++------------ package.json | 2 +- 2 files changed, 611 insertions(+), 200 deletions(-) diff --git a/package-lock.json b/package-lock.json index d004b56151..9eb7d36361 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "ISC", "dependencies": { "@amplitude/ua-parser-js": "^0.7.24", - "@aws-sdk/client-personalize": "^3.391.0", + "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.438.0", "@aws-sdk/credential-providers": "^3.391.0", "@aws-sdk/lib-storage": "^3.391.0", @@ -370,45 +370,406 @@ } }, "node_modules/@aws-sdk/client-personalize": { - "version": "3.414.0", - "license": "Apache-2.0", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-personalize/-/client-personalize-3.470.0.tgz", + "integrity": "sha512-2dHdTenWQCn+iXm9JCaFX4jAD39kV+IJy6haVaM9Z5zSesuSKwhLivV9cZMyjxUfpvx6YgXM1wjX27eSixnH5A==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.414.0", - "@aws-sdk/credential-provider-node": "3.414.0", - "@aws-sdk/middleware-host-header": "3.413.0", - "@aws-sdk/middleware-logger": "3.413.0", - "@aws-sdk/middleware-recursion-detection": "3.413.0", - "@aws-sdk/middleware-signing": "3.413.0", - "@aws-sdk/middleware-user-agent": "3.413.0", - "@aws-sdk/region-config-resolver": "3.413.0", - "@aws-sdk/types": "3.413.0", - "@aws-sdk/util-endpoints": "3.413.0", - "@aws-sdk/util-user-agent-browser": "3.413.0", - "@aws-sdk/util-user-agent-node": "3.413.0", - "@smithy/config-resolver": "^2.0.8", - "@smithy/fetch-http-handler": "^2.1.3", - "@smithy/hash-node": "^2.0.7", - "@smithy/invalid-dependency": "^2.0.7", - "@smithy/middleware-content-length": "^2.0.9", - "@smithy/middleware-endpoint": "^2.0.7", - "@smithy/middleware-retry": "^2.0.10", - "@smithy/middleware-serde": "^2.0.7", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.10", - "@smithy/node-http-handler": "^2.1.3", - "@smithy/protocol-http": "^3.0.3", - "@smithy/smithy-client": "^2.1.4", - "@smithy/types": "^2.3.1", - "@smithy/url-parser": "^2.0.7", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", + "@aws-sdk/client-sts": "3.470.0", + "@aws-sdk/core": "3.468.0", + "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-signing": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.8", - "@smithy/util-defaults-mode-node": "^2.0.10", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/client-sso": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.470.0.tgz", + "integrity": "sha512-iMXqdXuypE3OK0rggbvSz7vBGlLDG418dNidHhdaeLluMTG/GfHbh1fLOlavhYxRwrsPrtYvFiVkxXFGzXva4w==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.468.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/client-sts": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.470.0.tgz", + "integrity": "sha512-TP3A4t8FoFEQinm6axxduTUnlMMLpmLi4Sf00JTI2CszxLUFh/JyUhYQ5gSOoXgPFmfwVXUNKCtmR3jdP0ZGPw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.468.0", + "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-sdk-sts": "3.468.0", + "@aws-sdk/middleware-signing": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/core": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.468.0.tgz", + "integrity": "sha512-ezUJR9VvknKoXzNZ4wvzGi1jdkmm+/1dUYQ9Sw4r8bzlJDTsUnWbyvaDlBQh81RuhLtVkaUfTnQKoec0cwlZKQ==", + "dependencies": { + "@smithy/smithy-client": "^2.1.18", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.468.0.tgz", + "integrity": "sha512-k/1WHd3KZn0EQYjadooj53FC0z24/e4dUZhbSKTULgmxyO62pwh9v3Brvw4WRa/8o2wTffU/jo54tf4vGuP/ZA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.470.0.tgz", + "integrity": "sha512-eF22iPO6J2jY+LbuTv5dW0hZBmi6ksRDFFd/zT6TLasrzH2Ex+gAfN3c7rFHF+XAubL0JXFUKFA3UAwoZpO9Zg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.468.0", + "@aws-sdk/credential-provider-process": "3.468.0", + "@aws-sdk/credential-provider-sso": "3.470.0", + "@aws-sdk/credential-provider-web-identity": "3.468.0", + "@aws-sdk/types": "3.468.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.470.0.tgz", + "integrity": "sha512-paySXwzGxBVU+2cVUkRIXafKhYhtO2fJJ3MotR6euvRONK/dta+bhEc5Z4QnTo/gNLoELK/QUC0EGoF+oPfk8g==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.468.0", + "@aws-sdk/credential-provider-ini": "3.470.0", + "@aws-sdk/credential-provider-process": "3.468.0", + "@aws-sdk/credential-provider-sso": "3.470.0", + "@aws-sdk/credential-provider-web-identity": "3.468.0", + "@aws-sdk/types": "3.468.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.468.0.tgz", + "integrity": "sha512-OYSn1A/UsyPJ7Z8Q2cNhTf55O36shPmSsvOfND04nSfu1nPaR+VUvvsP7v+brhGpwC/GAKTIdGAo4blH31BS6A==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.470.0.tgz", + "integrity": "sha512-biGDSh9S9KDR9Tl/8cCPn9g5KPNkXg/CIJIOk3X+6valktbJ2UVYBzi0ZX4vZiudt5ry/Hsu6Pgo+KN1AmBWdg==", + "dependencies": { + "@aws-sdk/client-sso": "3.470.0", + "@aws-sdk/token-providers": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.468.0.tgz", + "integrity": "sha512-rexymPmXjtkwCPfhnUq3EjO1rSkf39R4Jz9CqiM7OsqK2qlT5Y/V3gnMKn0ZMXsYaQOMfM3cT5xly5R+OKDHlw==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.468.0.tgz", + "integrity": "sha512-gwQ+/QhX+lhof304r6zbZ/V5l5cjhGRxLL3CjH1uJPMcOAbw9wUlMdl+ibr8UwBZ5elfKFGiB1cdW/0uMchw0w==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-logger": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.468.0.tgz", + "integrity": "sha512-X5XHKV7DHRXI3f29SAhJPe/OxWRFgDWDMMCALfzhmJfCi6Jfh0M14cJKoC+nl+dk9lB+36+jKjhjETZaL2bPlA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.468.0.tgz", + "integrity": "sha512-vch9IQib2Ng9ucSyRW2eKNQXHUPb5jUPCLA5otTW/8nGjcOU37LxQG4WrxO7uaJ9Oe8hjHO+hViE3P0KISUhtA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.468.0.tgz", + "integrity": "sha512-xRy8NKfHbmafHwdbotdWgHBvRs0YZgk20GrhFJKp43bkqVbJ5bNlh3nQXf1DeFY9fARR84Bfotya4fwCUHWgZg==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.468.0", + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-signing": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.468.0.tgz", + "integrity": "sha512-s+7fSB1gdnnTj5O0aCCarX3z5Vppop8kazbNSZADdkfHIDWCN80IH4ZNjY3OWqaAz0HmR4LNNrovdR304ojb4Q==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.7.0", + "@smithy/util-middleware": "^2.0.8", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.470.0.tgz", + "integrity": "sha512-s0YRGgf4fT5KwwTefpoNUQfB5JghzXyvmPfY1QuFEMeVQNxv0OPuydzo3rY2oXPkZjkulKDtpm5jzIHwut75hA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.470.0.tgz", + "integrity": "sha512-C1o1J06iIw8cyAAOvHqT4Bbqf+PgQ/RDlSyjt2gFfP2OovDpc2o2S90dE8f8iZdSGpg70N5MikT1DBhW9NbhtQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.8", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/token-providers": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.470.0.tgz", + "integrity": "sha512-rzxnJxEUJiV69Cxsf0AHXTqJqTACITwcSH/PL4lWP4uvtzdrzSi3KA3u2aWHWpOcdE6+JFvdICscsbBSo3/TOg==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -416,16 +777,63 @@ } }, "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/types": { - "version": "3.413.0", - "license": "Apache-2.0", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.468.0.tgz", + "integrity": "sha512-rx/9uHI4inRbp2tw3Y4Ih4PNZkVj32h7WneSg3MVgVjAoVD5Zti9KhS5hkvsBxfgmQmg0AQbE+b1sy5WGAgntA==", "dependencies": { - "@smithy/types": "^2.3.1", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/util-endpoints": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.470.0.tgz", + "integrity": "sha512-6N6VvPCmu+89p5Ez/+gLf+X620iQ9JpIs8p8ECZiCodirzFOe8NC1O2S7eov7YiG9IHSuodqn/0qNq+v+oLe0A==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/util-endpoints": "^1.0.7", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.468.0.tgz", + "integrity": "sha512-OJyhWWsDEizR3L+dCgMXSUmaCywkiZ7HSbnQytbeKGwokIhD69HTiJcibF/sgcM5gk4k3Mq3puUhGnEZ46GIig==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.470.0.tgz", + "integrity": "sha512-QxsZ9iVHcBB/XRdYvwfM5AMvNp58HfqkIrH88mY0cmxuvtlIGDfWjczdDrZMJk9y0vIq+cuoCHsGXHu7PyiEAQ==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, "node_modules/@aws-sdk/client-s3": { "version": "3.438.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.438.0.tgz", @@ -3755,11 +4163,11 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.13.tgz", - "integrity": "sha512-eeOPD+GF9BzF/Mjy3PICLePx4l0f3rG/nQegQHRLTloN5p1lSJJNZsyn+FzDnW8P2AduragZqJdtKNCxXozB1Q==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.15.tgz", + "integrity": "sha512-JkS36PIS3/UCbq/MaozzV7jECeL+BTt4R75bwY8i+4RASys4xOyUS1HsRyUNSqUXFP4QyCz5aNnh3ltuaxv+pw==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -3784,14 +4192,14 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.18.tgz", - "integrity": "sha512-761sJSgNbvsqcsKW6/WZbrZr4H+0Vp/QKKqwyrxCPwD8BsiPEXNHyYnqNgaeK9xRWYswjon0Uxbpe3DWQo0j/g==", - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.6", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.22.tgz", + "integrity": "sha512-YuPjsLnq6I5ZQBTx6BL5NsCLtcLel5YIMf3gDeEa+GSCXn5mgRXm+8XO8HtjR3Xf69b88aY4c7bwKQQS2i8vtA==", + "dependencies": { + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", + "@smithy/util-config-provider": "^2.1.0", + "@smithy/util-middleware": "^2.0.8", "tslib": "^2.5.0" }, "engines": { @@ -3799,14 +4207,14 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.1.tgz", - "integrity": "sha512-gw5G3FjWC6sNz8zpOJgPpH5HGKrpoVFQpToNAwLwJVyI/LJ2jDJRjSKEsM6XI25aRpYjMSE/Qptxx305gN1vHw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.4.tgz", + "integrity": "sha512-cwPJN1fa1YOQzhBlTXRavABEYRRchci1X79QRwzaNLySnIMJfztyv1Zkst0iZPLMnpn8+CnHu3wOHS11J5Dr3A==", "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/property-provider": "^2.0.14", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/property-provider": "^2.0.16", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", "tslib": "^2.5.0" }, "engines": { @@ -3876,13 +4284,13 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.6.tgz", - "integrity": "sha512-PStY3XO1Ksjwn3wMKye5U6m6zxXpXrXZYqLy/IeCbh3nM9QB3Jgw/B0PUSLUWKdXg4U8qgEu300e3ZoBvZLsDg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.3.1.tgz", + "integrity": "sha512-6MNk16fqb8EwcYY8O8WxB3ArFkLZ2XppsSNo1h7SQcFdDDwIumiJeO6wRzm7iB68xvsOQzsdQKbdtTieS3hfSQ==", "dependencies": { - "@smithy/protocol-http": "^3.0.9", - "@smithy/querystring-builder": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/querystring-builder": "^2.0.15", + "@smithy/types": "^2.7.0", "@smithy/util-base64": "^2.0.1", "tslib": "^2.5.0" } @@ -3899,11 +4307,11 @@ } }, "node_modules/@smithy/hash-node": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.15.tgz", - "integrity": "sha512-t/qjEJZu/G46A22PAk1k/IiJZT4ncRkG5GOCNWN9HPPy5rCcSZUbh7gwp7CGKgJJ7ATMMg+0Td7i9o1lQTwOfQ==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.17.tgz", + "integrity": "sha512-Il6WuBcI1nD+e2DM7tTADMf01wEPGK8PAhz4D+YmDUVaoBqlA+CaH2uDJhiySifmuKBZj748IfygXty81znKhw==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "@smithy/util-buffer-from": "^2.0.0", "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" @@ -3926,11 +4334,11 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.13.tgz", - "integrity": "sha512-XsGYhVhvEikX1Yz0kyIoLssJf2Rs6E0U2w2YuKdT4jSra5A/g8V2oLROC1s56NldbgnpesTYB2z55KCHHbKyjw==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.15.tgz", + "integrity": "sha512-dlEKBFFwVfzA5QroHlBS94NpgYjXhwN/bFfun+7w3rgxNvVy79SK0w05iGc7UAeC5t+D7gBxrzdnD6hreZnDVQ==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" } }, @@ -3956,12 +4364,12 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.15.tgz", - "integrity": "sha512-xH4kRBw01gJgWiU+/mNTrnyFXeozpZHw39gLb3JKGsFDVmSrJZ8/tRqu27tU/ki1gKkxr2wApu+dEYjI3QwV1Q==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.17.tgz", + "integrity": "sha512-OyadvMcKC7lFXTNBa8/foEv7jOaqshQZkjWS9coEXPRZnNnihU/Ls+8ZuJwGNCOrN2WxXZFmDWhegbnM4vak8w==", "dependencies": { - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -3969,16 +4377,16 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.0.tgz", - "integrity": "sha512-tddRmaig5URk2106PVMiNX6mc5BnKIKajHHDxb7K0J5MLdcuQluHMGnjkv18iY9s9O0tF+gAcPd/pDXA5L9DZw==", - "dependencies": { - "@smithy/middleware-serde": "^2.0.13", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/shared-ini-file-loader": "^2.2.4", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-middleware": "^2.0.6", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.3.tgz", + "integrity": "sha512-nYfxuq0S/xoAjdLbyn1ixeVB6cyH9wYCMtbbOCpcCRYR5u2mMtqUtVjjPAZ/DIdlK3qe0tpB0Q76szFGNuz+kQ==", + "dependencies": { + "@smithy/middleware-serde": "^2.0.15", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/shared-ini-file-loader": "^2.2.7", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-middleware": "^2.0.8", "tslib": "^2.5.0" }, "engines": { @@ -3986,16 +4394,17 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.20.tgz", - "integrity": "sha512-X2yrF/SHDk2WDd8LflRNS955rlzQ9daz9UWSp15wW8KtzoTXg3bhHM78HbK1cjr48/FWERSJKh9AvRUUGlIawg==", - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/protocol-http": "^3.0.9", - "@smithy/service-error-classification": "^2.0.6", - "@smithy/types": "^2.5.0", - "@smithy/util-middleware": "^2.0.6", - "@smithy/util-retry": "^2.0.6", + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.25.tgz", + "integrity": "sha512-FXhafCPvx/9L9OgHJ3cdo/pD1f7ngC7DKsjDV2J7k6LO/Yl69POoBLk4sI1OZPUGc4dfxriENlTma9Nj1hI+IQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.1.8", + "@smithy/protocol-http": "^3.0.11", + "@smithy/service-error-classification": "^2.0.8", + "@smithy/smithy-client": "^2.2.0", + "@smithy/types": "^2.7.0", + "@smithy/util-middleware": "^2.0.8", + "@smithy/util-retry": "^2.0.8", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -4012,11 +4421,11 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.13.tgz", - "integrity": "sha512-tBGbeXw+XsE6pPr4UaXOh+UIcXARZeiA8bKJWxk2IjJcD1icVLhBSUQH9myCIZLNNzJIH36SDjUX8Wqk4xJCJg==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.15.tgz", + "integrity": "sha512-FOZRFk/zN4AT4wzGuBY+39XWe+ZnCFd0gZtyw3f9Okn2CJPixl9GyWe98TIaljeZdqWkgrzGyPre20AcW2UMHQ==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4024,11 +4433,11 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.7.tgz", - "integrity": "sha512-L1KLAAWkXbGx1t2jjCI/mDJ2dDNq+rp4/ifr/HcC6FHngxho5O7A5bQLpKHGlkfATH6fUnOEx0VICEVFA4sUzw==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.9.tgz", + "integrity": "sha512-bCB5dUtGQ5wh7QNL2ELxmDc6g7ih7jWU3Kx6MYH1h4mZbv9xL3WyhKHojRltThCB1arLPyTUFDi+x6fB/oabtA==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4036,13 +4445,13 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.5.tgz", - "integrity": "sha512-3Omb5/h4tOCuKRx4p4pkYTvEYRCYoKk52bOYbKUyz/G/8gERbagsN8jFm4FjQubkrcIqQEghTpQaUw6uk+0edw==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.8.tgz", + "integrity": "sha512-+w26OKakaBUGp+UG+dxYZtFb5fs3tgHg3/QrRrmUZj+rl3cIuw840vFUXX35cVPTUCQIiTqmz7CpVF7+hdINdQ==", "dependencies": { - "@smithy/property-provider": "^2.0.14", - "@smithy/shared-ini-file-loader": "^2.2.4", - "@smithy/types": "^2.5.0", + "@smithy/property-provider": "^2.0.16", + "@smithy/shared-ini-file-loader": "^2.2.7", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4050,14 +4459,14 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.9.tgz", - "integrity": "sha512-+K0q3SlNcocmo9OZj+fz67gY4lwhOCvIJxVbo/xH+hfWObvaxrMTx7JEzzXcluK0thnnLz++K3Qe7Z/8MDUreA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.2.1.tgz", + "integrity": "sha512-8iAKQrC8+VFHPAT8pg4/j6hlsTQh+NKOWlctJBrYtQa4ExcxX7aSg3vdQ2XLoYwJotFUurg/NLqFCmZaPRrogw==", "dependencies": { - "@smithy/abort-controller": "^2.0.13", - "@smithy/protocol-http": "^3.0.9", - "@smithy/querystring-builder": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/abort-controller": "^2.0.15", + "@smithy/protocol-http": "^3.0.11", + "@smithy/querystring-builder": "^2.0.15", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4065,11 +4474,11 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.14.tgz", - "integrity": "sha512-k3D2qp9o6imTrLaXRj6GdLYEJr1sXqS99nLhzq8fYmJjSVOeMg/G+1KVAAc7Oxpu71rlZ2f8SSZxcSxkevuR0A==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.16.tgz", + "integrity": "sha512-28Ky0LlOqtEjwg5CdHmwwaDRHcTWfPRzkT6HrhwOSRS2RryAvuDfJrZpM+BMcrdeCyEg1mbcgIMoqTla+rdL8Q==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4077,11 +4486,11 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.9.tgz", - "integrity": "sha512-U1wl+FhYu4/BC+rjwh1lg2gcJChQhytiNQSggREgQ9G2FzmoK9sACBZvx7thyWMvRyHQTE22mO2d5UM8gMKDBg==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.11.tgz", + "integrity": "sha512-3ziB8fHuXIRamV/akp/sqiWmNPR6X+9SB8Xxnozzj+Nq7hSpyKdFHd1FLpBkgfGFUTzzcBJQlDZPSyxzmdcx5A==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4089,11 +4498,11 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.13.tgz", - "integrity": "sha512-JhXKwp3JtsFUe96XLHy/nUPEbaXqn6r7xE4sNaH8bxEyytE5q1fwt0ew/Ke6+vIC7gP87HCHgQpJHg1X1jN2Fw==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.15.tgz", + "integrity": "sha512-e1q85aT6HutvouOdN+dMsN0jcdshp50PSCvxDvo6aIM57LqeXimjfONUEgfqQ4IFpYWAtVixptyIRE5frMp/2A==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "@smithy/util-uri-escape": "^2.0.0", "tslib": "^2.5.0" }, @@ -4102,11 +4511,11 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.13.tgz", - "integrity": "sha512-TEiT6o8CPZVxJ44Rly/rrsATTQsE+b/nyBVzsYn2sa75xAaZcurNxsFd8z1haoUysONiyex24JMHoJY6iCfLdA==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.15.tgz", + "integrity": "sha512-jbBvoK3cc81Cj1c1TH1qMYxNQKHrYQ2DoTntN9FBbtUWcGhc+T4FP6kCKYwRLXyU4AajwGIZstvNAmIEgUUNTQ==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4114,22 +4523,22 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.6.tgz", - "integrity": "sha512-fCQ36frtYra2fqY2/DV8+3/z2d0VB/1D1hXbjRcM5wkxTToxq6xHbIY/NGGY6v4carskMyG8FHACxgxturJ9Pg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.8.tgz", + "integrity": "sha512-jCw9+005im8tsfYvwwSc4TTvd29kXRFkH9peQBg5R/4DD03ieGm6v6Hpv9nIAh98GwgYg1KrztcINC1s4o7/hg==", "dependencies": { - "@smithy/types": "^2.5.0" + "@smithy/types": "^2.7.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.4.tgz", - "integrity": "sha512-9dRknGgvYlRIsoTcmMJXuoR/3ekhGwhRq4un3ns2/byre4Ql5hyUN4iS0x8eITohjU90YOnUCsbRwZRvCkbRfw==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.7.tgz", + "integrity": "sha512-0Qt5CuiogIuvQIfK+be7oVHcPsayLgfLJGkPlbgdbl0lD28nUKu4p11L+UG3SAEsqc9UsazO+nErPXw7+IgDpQ==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4155,13 +4564,15 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.15.tgz", - "integrity": "sha512-rngZcQu7Jvs9UbHihK1EI67RMPuzkc3CJmu4MBgB7D7yBnMGuFR86tq5rqHfL2gAkNnMelBN/8kzQVvZjNKefQ==", - "dependencies": { - "@smithy/middleware-stack": "^2.0.7", - "@smithy/types": "^2.5.0", - "@smithy/util-stream": "^2.0.20", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.2.0.tgz", + "integrity": "sha512-C/bkNue5H5Obgl83SnlBt4v6VM68CqIjIELh3vAabud87xFYznLNKtj6Qb69Z+QOnLp9T+We++sEem/f2AHE+Q==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", + "@smithy/util-stream": "^2.0.23", "tslib": "^2.5.0" }, "engines": { @@ -4169,9 +4580,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.5.0.tgz", - "integrity": "sha512-/a31lYofrMBkJb3BuPlYJTMKDj0hUmKUP6JFZQu6YVuQVoAjubiY0A52U9S0Uysd33n/djexCUSNJ+G9bf3/aA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.7.0.tgz", + "integrity": "sha512-1OIFyhK+vOkMbu4aN2HZz/MomREkrAC/HqY5mlJMUJfGrPRwijJDTeiN8Rnj9zUaB8ogXAfIOtZrrgqZ4w7Wnw==", "dependencies": { "tslib": "^2.5.0" }, @@ -4180,12 +4591,12 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.13.tgz", - "integrity": "sha512-okWx2P/d9jcTsZWTVNnRMpFOE7fMkzloSFyM53fA7nLKJQObxM2T4JlZ5KitKKuXq7pxon9J6SF2kCwtdflIrA==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.15.tgz", + "integrity": "sha512-sADUncUj9rNbOTrdDGm4EXlUs0eQ9dyEo+V74PJoULY4jSQxS+9gwEgsPYyiu8PUOv16JC/MpHonOgqP/IEDZA==", "dependencies": { - "@smithy/querystring-parser": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/querystring-parser": "^2.0.15", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" } }, @@ -4202,9 +4613,9 @@ } }, "node_modules/@smithy/util-body-length-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", - "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.1.tgz", + "integrity": "sha512-NXYp3ttgUlwkaug4bjBzJ5+yIbUbUx8VsSLuHZROQpoik+gRkIBeEG9MPVYfvPNpuXb/puqodeeUXcKFe7BLOQ==", "dependencies": { "tslib": "^2.5.0" } @@ -4233,9 +4644,9 @@ } }, "node_modules/@smithy/util-config-provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", - "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.1.0.tgz", + "integrity": "sha512-S6V0JvvhQgFSGLcJeT1CBsaTR03MM8qTuxMH9WPCCddlSo2W0V5jIHimHtIQALMLEDPGQ0ROSRr/dU0O+mxiQg==", "dependencies": { "tslib": "^2.5.0" }, @@ -4244,13 +4655,13 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.19.tgz", - "integrity": "sha512-VHP8xdFR7/orpiABJwgoTB0t8Zhhwpf93gXhNfUBiwAE9O0rvsv7LwpQYjgvbOUDDO8JfIYQB2GYJNkqqGWsXw==", + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.23.tgz", + "integrity": "sha512-2u+7t7Wgz1jlfsf6il3pz6DIzyJHS3qrnNnmATICm00pQeqp2D4kUOYauOgKGIeKgVpwzzq8+hFQe749r3xR5w==", "dependencies": { - "@smithy/property-provider": "^2.0.14", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", + "@smithy/property-provider": "^2.0.16", + "@smithy/smithy-client": "^2.2.0", + "@smithy/types": "^2.7.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -4259,16 +4670,16 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.25", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.25.tgz", - "integrity": "sha512-jkmep6/JyWmn2ADw9VULDeGbugR4N/FJCKOt+gYyVswmN1BJOfzF2umaYxQ1HhQDvna3kzm1Dbo1qIfBW4iuHA==", - "dependencies": { - "@smithy/config-resolver": "^2.0.18", - "@smithy/credential-provider-imds": "^2.1.1", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/property-provider": "^2.0.14", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", + "version": "2.0.31", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.31.tgz", + "integrity": "sha512-ZwdjAJAFkkQQ4hdE8HOcxFAWC3GPFXQ3yQ8IBwHH5nQBlr9q+p5eRQ7Y8iRRORJe4vksR+NASRXZ+E81Us1aXQ==", + "dependencies": { + "@smithy/config-resolver": "^2.0.22", + "@smithy/credential-provider-imds": "^2.1.4", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/property-provider": "^2.0.16", + "@smithy/smithy-client": "^2.2.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4276,12 +4687,12 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.4.tgz", - "integrity": "sha512-FPry8j1xye5yzrdnf4xKUXVnkQErxdN7bUIaqC0OFoGsv2NfD9b2UUMuZSSt+pr9a8XWAqj0HoyVNUfPiZ/PvQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.7.tgz", + "integrity": "sha512-Q2gEind3jxoLk6hdKWyESMU7LnXz8aamVwM+VeVjOYzYT1PalGlY/ETa48hv2YpV4+YV604y93YngyzzzQ4IIA==", "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4300,11 +4711,11 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.6.tgz", - "integrity": "sha512-7W4uuwBvSLgKoLC1x4LfeArCVcbuHdtVaC4g30kKsD1erfICyQ45+tFhhs/dZNeQg+w392fhunCm/+oCcb6BSA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.8.tgz", + "integrity": "sha512-qkvqQjM8fRGGA8P2ydWylMhenCDP8VlkPn8kiNuFEaFz9xnUKC2irfqsBSJrfrOB9Qt6pQsI58r3zvvumhFMkw==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4312,12 +4723,12 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.6.tgz", - "integrity": "sha512-PSO41FofOBmyhPQJwBQJ6mVlaD7Sp9Uff9aBbnfBJ9eqXOE/obrqQjn0PNdkfdvViiPXl49BINfnGcFtSP4kYw==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.8.tgz", + "integrity": "sha512-cQTPnVaVFMjjS6cb44WV2yXtHVyXDC5icKyIbejMarJEApYeJWpBU3LINTxHqp/tyLI+MZOUdosr2mZ3sdziNg==", "dependencies": { - "@smithy/service-error-classification": "^2.0.6", - "@smithy/types": "^2.5.0", + "@smithy/service-error-classification": "^2.0.8", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4325,13 +4736,13 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.20.tgz", - "integrity": "sha512-tT8VASuD8jJu0yjHEMTCPt1o5E3FVzgdsxK6FQLAjXKqVv5V8InCnc0EOsYrijgspbfDqdAJg7r0o2sySfcHVg==", + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.23.tgz", + "integrity": "sha512-OJMWq99LAZJUzUwTk+00plyxX3ESktBaGPhqNIEVab+53gLULiWN9B/8bRABLg0K6R6Xg4t80uRdhk3B/LZqMQ==", "dependencies": { - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/types": "^2.5.0", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/types": "^2.7.0", "@smithy/util-base64": "^2.0.1", "@smithy/util-buffer-from": "^2.0.0", "@smithy/util-hex-encoding": "^2.0.0", diff --git a/package.json b/package.json index 069fc644b7..4710ef1c49 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "@amplitude/ua-parser-js": "^0.7.24", - "@aws-sdk/client-personalize": "^3.391.0", + "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.438.0", "@aws-sdk/credential-providers": "^3.391.0", "@aws-sdk/lib-storage": "^3.391.0", From b1df33745b03c11e3637ed37851d3de833b1d297 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Fri, 5 Jan 2024 19:07:00 +0530 Subject: [PATCH 19/22] chore: upgrade @aws-sdk/lib-storage from 3.417.0 to 3.456.0 (#2911) fix: upgrade @aws-sdk/lib-storage from 3.417.0 to 3.456.0 Snyk has created this PR to upgrade @aws-sdk/lib-storage from 3.417.0 to 3.456.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/lib-storage See this project in Snyk: https://app.snyk.io/org/sandeep-L8FvsjCG7mBBqonjSmN48c/project/4b0f037e-0dab-4719-aeee-b46d2ae82119?utm_source=github&utm_medium=referral&page=upgrade-pr Co-authored-by: snyk-bot --- package-lock.json | 11 ++++++----- package.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9eb7d36361..347d80f26f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.438.0", "@aws-sdk/credential-providers": "^3.391.0", - "@aws-sdk/lib-storage": "^3.391.0", + "@aws-sdk/lib-storage": "^3.456.0", "@bugsnag/js": "^7.20.2", "@datadog/pprof": "^3.1.0", "@koa/router": "^12.0.0", @@ -1638,12 +1638,13 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.417.0", - "license": "Apache-2.0", + "version": "3.456.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.456.0.tgz", + "integrity": "sha512-S1h7DcH8u+CL6kobVgorgm0X0u+gQwjefbDuRrPF0qtpzvPprabRe4t3yt4VKuhjvegxKMVL/sdw817gLGoPdA==", "dependencies": { "@smithy/abort-controller": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.7", - "@smithy/smithy-client": "^2.1.4", + "@smithy/middleware-endpoint": "^2.2.0", + "@smithy/smithy-client": "^2.1.15", "buffer": "5.6.0", "events": "3.3.0", "stream-browserify": "3.0.0", diff --git a/package.json b/package.json index 4710ef1c49..114751ab69 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.438.0", "@aws-sdk/credential-providers": "^3.391.0", - "@aws-sdk/lib-storage": "^3.391.0", + "@aws-sdk/lib-storage": "^3.456.0", "@bugsnag/js": "^7.20.2", "@datadog/pprof": "^3.1.0", "@koa/router": "^12.0.0", From 2302bad0bc81ebde498c41339c583b981ad7b49f Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Mon, 8 Jan 2024 10:57:15 +0530 Subject: [PATCH 20/22] chore: upgrade @aws-sdk/client-s3 from 3.438.0 to 3.474.0 (#2971) fix: upgrade @aws-sdk/client-s3 from 3.438.0 to 3.474.0 Snyk has created this PR to upgrade @aws-sdk/client-s3 from 3.438.0 to 3.474.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/client-s3 See this project in Snyk: https://app.snyk.io/org/sandeep-L8FvsjCG7mBBqonjSmN48c/project/4b0f037e-0dab-4719-aeee-b46d2ae82119?utm_source=github&utm_medium=referral&page=upgrade-pr Co-authored-by: snyk-bot --- package-lock.json | 989 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 497 insertions(+), 494 deletions(-) diff --git a/package-lock.json b/package-lock.json index 347d80f26f..d17df96ca0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@amplitude/ua-parser-js": "^0.7.24", "@aws-sdk/client-personalize": "^3.470.0", - "@aws-sdk/client-s3": "^3.438.0", + "@aws-sdk/client-s3": "^3.474.0", "@aws-sdk/credential-providers": "^3.391.0", "@aws-sdk/lib-storage": "^3.456.0", "@bugsnag/js": "^7.20.2", @@ -776,18 +776,6 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/types": { - "version": "3.468.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.468.0.tgz", - "integrity": "sha512-rx/9uHI4inRbp2tw3Y4Ih4PNZkVj32h7WneSg3MVgVjAoVD5Zti9KhS5hkvsBxfgmQmg0AQbE+b1sy5WGAgntA==", - "dependencies": { - "@smithy/types": "^2.7.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/client-personalize/node_modules/@aws-sdk/util-endpoints": { "version": "3.470.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.470.0.tgz", @@ -835,65 +823,65 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.438.0.tgz", - "integrity": "sha512-5VxdfyZ9oovbK5qzIYW4ZeJ1waD6VqfclSDQLHmgulekM2JYo/goEQJSjWnI4VMWuMsopzvqyeA+L9xq9uXLBQ==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.474.0.tgz", + "integrity": "sha512-uqji9u2yIhFMx6E18+iIlKqimZE1SUEewS78iYYzOKRoQQ+XqFnQXtHTvBGfTExEvdwZUXYg8FqSP2UpQiEf/g==", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.438.0", - "@aws-sdk/core": "3.436.0", - "@aws-sdk/credential-provider-node": "3.438.0", - "@aws-sdk/middleware-bucket-endpoint": "3.433.0", - "@aws-sdk/middleware-expect-continue": "3.433.0", - "@aws-sdk/middleware-flexible-checksums": "3.433.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-location-constraint": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-sdk-s3": "3.433.0", - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/middleware-ssec": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/signature-v4-multi-region": "3.437.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", - "@aws-sdk/xml-builder": "3.310.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/eventstream-serde-browser": "^2.0.12", - "@smithy/eventstream-serde-config-resolver": "^2.0.12", - "@smithy/eventstream-serde-node": "^2.0.12", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-blob-browser": "^2.0.12", - "@smithy/hash-node": "^2.0.12", - "@smithy/hash-stream-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/md5-js": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", + "@aws-sdk/client-sts": "3.474.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", + "@aws-sdk/middleware-bucket-endpoint": "3.470.0", + "@aws-sdk/middleware-expect-continue": "3.468.0", + "@aws-sdk/middleware-flexible-checksums": "3.468.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-location-constraint": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-sdk-s3": "3.474.0", + "@aws-sdk/middleware-signing": "3.468.0", + "@aws-sdk/middleware-ssec": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/signature-v4-multi-region": "3.474.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@aws-sdk/xml-builder": "3.472.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/eventstream-serde-browser": "^2.0.15", + "@smithy/eventstream-serde-config-resolver": "^2.0.15", + "@smithy/eventstream-serde-node": "^2.0.15", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-blob-browser": "^2.0.16", + "@smithy/hash-node": "^2.0.17", + "@smithy/hash-stream-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/md5-js": "^2.0.17", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", - "@smithy/util-stream": "^2.0.17", - "@smithy/util-utf8": "^2.0.0", - "@smithy/util-waiter": "^2.0.12", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-stream": "^2.0.23", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.15", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, @@ -902,45 +890,45 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/client-sso": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.438.0.tgz", - "integrity": "sha512-L/xKq+K78PShLku8x5gM6lZDUp7LhFJ2ksKH7Vll+exSZq+QUaxuzjp4gqdzh6B0oIshv2jssQlUa0ScOmVRMg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.474.0.tgz", + "integrity": "sha512-6toUmQUIHkDM/P2/nyLEO/mcWOIPByTlegqX9VCHhYh9Fs5MDT2nit7I6fZzBjZjB5oVTwKjbzgxae9cE3bhqw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.436.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -948,48 +936,48 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/client-sts": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.438.0.tgz", - "integrity": "sha512-UBxLZKVVvbR4LHwSNSqaKx22YBSOGkavrh4SyDP8o8XOlXeRxTCllfSfjL9K5Mktp+ZwQ2NiubNcwmvUcGKbbg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.474.0.tgz", + "integrity": "sha512-qPPMbrDVAUJgYiFWVewFG7dg0VyMfuGNNK4IC1nZr0eXejUTbdm8cio6IZ8OkWtK+A+L+wx1vX5686WYVgQ0dQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.436.0", - "@aws-sdk/credential-provider-node": "3.438.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-sdk-sts": "3.433.0", - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/core": "^1.1.0", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-middleware": "^2.0.8", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, @@ -998,13 +986,13 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz", - "integrity": "sha512-Vl7Qz5qYyxBurMn6hfSiNJeUHSqfVUlMt0C1Bds3tCkl3IzecRWwyBOlxtxO3VCrgVeW3HqswLzCvhAFzPH6nQ==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.468.0.tgz", + "integrity": "sha512-k/1WHd3KZn0EQYjadooj53FC0z24/e4dUZhbSKTULgmxyO62pwh9v3Brvw4WRa/8o2wTffU/jo54tf4vGuP/ZA==", "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1012,19 +1000,19 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.438.0.tgz", - "integrity": "sha512-WYPQR3pXoHJjn9/RMWipUhsUNFy6zhOiII6u8LJ5w84aNqIjV4+BdRYztRNGJD98jdtekhbkX0YKoSuZqP+unQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.438.0", - "@aws-sdk/credential-provider-web-identity": "3.433.0", - "@aws-sdk/types": "3.433.0", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.474.0.tgz", + "integrity": "sha512-3Y2fHI4ZCNjdOO47Vh/xBgLXOrKm3KwBkYkBKKT2g02FUGNT8NLjJg8WBo3D4RQX2h34qx4mtW5nTY6YcGP80Q==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.468.0", + "@aws-sdk/credential-provider-process": "3.468.0", + "@aws-sdk/credential-provider-sso": "3.474.0", + "@aws-sdk/credential-provider-web-identity": "3.468.0", + "@aws-sdk/types": "3.468.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1032,20 +1020,20 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.438.0.tgz", - "integrity": "sha512-uaw3D2R0svyrC32qyZ2aOv/l0AT9eClh+eQsZJTQD3Kz9q+2VdeOBThQ8fsMfRtm26nUbZo6A/CRwxkm6okI+w==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-ini": "3.438.0", - "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.438.0", - "@aws-sdk/credential-provider-web-identity": "3.433.0", - "@aws-sdk/types": "3.433.0", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.474.0.tgz", + "integrity": "sha512-3OVVVGnb8Ru5hWeeHkg76YZT5mrufweIiWr6ge5zn7FYxc7WkyqIJ0XehqUqG5VQfaYhqh7uq/zmk8OE2B04lQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.468.0", + "@aws-sdk/credential-provider-ini": "3.474.0", + "@aws-sdk/credential-provider-process": "3.468.0", + "@aws-sdk/credential-provider-sso": "3.474.0", + "@aws-sdk/credential-provider-web-identity": "3.468.0", + "@aws-sdk/types": "3.468.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1053,14 +1041,14 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.433.0.tgz", - "integrity": "sha512-W7FcGlQjio9Y/PepcZGRyl5Bpwb0uWU7qIUCh+u4+q2mW4D5ZngXg8V/opL9/I/p4tUH9VXZLyLGwyBSkdhL+A==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.468.0.tgz", + "integrity": "sha512-OYSn1A/UsyPJ7Z8Q2cNhTf55O36shPmSsvOfND04nSfu1nPaR+VUvvsP7v+brhGpwC/GAKTIdGAo4blH31BS6A==", "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1068,16 +1056,16 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.438.0.tgz", - "integrity": "sha512-Xykli/64xR18cBV5P0XFxcH120omtfAjC/cFy/9nFU/+dPvbk0uu1yEOZYteWHyGGkPN4PkHmbh60GiUCLQkWQ==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.474.0.tgz", + "integrity": "sha512-ik4rzhQtcRLSHB/MLQfi/dSpILxPd3zITb79DIEnqT3gpZRNjoARkZ3Hi68pujkU2530NYf8NcFwLCWoV1hS7Q==", "dependencies": { - "@aws-sdk/client-sso": "3.438.0", - "@aws-sdk/token-providers": "3.438.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/client-sso": "3.474.0", + "@aws-sdk/token-providers": "3.470.0", + "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1085,13 +1073,13 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.433.0.tgz", - "integrity": "sha512-RlwjP1I5wO+aPpwyCp23Mk8nmRbRL33hqRASy73c4JA2z2YiRua+ryt6MalIxehhwQU6xvXUKulJnPG9VaMFZg==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.468.0.tgz", + "integrity": "sha512-rexymPmXjtkwCPfhnUq3EjO1rSkf39R4Jz9CqiM7OsqK2qlT5Y/V3gnMKn0ZMXsYaQOMfM3cT5xly5R+OKDHlw==", "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1099,13 +1087,13 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.433.0.tgz", - "integrity": "sha512-mBTq3UWv1UzeHG+OfUQ2MB/5GEkt5LTKFaUqzL7ESwzW8XtpBgXnjZvIwu3Vcd3sEetMwijwaGiJhY0ae/YyaA==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.468.0.tgz", + "integrity": "sha512-gwQ+/QhX+lhof304r6zbZ/V5l5cjhGRxLL3CjH1uJPMcOAbw9wUlMdl+ibr8UwBZ5elfKFGiB1cdW/0uMchw0w==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1113,12 +1101,12 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-logger": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.433.0.tgz", - "integrity": "sha512-We346Fb5xGonTGVZC9Nvqtnqy74VJzYuTLLiuuftA5sbNzftBDy/22QCfvYSTOAl3bvif+dkDUzQY2ihc5PwOQ==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.468.0.tgz", + "integrity": "sha512-X5XHKV7DHRXI3f29SAhJPe/OxWRFgDWDMMCALfzhmJfCi6Jfh0M14cJKoC+nl+dk9lB+36+jKjhjETZaL2bPlA==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1126,27 +1114,13 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.433.0.tgz", - "integrity": "sha512-HEvYC9PQlWY/ccUYtLvAlwwf1iCif2TSAmLNr3YTBRVa98x6jKL0hlCrHWYklFeqOGSKy6XhE+NGJMUII0/HaQ==", - "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.433.0.tgz", - "integrity": "sha512-ORYbJnBejUyonFl5FwIqhvI3Cq6sAp9j+JpkKZtFNma9tFPdrhmYgfCeNH32H/wGTQV/tUoQ3luh0gA4cuk6DA==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.468.0.tgz", + "integrity": "sha512-vch9IQib2Ng9ucSyRW2eKNQXHUPb5jUPCLA5otTW/8nGjcOU37LxQG4WrxO7uaJ9Oe8hjHO+hViE3P0KISUhtA==", "dependencies": { - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1154,16 +1128,16 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-signing": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.433.0.tgz", - "integrity": "sha512-jxPvt59NZo/epMNLNTu47ikmP8v0q217I6bQFGJG7JVFnfl36zDktMwGw+0xZR80qiK47/2BWrNpta61Zd2FxQ==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.468.0.tgz", + "integrity": "sha512-s+7fSB1gdnnTj5O0aCCarX3z5Vppop8kazbNSZADdkfHIDWCN80IH4ZNjY3OWqaAz0HmR4LNNrovdR304ojb4Q==", "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", + "@smithy/protocol-http": "^3.0.11", "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.4.0", - "@smithy/util-middleware": "^2.0.5", + "@smithy/types": "^2.7.0", + "@smithy/util-middleware": "^2.0.8", "tslib": "^2.5.0" }, "engines": { @@ -1171,14 +1145,14 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.438.0.tgz", - "integrity": "sha512-a+xHT1wOxT6EA6YyLmrfaroKWOkwwyiktUfXKM0FsUutGzNi4fKhb5NZ2al58NsXzHgHFrasSDp+Lqbd/X2cEw==", - "dependencies": { - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.470.0.tgz", + "integrity": "sha512-s0YRGgf4fT5KwwTefpoNUQfB5JghzXyvmPfY1QuFEMeVQNxv0OPuydzo3rY2oXPkZjkulKDtpm5jzIHwut75hA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1186,14 +1160,14 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/region-config-resolver": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.433.0.tgz", - "integrity": "sha512-xpjRjCZW+CDFdcMmmhIYg81ST5UAnJh61IHziQEk0FXONrg4kjyYPZAOjEdzXQ+HxJQuGQLKPhRdzxmQnbX7pg==", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.470.0.tgz", + "integrity": "sha512-C1o1J06iIw8cyAAOvHqT4Bbqf+PgQ/RDlSyjt2gFfP2OovDpc2o2S90dE8f8iZdSGpg70N5MikT1DBhW9NbhtQ==", "dependencies": { - "@smithy/node-config-provider": "^2.1.3", - "@smithy/types": "^2.4.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.5", + "@smithy/util-middleware": "^2.0.8", "tslib": "^2.5.0" }, "engines": { @@ -1201,46 +1175,46 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/token-providers": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.438.0.tgz", - "integrity": "sha512-G2fUfTtU6/1ayYRMu0Pd9Ln4qYSvwJOWCqJMdkDgvXSwdgcOSOLsnAIk1AHGJDAvgLikdCzuyOsdJiexr9Vnww==", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.470.0.tgz", + "integrity": "sha512-rzxnJxEUJiV69Cxsf0AHXTqJqTACITwcSH/PL4lWP4uvtzdrzSi3KA3u2aWHWpOcdE6+JFvdICscsbBSo3/TOg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", + "@aws-sdk/middleware-host-header": "3.468.0", + "@aws-sdk/middleware-logger": "3.468.0", + "@aws-sdk/middleware-recursion-detection": "3.468.0", + "@aws-sdk/middleware-user-agent": "3.470.0", + "@aws-sdk/region-config-resolver": "3.470.0", + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-endpoints": "3.470.0", + "@aws-sdk/util-user-agent-browser": "3.468.0", + "@aws-sdk/util-user-agent-node": "3.470.0", + "@smithy/config-resolver": "^2.0.21", + "@smithy/fetch-http-handler": "^2.3.1", + "@smithy/hash-node": "^2.0.17", + "@smithy/invalid-dependency": "^2.0.15", + "@smithy/middleware-content-length": "^2.0.17", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/middleware-stack": "^2.0.9", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/node-http-handler": "^2.2.1", "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", + "@smithy/protocol-http": "^3.0.11", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/url-parser": "^2.0.15", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.22", + "@smithy/util-defaults-mode-node": "^2.0.29", + "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-retry": "^2.0.8", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -1248,12 +1222,12 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-endpoints": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.438.0.tgz", - "integrity": "sha512-6VyPTq1kN3GWxwFt5DdZfOsr6cJZPLjWh0troY/0uUv3hK74C9o3Y0Xf/z8UAUvQFkVqZse12O0/BgPVMImvfA==", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.470.0.tgz", + "integrity": "sha512-6N6VvPCmu+89p5Ez/+gLf+X620iQ9JpIs8p8ECZiCodirzFOe8NC1O2S7eov7YiG9IHSuodqn/0qNq+v+oLe0A==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/util-endpoints": "^1.0.2", + "@aws-sdk/types": "3.468.0", + "@smithy/util-endpoints": "^1.0.7", "tslib": "^2.5.0" }, "engines": { @@ -1261,24 +1235,24 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.433.0.tgz", - "integrity": "sha512-2Cf/Lwvxbt5RXvWFXrFr49vXv0IddiUwrZoAiwhDYxvsh+BMnh+NUFot+ZQaTrk/8IPZVDeLPWZRdVy00iaVXQ==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.468.0.tgz", + "integrity": "sha512-OJyhWWsDEizR3L+dCgMXSUmaCywkiZ7HSbnQytbeKGwokIhD69HTiJcibF/sgcM5gk4k3Mq3puUhGnEZ46GIig==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.437.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.437.0.tgz", - "integrity": "sha512-JVEcvWaniamtYVPem4UthtCNoTBCfFTwYj7Y3CrWZ2Qic4TqrwLkAfaBGtI2TGrhIClVr77uzLI6exqMTN7orA==", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.470.0.tgz", + "integrity": "sha512-QxsZ9iVHcBB/XRdYvwfM5AMvNp58HfqkIrH88mY0cmxuvtlIGDfWjczdDrZMJk9y0vIq+cuoCHsGXHu7PyiEAQ==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1406,11 +1380,16 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.436.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.436.0.tgz", - "integrity": "sha512-vX5/LjXvCejC2XUY6TSg1oozjqK6BvkE75t0ys9dgqyr5PlZyZksMoeAFHUlj0sCjhT3ziWCujP1oiSpPWY9hg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.474.0.tgz", + "integrity": "sha512-eVRdeB+AoTNSzfc4viHfr0jfkHujSlf4ToExJtTuxS1wlgmIyyxRNrVKxbf0K78YK/TXRsRlJPoS5QCD5h1S2w==", "dependencies": { - "@smithy/smithy-client": "^2.1.12" + "@smithy/core": "^1.1.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" @@ -1658,15 +1637,15 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.433.0.tgz", - "integrity": "sha512-Lk1xIu2tWTRa1zDw5hCF1RrpWQYSodUhrS/q3oKz8IAoFqEy+lNaD5jx+fycuZb5EkE4IzWysT+8wVkd0mAnOg==", - "dependencies": { - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-arn-parser": "3.310.0", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "version": "3.470.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.470.0.tgz", + "integrity": "sha512-vLXXNWtsRmEIwzJ9HUQfIuTNAsEzvCv0Icsnkvt2BiBZXnmHdp2vIC3e3+kfy1D7dVQloXqMmnfcLu/BUMu2Jw==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "@smithy/util-config-provider": "^2.0.0", "tslib": "^2.5.0" }, @@ -1675,13 +1654,13 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.433.0.tgz", - "integrity": "sha512-Uq2rPIsjz0CR2sulM/HyYr5WiqiefrSRLdwUZuA7opxFSfE808w5DBWSprHxbH3rbDSQR4nFiOiVYIH8Eth7nA==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.468.0.tgz", + "integrity": "sha512-/wmLjmfgeulxhhmnxX3X3N933TvGsYckVIFjAtDSpLjqkbwzEcNiLq7AdmNJ4BfxG0MCMgcht561DCCD19x8Bg==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1689,17 +1668,17 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.433.0.tgz", - "integrity": "sha512-Ptssx373+I7EzFUWjp/i/YiNFt6I6sDuRHz6DOUR9nmmRTlHHqmdcBXlJL2d9wwFxoBRCN8/PXGsTc/DJ4c95Q==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.468.0.tgz", + "integrity": "sha512-LQwL/N5MCj3Y5keLLewHTqeAXUIMsHFZyxDXRm/uxrOon9ufLKDvGvzAmfwn1/CuSUo66ZfT8VPSA4BsC90RtA==", "dependencies": { "@aws-crypto/crc32": "3.0.0", "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.468.0", "@smithy/is-array-buffer": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/types": "^2.7.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -1731,12 +1710,12 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.433.0.tgz", - "integrity": "sha512-2YD860TGntwZifIUbxm+lFnNJJhByR/RB/+fV1I8oGKg+XX2rZU+94pRfHXRywoZKlCA0L+LGDA1I56jxrB9sw==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.468.0.tgz", + "integrity": "sha512-0gBX/lDynQr4YIhM9h1dVnkVWqrg+34iOCVIUq8jHxzUzgZWglGkG9lHGGg0r1xkLTmegeoo1OKH8wrQ6n33Cg==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1791,15 +1770,18 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.433.0.tgz", - "integrity": "sha512-mkn3DiSuMVh4NTLsduC42Av+ApcOor52LMoQY0Wc6M5Mx7Xd05U+G1j8sjI9n/1bs5cZ/PoeRYJ/9bL1Xxznnw==", - "dependencies": { - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-arn-parser": "3.310.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.474.0.tgz", + "integrity": "sha512-62aAo/8u5daIabeJ+gseYeHeShe9eYH6mH+kfWmLsHybXCCv1EaD/ZkdXWNhL0HZ3bUI1z1SF1p8jjTAWALnwA==", + "dependencies": { + "@aws-sdk/types": "3.468.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.8", + "@smithy/protocol-http": "^3.0.11", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "@smithy/util-config-provider": "^2.0.0", "tslib": "^2.5.0" }, "engines": { @@ -1858,12 +1840,12 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.433.0.tgz", - "integrity": "sha512-2AMaPx0kYfCiekxoL7aqFqSSoA9du+yI4zefpQNLr+1cZOerYiDxdsZ4mbqStR1CVFaX6U6hrYokXzjInsvETw==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.468.0.tgz", + "integrity": "sha512-y1qLW24wRkOGBTK5d6eJXf6d8HYo4rzT4a1mNDN1rd18NSffwQ6Yke5qeUiIaxa0y/l+FvvNYErbhYtij2rJoQ==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.468.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1910,14 +1892,15 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.437.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.437.0.tgz", - "integrity": "sha512-MmrqudssOs87JgVg7HGVdvJws/t4kcOrJJd+975ki+DPeSoyK2U4zBDfDkJ+n0tFuZBs3sLwLh0QXE7BV28rRA==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.474.0.tgz", + "integrity": "sha512-93OWRQgTJZASXLrlUNX7mmXknNkYxFYldRLARmYQccONmnIqgYQW0lQj8BFwqkHJTzSMik3/UsU0SHKwZ9ynYA==", "dependencies": { - "@aws-sdk/types": "3.433.0", - "@smithy/protocol-http": "^3.0.8", + "@aws-sdk/middleware-sdk-s3": "3.474.0", + "@aws-sdk/types": "3.468.0", + "@smithy/protocol-http": "^3.0.11", "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1980,11 +1963,11 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.433.0.tgz", - "integrity": "sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA==", + "version": "3.468.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.468.0.tgz", + "integrity": "sha512-rx/9uHI4inRbp2tw3Y4Ih4PNZkVj32h7WneSg3MVgVjAoVD5Zti9KhS5hkvsBxfgmQmg0AQbE+b1sy5WGAgntA==", "dependencies": { - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -1992,9 +1975,9 @@ } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz", - "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==", + "version": "3.465.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.465.0.tgz", + "integrity": "sha512-zOJ82vzDJFqBX9yZBlNeHHrul/kpx/DCoxzW5UBbZeb26kfV53QhMSoEmY8/lEbBqlqargJ/sgRC845GFhHNQw==", "dependencies": { "tslib": "^2.5.0" }, @@ -2095,9 +2078,11 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.310.0", - "license": "Apache-2.0", + "version": "3.472.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.472.0.tgz", + "integrity": "sha512-PwjVxz1hr9up8QkddabuScPZ/d5aDHgvHYgK4acHYzltXL4wngfvimi5ZqXTzVWF2QANxHmWnHUr45QJX71oJQ==", "dependencies": { + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -4164,11 +4149,11 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.15.tgz", - "integrity": "sha512-JkS36PIS3/UCbq/MaozzV7jECeL+BTt4R75bwY8i+4RASys4xOyUS1HsRyUNSqUXFP4QyCz5aNnh3ltuaxv+pw==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.16.tgz", + "integrity": "sha512-4foO7738k8kM9flMHu3VLabqu7nPgvIj8TB909S0CnKx0YZz/dcDH3pZ/4JHdatfxlZdKF1JWOYCw9+v3HVVsw==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4207,6 +4192,24 @@ "node": ">=14.0.0" } }, + "node_modules/@smithy/core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.2.2.tgz", + "integrity": "sha512-uLjrskLT+mWb0emTR5QaiAIxVEU7ndpptDaVDrTwwhD+RjvHhjIiGQ3YL5jKk1a5VSDQUA2RGkXvJ6XKRcz6Dg==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/util-middleware": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@smithy/credential-provider-imds": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.4.tgz", @@ -4223,23 +4226,23 @@ } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.13.tgz", - "integrity": "sha512-CExbelIYp+DxAHG8RIs0l9QL7ElqhG4ym9BNoSpkPa4ptBQfzJdep3LbOSVJIE2VUdBAeObdeL6EDB3Jo85n3g==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.16.tgz", + "integrity": "sha512-umYh5pdCE9GHgiMAH49zu9wXWZKNHHdKPm/lK22WYISTjqu29SepmpWNmPiBLy/yUu4HFEGJHIFrDWhbDlApaw==", "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.8.0", "@smithy/util-hex-encoding": "^2.0.0", "tslib": "^2.5.0" } }, "node_modules/@smithy/eventstream-serde-browser": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.13.tgz", - "integrity": "sha512-OJ/2g/VxkzA+mYZxV102oX3CsiE+igTSmqq/ir3oEVG2kSIdRC00ryttj/lmL14W06ExNi0ysmfLxQkL8XrAZQ==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.16.tgz", + "integrity": "sha512-W+BdiN728R57KuZOcG0GczpIOEFf8S5RP/OdVH7T3FMCy8HU2bBU0vB5xZZR5c00VRdoeWrohNv3XlHoZuGRoA==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/eventstream-serde-universal": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4247,11 +4250,11 @@ } }, "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.13.tgz", - "integrity": "sha512-2BI1CbnYuEvAYoWSeWJtPNygbIKiWeSLxCmDLnyM6wQV32Of7VptiQlaFXPxXp4zqn/rs3ocZ/T29rxE4s4Gsg==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.16.tgz", + "integrity": "sha512-8qrE4nh+Tg6m1SMFK8vlzoK+8bUFTlIhXidmmQfASMninXW3Iu0T0bI4YcIk4nLznHZdybQ0qGydIanvVZxzVg==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4259,12 +4262,12 @@ } }, "node_modules/@smithy/eventstream-serde-node": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.13.tgz", - "integrity": "sha512-7NbFwPafb924elFxCBDvm48jy/DeSrpFbFQN0uN2ThuY5HrEeubikS0t7WMva4Z4EnRoivpbuT0scb9vUIJKoA==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.16.tgz", + "integrity": "sha512-NRNQuOa6mQdFSkqzY0IV37swHWx0SEoKxFtUfdZvfv0AVQPlSw4N7E3kcRSCpnHBr1kCuWWirdDlWcjWuD81MA==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/eventstream-serde-universal": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4272,12 +4275,12 @@ } }, "node_modules/@smithy/eventstream-serde-universal": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.13.tgz", - "integrity": "sha512-j0yFd5UfftM+ia9dxLRbheJDCkCZBHpcEzCsPO8BxVOTbdcX/auVJCv6ov/yvpCKsf4Hv3mOqi0Is1YogM2g3Q==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.16.tgz", + "integrity": "sha512-ZyLnGaYQMLc75j9kKEVMJ3X6bdBE9qWxhZdTXM5RIltuytxJC3FaOhawBxjE+IL1enmWSIohHGZCm/pLwEliQA==", "dependencies": { - "@smithy/eventstream-codec": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/eventstream-codec": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4285,25 +4288,25 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.3.1.tgz", - "integrity": "sha512-6MNk16fqb8EwcYY8O8WxB3ArFkLZ2XppsSNo1h7SQcFdDDwIumiJeO6wRzm7iB68xvsOQzsdQKbdtTieS3hfSQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.3.2.tgz", + "integrity": "sha512-O9R/OlnAOTsnysuSDjt0v2q6DcSvCz5cCFC/CFAWWcLyBwJDeFyGTCTszgpQTb19+Fi8uRwZE5/3ziAQBFeDMQ==", "dependencies": { - "@smithy/protocol-http": "^3.0.11", - "@smithy/querystring-builder": "^2.0.15", - "@smithy/types": "^2.7.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/querystring-builder": "^2.0.16", + "@smithy/types": "^2.8.0", "@smithy/util-base64": "^2.0.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-blob-browser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.14.tgz", - "integrity": "sha512-yWdghyPJIEqLYsaE7YVgd3YhM7jN4Pv6eJQvTomnMsz5K2qRBlpjUx3T9fKlElp1qdeQ7DNc3sAat4i9CUBO7Q==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.17.tgz", + "integrity": "sha512-/mPpv1sRiRDdjO4zZuO8be6eeabmg5AVgKDfnmmqkpBtRyMGSJb968fjRuHt+FRAsIGywgIKJFmUUAYjhsi1oQ==", "dependencies": { "@smithy/chunked-blob-reader": "^2.0.0", "@smithy/chunked-blob-reader-native": "^2.0.1", - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" } }, @@ -4322,11 +4325,11 @@ } }, "node_modules/@smithy/hash-stream-node": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.15.tgz", - "integrity": "sha512-ZZ6kC/pHt5Dc2goXIIyC8uA7A4GUMSzdCynAabnZ3CSSaV6ctP8mlvVkqjPph0O3XzHlx/80gdLrNqi1GDPUsA==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.18.tgz", + "integrity": "sha512-OuFk+ITpv8CtxGjQcS8GA04faNycu9UMm6YobvQzjeEoXZ0dLF6sRfuzD+3S8RHPKpTyLuXtKG1+GiJycZ5TcA==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.8.0", "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, @@ -4355,11 +4358,11 @@ } }, "node_modules/@smithy/md5-js": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.15.tgz", - "integrity": "sha512-pAZaokib56XvhU0t/R9vAcr3L3bMhIakhF25X7EMSQ7LAURiLfce/tgON8I3x/dIbnZUyeRi8f2cx2azu6ATew==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.18.tgz", + "integrity": "sha512-bHwZ8/m6RbERQdVW5rJ2LzeW8qxfXv6Q/S7Fiudhso4pWRrksqLx3nsGZw7bmqqfN4zLqkxydxSa9+4c7s5zxg==", "dependencies": { - "@smithy/types": "^2.5.0", + "@smithy/types": "^2.8.0", "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" } @@ -4378,16 +4381,16 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.3.tgz", - "integrity": "sha512-nYfxuq0S/xoAjdLbyn1ixeVB6cyH9wYCMtbbOCpcCRYR5u2mMtqUtVjjPAZ/DIdlK3qe0tpB0Q76szFGNuz+kQ==", - "dependencies": { - "@smithy/middleware-serde": "^2.0.15", - "@smithy/node-config-provider": "^2.1.8", - "@smithy/shared-ini-file-loader": "^2.2.7", - "@smithy/types": "^2.7.0", - "@smithy/url-parser": "^2.0.15", - "@smithy/util-middleware": "^2.0.8", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.3.0.tgz", + "integrity": "sha512-VsOAG2YQ8ykjSmKO+CIXdJBIWFo6AAvG6Iw95BakBTqk66/4BI7XyqLevoNSq/lZ6NgZv24sLmrcIN+fLDWBCg==", + "dependencies": { + "@smithy/middleware-serde": "^2.0.16", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/shared-ini-file-loader": "^2.2.8", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-middleware": "^2.0.9", "tslib": "^2.5.0" }, "engines": { @@ -4395,17 +4398,17 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.25", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.25.tgz", - "integrity": "sha512-FXhafCPvx/9L9OgHJ3cdo/pD1f7ngC7DKsjDV2J7k6LO/Yl69POoBLk4sI1OZPUGc4dfxriENlTma9Nj1hI+IQ==", - "dependencies": { - "@smithy/node-config-provider": "^2.1.8", - "@smithy/protocol-http": "^3.0.11", - "@smithy/service-error-classification": "^2.0.8", - "@smithy/smithy-client": "^2.2.0", - "@smithy/types": "^2.7.0", - "@smithy/util-middleware": "^2.0.8", - "@smithy/util-retry": "^2.0.8", + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.26.tgz", + "integrity": "sha512-Qzpxo0U5jfNiq9iD38U3e2bheXwvTEX4eue9xruIvEgh+UKq6dKuGqcB66oBDV7TD/mfoJi9Q/VmaiqwWbEp7A==", + "dependencies": { + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/service-error-classification": "^2.0.9", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -4422,11 +4425,11 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.15.tgz", - "integrity": "sha512-FOZRFk/zN4AT4wzGuBY+39XWe+ZnCFd0gZtyw3f9Okn2CJPixl9GyWe98TIaljeZdqWkgrzGyPre20AcW2UMHQ==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.16.tgz", + "integrity": "sha512-5EAd4t30pcc4M8TSSGq7q/x5IKrxfXR5+SrU4bgxNy7RPHQo2PSWBUco9C+D9Tfqp/JZvprRpK42dnupZafk2g==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4434,11 +4437,11 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.9.tgz", - "integrity": "sha512-bCB5dUtGQ5wh7QNL2ELxmDc6g7ih7jWU3Kx6MYH1h4mZbv9xL3WyhKHojRltThCB1arLPyTUFDi+x6fB/oabtA==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.10.tgz", + "integrity": "sha512-I2rbxctNq9FAPPEcuA1ntZxkTKOPQFy7YBPOaD/MLg1zCvzv21CoNxR0py6J8ZVC35l4qE4nhxB0f7TF5/+Ldw==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4446,13 +4449,13 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.8.tgz", - "integrity": "sha512-+w26OKakaBUGp+UG+dxYZtFb5fs3tgHg3/QrRrmUZj+rl3cIuw840vFUXX35cVPTUCQIiTqmz7CpVF7+hdINdQ==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.9.tgz", + "integrity": "sha512-tUyW/9xrRy+s7RXkmQhgYkAPMpTIF8izK4orhHjNFEKR3QZiOCbWB546Y8iB/Fpbm3O9+q0Af9rpywLKJOwtaQ==", "dependencies": { - "@smithy/property-provider": "^2.0.16", - "@smithy/shared-ini-file-loader": "^2.2.7", - "@smithy/types": "^2.7.0", + "@smithy/property-provider": "^2.0.17", + "@smithy/shared-ini-file-loader": "^2.2.8", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4460,14 +4463,14 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.2.1.tgz", - "integrity": "sha512-8iAKQrC8+VFHPAT8pg4/j6hlsTQh+NKOWlctJBrYtQa4ExcxX7aSg3vdQ2XLoYwJotFUurg/NLqFCmZaPRrogw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.2.2.tgz", + "integrity": "sha512-XO58TO/Eul/IBQKFKaaBtXJi0ItEQQCT+NI4IiKHCY/4KtqaUT6y/wC1EvDqlA9cP7Dyjdj7FdPs4DyynH3u7g==", "dependencies": { - "@smithy/abort-controller": "^2.0.15", - "@smithy/protocol-http": "^3.0.11", - "@smithy/querystring-builder": "^2.0.15", - "@smithy/types": "^2.7.0", + "@smithy/abort-controller": "^2.0.16", + "@smithy/protocol-http": "^3.0.12", + "@smithy/querystring-builder": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4475,11 +4478,11 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.16.tgz", - "integrity": "sha512-28Ky0LlOqtEjwg5CdHmwwaDRHcTWfPRzkT6HrhwOSRS2RryAvuDfJrZpM+BMcrdeCyEg1mbcgIMoqTla+rdL8Q==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.17.tgz", + "integrity": "sha512-+VkeZbVu7qtQ2DjI48Qwaf9fPOr3gZIwxQpuLJgRRSkWsdSvmaTCxI3gzRFKePB63Ts9r4yjn4HkxSCSkdWmcQ==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4487,11 +4490,11 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.11.tgz", - "integrity": "sha512-3ziB8fHuXIRamV/akp/sqiWmNPR6X+9SB8Xxnozzj+Nq7hSpyKdFHd1FLpBkgfGFUTzzcBJQlDZPSyxzmdcx5A==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.12.tgz", + "integrity": "sha512-Xz4iaqLiaBfbQpB9Hgi3VcZYbP7xRDXYhd8XWChh4v94uw7qwmvlxdU5yxzfm6ACJM66phHrTbS5TVvj5uQ72w==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4499,11 +4502,11 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.15.tgz", - "integrity": "sha512-e1q85aT6HutvouOdN+dMsN0jcdshp50PSCvxDvo6aIM57LqeXimjfONUEgfqQ4IFpYWAtVixptyIRE5frMp/2A==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.16.tgz", + "integrity": "sha512-Q/GsJT0C0mijXMRs7YhZLLCP5FcuC4797lYjKQkME5CZohnLC4bEhylAd2QcD3gbMKNjCw8+T2I27WKiV/wToA==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "@smithy/util-uri-escape": "^2.0.0", "tslib": "^2.5.0" }, @@ -4512,11 +4515,11 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.15.tgz", - "integrity": "sha512-jbBvoK3cc81Cj1c1TH1qMYxNQKHrYQ2DoTntN9FBbtUWcGhc+T4FP6kCKYwRLXyU4AajwGIZstvNAmIEgUUNTQ==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.16.tgz", + "integrity": "sha512-c4ueAuL6BDYKWpkubjrQthZKoC3L5kql5O++ovekNxiexRXTlLIVlCR4q3KziOktLIw66EU9SQljPXd/oN6Okg==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4524,22 +4527,22 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.8.tgz", - "integrity": "sha512-jCw9+005im8tsfYvwwSc4TTvd29kXRFkH9peQBg5R/4DD03ieGm6v6Hpv9nIAh98GwgYg1KrztcINC1s4o7/hg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.9.tgz", + "integrity": "sha512-0K+8GvtwI7VkGmmInPydM2XZyBfIqLIbfR7mDQ+oPiz8mIinuHbV6sxOLdvX1Jv/myk7XTK9orgt3tuEpBu/zg==", "dependencies": { - "@smithy/types": "^2.7.0" + "@smithy/types": "^2.8.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.7.tgz", - "integrity": "sha512-0Qt5CuiogIuvQIfK+be7oVHcPsayLgfLJGkPlbgdbl0lD28nUKu4p11L+UG3SAEsqc9UsazO+nErPXw7+IgDpQ==", + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.8.tgz", + "integrity": "sha512-E62byatbwSWrtq9RJ7xN40tqrRKDGrEL4EluyNpaIDvfvet06a/QC58oHw2FgVaEgkj0tXZPjZaKrhPfpoU0qw==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4565,15 +4568,15 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.2.0.tgz", - "integrity": "sha512-C/bkNue5H5Obgl83SnlBt4v6VM68CqIjIELh3vAabud87xFYznLNKtj6Qb69Z+QOnLp9T+We++sEem/f2AHE+Q==", - "dependencies": { - "@smithy/middleware-endpoint": "^2.2.3", - "@smithy/middleware-stack": "^2.0.9", - "@smithy/protocol-http": "^3.0.11", - "@smithy/types": "^2.7.0", - "@smithy/util-stream": "^2.0.23", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.2.1.tgz", + "integrity": "sha512-SpD7FLK92XV2fon2hMotaNDa2w5VAy5/uVjP9WFmjGSgWM8pTPVkHcDl1yFs5Z8LYbij0FSz+DbCBK6i+uXXUA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "@smithy/util-stream": "^2.0.24", "tslib": "^2.5.0" }, "engines": { @@ -4581,9 +4584,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.7.0.tgz", - "integrity": "sha512-1OIFyhK+vOkMbu4aN2HZz/MomREkrAC/HqY5mlJMUJfGrPRwijJDTeiN8Rnj9zUaB8ogXAfIOtZrrgqZ4w7Wnw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.8.0.tgz", + "integrity": "sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA==", "dependencies": { "tslib": "^2.5.0" }, @@ -4592,12 +4595,12 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.15.tgz", - "integrity": "sha512-sADUncUj9rNbOTrdDGm4EXlUs0eQ9dyEo+V74PJoULY4jSQxS+9gwEgsPYyiu8PUOv16JC/MpHonOgqP/IEDZA==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.16.tgz", + "integrity": "sha512-Wfz5WqAoRT91TjRy1JeLR0fXtkIXHGsMbgzKFTx7E68SrZ55TB8xoG+vm11Ru4gheFTMXjAjwAxv1jQdC+pAQA==", "dependencies": { - "@smithy/querystring-parser": "^2.0.15", - "@smithy/types": "^2.7.0", + "@smithy/querystring-parser": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" } }, @@ -4712,11 +4715,11 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.8.tgz", - "integrity": "sha512-qkvqQjM8fRGGA8P2ydWylMhenCDP8VlkPn8kiNuFEaFz9xnUKC2irfqsBSJrfrOB9Qt6pQsI58r3zvvumhFMkw==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.9.tgz", + "integrity": "sha512-PnCnBJ07noMX1lMDTEefmxSlusWJUiLfrme++MfK5TD0xz8NYmakgoXy5zkF/16zKGmiwOeKAztWT/Vjk1KRIQ==", "dependencies": { - "@smithy/types": "^2.7.0", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4724,12 +4727,12 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.8.tgz", - "integrity": "sha512-cQTPnVaVFMjjS6cb44WV2yXtHVyXDC5icKyIbejMarJEApYeJWpBU3LINTxHqp/tyLI+MZOUdosr2mZ3sdziNg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.9.tgz", + "integrity": "sha512-46BFWe9RqB6g7f4mxm3W3HlqknqQQmWHKlhoqSFZuGNuiDU5KqmpebMbvC3tjTlUkqn4xa2Z7s3Hwb0HNs5scw==", "dependencies": { - "@smithy/service-error-classification": "^2.0.8", - "@smithy/types": "^2.7.0", + "@smithy/service-error-classification": "^2.0.9", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { @@ -4737,13 +4740,13 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.23.tgz", - "integrity": "sha512-OJMWq99LAZJUzUwTk+00plyxX3ESktBaGPhqNIEVab+53gLULiWN9B/8bRABLg0K6R6Xg4t80uRdhk3B/LZqMQ==", + "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.24.tgz", + "integrity": "sha512-hRpbcRrOxDriMVmbya+Mv77VZVupxRAsfxVDKS54XuiURhdiwCUXJP0X1iJhHinuUf6n8pBF0MkG9C8VooMnWw==", "dependencies": { - "@smithy/fetch-http-handler": "^2.3.1", - "@smithy/node-http-handler": "^2.2.1", - "@smithy/types": "^2.7.0", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/types": "^2.8.0", "@smithy/util-base64": "^2.0.1", "@smithy/util-buffer-from": "^2.0.0", "@smithy/util-hex-encoding": "^2.0.0", @@ -4778,12 +4781,12 @@ } }, "node_modules/@smithy/util-waiter": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.13.tgz", - "integrity": "sha512-YovIQatiuM7giEsRFotqJa2i3EbU2EE3PgtpXgtLgpx5rXiZMAwPxXYDFVFhuO0lbqvc/Zx4n+ZIisXOHPSqyg==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.16.tgz", + "integrity": "sha512-5i4YONHQ6HoUWDd+X0frpxTXxSXgJhUFl+z0iMy/zpUmVeCQY2or3Vss6DzHKKMMQL4pmVHpQm9WayHDorFdZg==", "dependencies": { - "@smithy/abort-controller": "^2.0.13", - "@smithy/types": "^2.5.0", + "@smithy/abort-controller": "^2.0.16", + "@smithy/types": "^2.8.0", "tslib": "^2.5.0" }, "engines": { diff --git a/package.json b/package.json index 114751ab69..321dea364b 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "dependencies": { "@amplitude/ua-parser-js": "^0.7.24", "@aws-sdk/client-personalize": "^3.470.0", - "@aws-sdk/client-s3": "^3.438.0", + "@aws-sdk/client-s3": "^3.474.0", "@aws-sdk/credential-providers": "^3.391.0", "@aws-sdk/lib-storage": "^3.456.0", "@bugsnag/js": "^7.20.2", From d9ebfe741ea83bda37c23e7932fe78bc5e286001 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Mon, 8 Jan 2024 11:00:31 +0530 Subject: [PATCH 21/22] chore: upgrade @aws-sdk/lib-storage from 3.456.0 to 3.474.0 (#2973) fix: upgrade @aws-sdk/lib-storage from 3.456.0 to 3.474.0 Snyk has created this PR to upgrade @aws-sdk/lib-storage from 3.456.0 to 3.474.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/lib-storage See this project in Snyk: https://app.snyk.io/org/sandeep-L8FvsjCG7mBBqonjSmN48c/project/4b0f037e-0dab-4719-aeee-b46d2ae82119?utm_source=github&utm_medium=referral&page=upgrade-pr Co-authored-by: snyk-bot --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index d17df96ca0..4febb31241 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.474.0", "@aws-sdk/credential-providers": "^3.391.0", - "@aws-sdk/lib-storage": "^3.456.0", + "@aws-sdk/lib-storage": "^3.474.0", "@bugsnag/js": "^7.20.2", "@datadog/pprof": "^3.1.0", "@koa/router": "^12.0.0", @@ -1617,13 +1617,13 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.456.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.456.0.tgz", - "integrity": "sha512-S1h7DcH8u+CL6kobVgorgm0X0u+gQwjefbDuRrPF0qtpzvPprabRe4t3yt4VKuhjvegxKMVL/sdw817gLGoPdA==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.474.0.tgz", + "integrity": "sha512-cTfoBZmzC6OyXFzBOlzo3nFK10oTY/JJiXIzHLHkU5Oy9z4V3CvQlVqkFjbkguG4plYvPTT+2xPeNi45NYagqQ==", "dependencies": { "@smithy/abort-controller": "^2.0.1", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/smithy-client": "^2.1.15", + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/smithy-client": "^2.1.18", "buffer": "5.6.0", "events": "3.3.0", "stream-browserify": "3.0.0", diff --git a/package.json b/package.json index 321dea364b..311a5c0093 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@aws-sdk/client-personalize": "^3.470.0", "@aws-sdk/client-s3": "^3.474.0", "@aws-sdk/credential-providers": "^3.391.0", - "@aws-sdk/lib-storage": "^3.456.0", + "@aws-sdk/lib-storage": "^3.474.0", "@bugsnag/js": "^7.20.2", "@datadog/pprof": "^3.1.0", "@koa/router": "^12.0.0", From d4e0ae32487a6e7d25a88260392d1074a6dfa2ce Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Mon, 8 Jan 2024 11:01:01 +0530 Subject: [PATCH 22/22] chore: security upgrade axios from 1.6.0 to 1.6.4 (#2969) fix: package.json & package-lock.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-AXIOS-6144788 Co-authored-by: snyk-bot --- package-lock.json | 15 ++++++++------- package.json | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4febb31241..08cedcb7d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "ajv": "^8.12.0", "ajv-draft-04": "^1.0.0", "ajv-formats": "^2.1.1", - "axios": "^1.6.0", + "axios": "^1.6.4", "btoa": "^1.2.1", "component-each": "^0.2.6", "crypto-js": "^4.2.0", @@ -5741,11 +5741,11 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", + "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.4", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -9988,14 +9988,15 @@ "license": "MIT" }, "node_modules/follow-redirects": { - "version": "1.15.2", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, diff --git a/package.json b/package.json index 311a5c0093..2d04a5c6ff 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "ajv": "^8.12.0", "ajv-draft-04": "^1.0.0", "ajv-formats": "^2.1.1", - "axios": "^1.6.0", + "axios": "^1.6.4", "btoa": "^1.2.1", "component-each": "^0.2.6", "crypto-js": "^4.2.0",