@segment/action-destinations 3.219.0 → 3.221.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/destinations/airship/utilities.js +2 -2
  2. package/dist/destinations/airship/utilities.js.map +1 -1
  3. package/dist/destinations/braze/updateUserProfile/index.js +1 -6
  4. package/dist/destinations/braze/updateUserProfile/index.js.map +1 -1
  5. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.d.ts +1 -0
  6. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +8 -1
  7. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
  8. package/dist/destinations/engage/twilio/utils/PhoneMessageSender.d.ts +0 -1
  9. package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js +1 -2
  10. package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js.map +1 -1
  11. package/dist/destinations/fullstory/identifyUserV2/generated-types.d.ts +1 -1
  12. package/dist/destinations/fullstory/identifyUserV2/index.js +1 -1
  13. package/dist/destinations/fullstory/identifyUserV2/index.js.map +1 -1
  14. package/dist/destinations/fullstory/index.js +1 -1
  15. package/dist/destinations/fullstory/index.js.map +1 -1
  16. package/dist/destinations/fullstory/request-params.d.ts +2 -2
  17. package/dist/destinations/fullstory/request-params.js +6 -6
  18. package/dist/destinations/fullstory/request-params.js.map +1 -1
  19. package/dist/destinations/fullstory/trackEventV2/generated-types.d.ts +1 -1
  20. package/dist/destinations/fullstory/trackEventV2/index.js +1 -1
  21. package/dist/destinations/fullstory/trackEventV2/index.js.map +1 -1
  22. package/dist/destinations/hubspot/upsertContact/index.d.ts +1 -1
  23. package/dist/destinations/hubspot/upsertContact/index.js +28 -8
  24. package/dist/destinations/hubspot/upsertContact/index.js.map +1 -1
  25. package/dist/destinations/hyperengage/commonFields.d.ts +3 -0
  26. package/dist/destinations/hyperengage/commonFields.js +165 -0
  27. package/dist/destinations/hyperengage/commonFields.js.map +1 -0
  28. package/dist/destinations/hyperengage/generated-types.d.ts +4 -0
  29. package/dist/destinations/hyperengage/generated-types.js +3 -0
  30. package/dist/destinations/hyperengage/generated-types.js.map +1 -0
  31. package/dist/destinations/hyperengage/group/generated-types.d.ts +35 -0
  32. package/dist/destinations/hyperengage/group/generated-types.js +3 -0
  33. package/dist/destinations/hyperengage/group/generated-types.js.map +1 -0
  34. package/dist/destinations/hyperengage/group/index.d.ts +5 -0
  35. package/dist/destinations/hyperengage/group/index.js +81 -0
  36. package/dist/destinations/hyperengage/group/index.js.map +1 -0
  37. package/dist/destinations/hyperengage/identify/generated-types.d.ts +36 -0
  38. package/dist/destinations/hyperengage/identify/generated-types.js +3 -0
  39. package/dist/destinations/hyperengage/identify/generated-types.js.map +1 -0
  40. package/dist/destinations/hyperengage/identify/index.d.ts +5 -0
  41. package/dist/destinations/hyperengage/identify/index.js +110 -0
  42. package/dist/destinations/hyperengage/identify/index.js.map +1 -0
  43. package/dist/destinations/hyperengage/index.d.ts +4 -0
  44. package/dist/destinations/hyperengage/index.js +72 -0
  45. package/dist/destinations/hyperengage/index.js.map +1 -0
  46. package/dist/destinations/hyperengage/track/generated-types.d.ts +32 -0
  47. package/dist/destinations/hyperengage/track/generated-types.js +3 -0
  48. package/dist/destinations/hyperengage/track/generated-types.js.map +1 -0
  49. package/dist/destinations/hyperengage/track/index.d.ts +5 -0
  50. package/dist/destinations/hyperengage/track/index.js +54 -0
  51. package/dist/destinations/hyperengage/track/index.js.map +1 -0
  52. package/dist/destinations/hyperengage/validateInput.d.ts +2 -0
  53. package/dist/destinations/hyperengage/validateInput.js +90 -0
  54. package/dist/destinations/hyperengage/validateInput.js.map +1 -0
  55. package/dist/destinations/index.js +3 -0
  56. package/dist/destinations/index.js.map +1 -1
  57. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +1 -1
  58. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +1 -1
  59. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js +1 -1
  60. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +1 -1
  61. package/dist/destinations/loops/createOrUpdateContact/generated-types.d.ts +1 -1
  62. package/dist/destinations/loops/createOrUpdateContact/index.js +2 -2
  63. package/dist/destinations/loops/createOrUpdateContact/index.js.map +1 -1
  64. package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js +1 -1
  65. package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js.map +1 -1
  66. package/dist/destinations/pinterest-conversions/reportConversionEvent/generated-types.d.ts +1 -1
  67. package/dist/destinations/segment-profiles/segment-properties.d.ts +1 -0
  68. package/dist/destinations/segment-profiles/segment-properties.js +9 -1
  69. package/dist/destinations/segment-profiles/segment-properties.js.map +1 -1
  70. package/dist/destinations/segment-profiles/sendGroup/generated-types.d.ts +1 -0
  71. package/dist/destinations/segment-profiles/sendGroup/index.js +3 -1
  72. package/dist/destinations/segment-profiles/sendGroup/index.js.map +1 -1
  73. package/dist/destinations/segment-profiles/sendIdentify/generated-types.d.ts +1 -0
  74. package/dist/destinations/segment-profiles/sendIdentify/index.js +3 -1
  75. package/dist/destinations/segment-profiles/sendIdentify/index.js.map +1 -1
  76. package/dist/destinations/segment-profiles/sendSubscription/generated-types.d.ts +1 -0
  77. package/dist/destinations/segment-profiles/sendSubscription/index.js +4 -1
  78. package/dist/destinations/segment-profiles/sendSubscription/index.js.map +1 -1
  79. package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
  80. package/dist/destinations/trackey/generated-types.d.ts +3 -0
  81. package/dist/destinations/trackey/generated-types.js +3 -0
  82. package/dist/destinations/trackey/generated-types.js.map +1 -0
  83. package/dist/destinations/trackey/group.types.d.ts +11 -0
  84. package/dist/destinations/trackey/group.types.js +3 -0
  85. package/dist/destinations/trackey/group.types.js.map +1 -0
  86. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  87. package/dist/destinations/trackey/identify.types.js +3 -0
  88. package/dist/destinations/trackey/identify.types.js.map +1 -0
  89. package/dist/destinations/trackey/index.d.ts +4 -0
  90. package/dist/destinations/trackey/index.js +206 -0
  91. package/dist/destinations/trackey/index.js.map +1 -0
  92. package/dist/destinations/trackey/track.types.d.ts +12 -0
  93. package/dist/destinations/trackey/track.types.js +3 -0
  94. package/dist/destinations/trackey/track.types.js.map +1 -0
  95. package/dist/destinations/yahoo-audiences/constants.d.ts +2 -0
  96. package/dist/destinations/yahoo-audiences/constants.js +6 -0
  97. package/dist/destinations/yahoo-audiences/constants.js.map +1 -0
  98. package/dist/destinations/yahoo-audiences/generated-types.d.ts +10 -0
  99. package/dist/destinations/yahoo-audiences/generated-types.js +3 -0
  100. package/dist/destinations/yahoo-audiences/generated-types.js.map +1 -0
  101. package/dist/destinations/yahoo-audiences/index.d.ts +4 -0
  102. package/dist/destinations/yahoo-audiences/index.js +150 -0
  103. package/dist/destinations/yahoo-audiences/index.js.map +1 -0
  104. package/dist/destinations/yahoo-audiences/types.d.ts +31 -0
  105. package/dist/destinations/yahoo-audiences/types.js +3 -0
  106. package/dist/destinations/yahoo-audiences/types.js.map +1 -0
  107. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.d.ts +16 -0
  108. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.js +3 -0
  109. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.js.map +1 -0
  110. package/dist/destinations/yahoo-audiences/updateSegment/index.d.ts +5 -0
  111. package/dist/destinations/yahoo-audiences/updateSegment/index.js +163 -0
  112. package/dist/destinations/yahoo-audiences/updateSegment/index.js.map +1 -0
  113. package/dist/destinations/yahoo-audiences/utils-rt.d.ts +10 -0
  114. package/dist/destinations/yahoo-audiences/utils-rt.js +103 -0
  115. package/dist/destinations/yahoo-audiences/utils-rt.js.map +1 -0
  116. package/dist/destinations/yahoo-audiences/utils-tax.d.ts +8 -0
  117. package/dist/destinations/yahoo-audiences/utils-tax.js +78 -0
  118. package/dist/destinations/yahoo-audiences/utils-tax.js.map +1 -0
  119. package/package.json +2 -2
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const utils_rt_1 = require("../utils-rt");
5
+ const action = {
6
+ title: 'Sync To Yahoo Ads Segment',
7
+ description: 'Sync Segment Audience to Yahoo Ads Segment',
8
+ defaultSubscription: 'type = "identify"',
9
+ fields: {
10
+ segment_audience_id: {
11
+ label: 'Segment Audience Id',
12
+ description: 'Segment Audience Id (aud_...). Maps to "Id" of a Segment node in Yahoo taxonomy',
13
+ type: 'hidden',
14
+ required: true,
15
+ default: {
16
+ '@path': '$.context.personas.computation_id'
17
+ }
18
+ },
19
+ segment_audience_key: {
20
+ label: 'Segment Audience Key',
21
+ description: 'Segment Audience Key. Maps to the "Name" of the Segment node in Yahoo taxonomy',
22
+ type: 'hidden',
23
+ required: true,
24
+ default: {
25
+ '@path': '$.context.personas.computation_key'
26
+ }
27
+ },
28
+ event_attributes: {
29
+ label: 'Event traits or properties. Do not modify this setting',
30
+ description: 'Event traits or properties. Do not modify this setting',
31
+ type: 'object',
32
+ readOnly: true,
33
+ required: true,
34
+ default: {
35
+ '@if': {
36
+ exists: { '@path': '$.properties' },
37
+ then: { '@path': '$.properties' },
38
+ else: { '@path': '$.traits' }
39
+ }
40
+ }
41
+ },
42
+ segment_computation_action: {
43
+ label: 'Segment Computation Action',
44
+ description: "Segment computation class used to determine if input event is from an Engage Audience'. Value must be = 'audience'.",
45
+ type: 'hidden',
46
+ required: true,
47
+ default: {
48
+ '@path': '$.context.personas.computation_class'
49
+ },
50
+ choices: [{ label: 'audience', value: 'audience' }]
51
+ },
52
+ enable_batching: {
53
+ label: 'Enable Batching',
54
+ description: 'Enable batching of requests',
55
+ type: 'boolean',
56
+ default: true,
57
+ unsafe_hidden: true
58
+ },
59
+ batch_size: {
60
+ label: 'Batch Size',
61
+ description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
62
+ type: 'number',
63
+ unsafe_hidden: true,
64
+ default: 1000
65
+ },
66
+ email: {
67
+ label: 'User Email',
68
+ description: 'Email address of a user',
69
+ type: 'hidden',
70
+ required: false,
71
+ default: {
72
+ '@if': {
73
+ exists: { '@path': '$.traits.email' },
74
+ then: { '@path': '$.traits.email' },
75
+ else: { '@path': '$.properties.email' }
76
+ }
77
+ }
78
+ },
79
+ advertising_id: {
80
+ label: 'User Mobile Advertising ID',
81
+ description: "User's mobile advertising Id",
82
+ type: 'hidden',
83
+ default: {
84
+ '@path': '$.context.device.advertisingId'
85
+ },
86
+ required: false
87
+ },
88
+ device_type: {
89
+ label: 'User Mobile Device Type',
90
+ description: "User's mobile device type",
91
+ type: 'hidden',
92
+ default: {
93
+ '@path': '$.context.device.type'
94
+ },
95
+ required: false
96
+ },
97
+ identifier: {
98
+ label: 'User Identifier',
99
+ description: 'Specify the identifier(s) to send to Yahoo',
100
+ type: 'string',
101
+ required: true,
102
+ default: 'email',
103
+ choices: [
104
+ { value: 'email', label: 'Send email' },
105
+ { value: 'maid', label: 'Send MAID' },
106
+ { value: 'email_maid', label: 'Send email and/or MAID' }
107
+ ]
108
+ },
109
+ gdpr_flag: {
110
+ label: 'GDPR Flag',
111
+ description: 'Set to true to indicate that audience data is subject to GDPR regulations',
112
+ type: 'boolean',
113
+ required: true,
114
+ default: false
115
+ },
116
+ gdpr_euconsent: {
117
+ label: 'GDPR Consent Attributes',
118
+ description: 'Required if GDPR flag is set to "true". Using IAB Purpose bit descriptions specify the following user consent attributes: "Storage and Access of Information", "Personalization"',
119
+ type: 'string',
120
+ required: false
121
+ }
122
+ },
123
+ perform: (request, { payload, auth, audienceSettings }) => {
124
+ const rt_access_token = auth?.accessToken;
125
+ if (!audienceSettings) {
126
+ throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
127
+ }
128
+ const body = utils_rt_1.gen_update_segment_payload([payload], audienceSettings);
129
+ if (body.data.length > 0) {
130
+ return request('https://dataxonline.yahoo.com/online/audience/', {
131
+ method: 'POST',
132
+ json: body,
133
+ headers: {
134
+ Authorization: `Bearer ${rt_access_token}`
135
+ }
136
+ });
137
+ }
138
+ else {
139
+ throw new actions_core_1.PayloadValidationError('Email and / or Advertising Id not available in the profile(s)');
140
+ }
141
+ },
142
+ performBatch: (request, { payload, audienceSettings, auth }) => {
143
+ const rt_access_token = auth?.accessToken;
144
+ if (!audienceSettings) {
145
+ throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
146
+ }
147
+ const body = utils_rt_1.gen_update_segment_payload(payload, audienceSettings);
148
+ if (body.data.length > 0) {
149
+ return request('https://dataxonline.yahoo.com/online/audience/', {
150
+ method: 'POST',
151
+ json: body,
152
+ headers: {
153
+ Authorization: `Bearer ${rt_access_token}`
154
+ }
155
+ });
156
+ }
157
+ else {
158
+ throw new actions_core_1.PayloadValidationError('Email and / or Advertising Id not available in the profile(s)');
159
+ }
160
+ }
161
+ };
162
+ exports.default = action;
163
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yahoo-audiences/updateSegment/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Payload } from './updateSegment/generated-types';
2
+ import { YahooPayload } from './types';
3
+ import { AudienceSettings } from './generated-types';
4
+ export declare function create_hash(input: string | undefined): string | undefined;
5
+ export declare function generate_jwt(client_id: string, client_secret: string): string;
6
+ export declare function get_id_schema(payload: Payload, audienceSettings: AudienceSettings): {
7
+ maid: boolean;
8
+ email: boolean;
9
+ };
10
+ export declare function gen_update_segment_payload(payloads: Payload[], audienceSettings: AudienceSettings): YahooPayload;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gen_update_segment_payload = exports.get_id_schema = exports.generate_jwt = exports.create_hash = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const utils_tax_1 = require("./utils-tax");
6
+ function create_hash(input) {
7
+ if (input === undefined)
8
+ return;
9
+ return crypto_1.createHash('sha256').update(input).digest('hex');
10
+ }
11
+ exports.create_hash = create_hash;
12
+ function generate_jwt(client_id, client_secret) {
13
+ const random_id = utils_tax_1.gen_random_id(24);
14
+ const current_time = Math.floor(new Date().getTime() / 1000);
15
+ const url = 'https://id.b2b.yahooinc.com/identity/oauth2/access_token';
16
+ const jwt_payload = {
17
+ iss: client_id,
18
+ sub: client_id,
19
+ aud: url + '?realm=dataxonline',
20
+ jti: random_id,
21
+ exp: current_time + 3600,
22
+ iat: current_time
23
+ };
24
+ const jwt_header = {
25
+ alg: 'HS256',
26
+ typ: 'JWT'
27
+ };
28
+ const jwt_header_encoded = Buffer.from(JSON.stringify(jwt_header)).toString('base64');
29
+ const jwt_payload_encoded = Buffer.from(JSON.stringify(jwt_payload)).toString('base64');
30
+ const jwt_head_payload = jwt_header_encoded + '.' + jwt_payload_encoded;
31
+ const hash = crypto_1.createHmac('sha256', client_secret);
32
+ const signature = hash.update(jwt_head_payload).digest('base64');
33
+ const jwt = jwt_head_payload + '.' + signature;
34
+ return jwt;
35
+ }
36
+ exports.generate_jwt = generate_jwt;
37
+ function get_id_schema(payload, audienceSettings) {
38
+ const schema = {
39
+ email: false,
40
+ maid: false
41
+ };
42
+ let id_type;
43
+ audienceSettings.identifier ? (id_type = audienceSettings.identifier) : (id_type = payload.identifier);
44
+ if (id_type == 'email') {
45
+ schema.email = true;
46
+ }
47
+ if (id_type == 'maid') {
48
+ schema.maid = true;
49
+ }
50
+ if (id_type == 'email_maid') {
51
+ schema.maid = true;
52
+ schema.email = true;
53
+ }
54
+ return schema;
55
+ }
56
+ exports.get_id_schema = get_id_schema;
57
+ function gen_update_segment_payload(payloads, audienceSettings) {
58
+ const schema = get_id_schema(payloads[0], audienceSettings);
59
+ const data = [];
60
+ for (const event of payloads) {
61
+ let hashed_email = '';
62
+ if (schema.email === true && event.email) {
63
+ hashed_email = create_hash(event.email);
64
+ }
65
+ let idfa = '';
66
+ let gpsaid = '';
67
+ if (schema.maid === true && event.advertising_id) {
68
+ switch (event.device_type) {
69
+ case 'ios':
70
+ idfa = event.advertising_id;
71
+ break;
72
+ case 'android':
73
+ gpsaid = event.advertising_id;
74
+ break;
75
+ }
76
+ }
77
+ if (hashed_email == '' && idfa == '' && gpsaid == '') {
78
+ continue;
79
+ }
80
+ const ts = Math.floor(new Date().getTime() / 1000);
81
+ const seg_key = event.segment_audience_key;
82
+ let exp;
83
+ if (event.event_attributes[seg_key] === true) {
84
+ exp = ts + 90 * 24 * 60 * 60;
85
+ }
86
+ if (event.event_attributes[seg_key] === false) {
87
+ exp = 0;
88
+ }
89
+ const seg_id = event.segment_audience_id;
90
+ data.push([hashed_email, idfa, gpsaid, 'exp=' + exp + '&seg_id=' + seg_id + '&ts=' + ts]);
91
+ }
92
+ const yahoo_payload = {
93
+ schema: ['SHA256EMAIL', 'IDFA', 'GPADVID', 'SEGMENTS'],
94
+ data: data,
95
+ gdpr: payloads[0].gdpr_flag
96
+ };
97
+ if (payloads[0].gdpr_flag) {
98
+ yahoo_payload.gdpr_euconsent = payloads[0].gdpr_euconsent;
99
+ }
100
+ return yahoo_payload;
101
+ }
102
+ exports.gen_update_segment_payload = gen_update_segment_payload;
103
+ //# sourceMappingURL=utils-rt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-rt.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/utils-rt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Settings } from './generated-types';
2
+ import { CredsObj, YahooSubTaxonomy } from './types';
3
+ import { RequestClient } from '@segment/actions-core';
4
+ export declare function gen_customer_taxonomy_payload(settings: Settings): string;
5
+ export declare function gen_segment_subtaxonomy_payload(payload: YahooSubTaxonomy): string;
6
+ export declare function gen_random_id(length: number): string;
7
+ export declare function gen_oauth1_signature(client_key: string, client_secret: string, method: string, url: string): string;
8
+ export declare function update_taxonomy(engage_space_id: string, tx_creds: CredsObj, request: RequestClient, body_form_data: string): Promise<any>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.update_taxonomy = exports.gen_oauth1_signature = exports.gen_random_id = exports.gen_segment_subtaxonomy_payload = exports.gen_customer_taxonomy_payload = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const actions_core_1 = require("@segment/actions-core");
6
+ function gen_customer_taxonomy_payload(settings) {
7
+ const data = {
8
+ id: settings.engage_space_id,
9
+ name: settings.engage_space_id,
10
+ description: settings.customer_desc,
11
+ users: {
12
+ include: [settings.mdm_id]
13
+ }
14
+ };
15
+ const req_body_form = `--SEGMENT-DATA\r\nContent-Disposition: form-data; name="metadata"\r\nContent-Type: application/json;charset=UTF-8\r\n\r\n{ "description" : "${settings.customer_desc}" }\r\n--SEGMENT-DATA\r\nContent-Disposition: form-data; name="data"\r\nContent-Type: application/json;charset=UTF-8\r\n\r\n${JSON.stringify(data)}\r\n--SEGMENT-DATA--`;
16
+ return req_body_form;
17
+ }
18
+ exports.gen_customer_taxonomy_payload = gen_customer_taxonomy_payload;
19
+ function gen_segment_subtaxonomy_payload(payload) {
20
+ const data = {
21
+ id: payload.segment_audience_id,
22
+ name: payload.segment_audience_key,
23
+ type: 'SEGMENT'
24
+ };
25
+ const req_body_form = `--SEGMENT-DATA\r\nContent-Disposition: form-data; name="metadata"\r\nContent-Type: application/json;charset=UTF-8\r\n\r\n{ "description" : "Create segment ${data.id}" }\r\n--SEGMENT-DATA\r\nContent-Disposition: form-data; name="data"\r\nContent-Type: application/json;charset=UTF-8\r\n\r\n${JSON.stringify(data)}\r\n--SEGMENT-DATA--`;
26
+ return req_body_form;
27
+ }
28
+ exports.gen_segment_subtaxonomy_payload = gen_segment_subtaxonomy_payload;
29
+ function gen_random_id(length) {
30
+ const pattern = 'abcdefghijklmnopqrstuvwxyz123456789';
31
+ const random_id = [];
32
+ for (let i = 0; i < length; i++) {
33
+ random_id.push(pattern[Math.floor(Math.random() * pattern.length)]);
34
+ }
35
+ return random_id.join('');
36
+ }
37
+ exports.gen_random_id = gen_random_id;
38
+ function gen_oauth1_signature(client_key, client_secret, method, url) {
39
+ const timestamp = Math.floor(new Date().getTime() / 1000);
40
+ const nonce = gen_random_id(15);
41
+ const param_string = `oauth_consumer_key=${encodeURIComponent(client_key)}&oauth_nonce=${encodeURIComponent(nonce)}&oauth_signature_method=${encodeURIComponent('HMAC-SHA1')}&oauth_timestamp=${encodeURIComponent(timestamp)}&oauth_version=${encodeURIComponent('1.0')}`;
42
+ const base_string = `${method.toUpperCase()}&${encodeURIComponent(url)}&${encodeURIComponent(param_string)}`;
43
+ const encoded_client_secret = encodeURIComponent(client_secret);
44
+ const signature = encodeURIComponent(crypto_1.createHmac('sha1', encoded_client_secret + '&')
45
+ .update(base_string)
46
+ .digest('base64'));
47
+ const oauth1_auth_string = `OAuth oauth_consumer_key="${client_key}", oauth_nonce="${nonce}", oauth_signature="${signature}", oauth_signature_method="HMAC-SHA1", oauth_timestamp="${timestamp}", oauth_version="1.0"`;
48
+ return oauth1_auth_string;
49
+ }
50
+ exports.gen_oauth1_signature = gen_oauth1_signature;
51
+ async function update_taxonomy(engage_space_id, tx_creds, request, body_form_data) {
52
+ const tx_client_secret = tx_creds.tx_client_secret;
53
+ const tx_client_key = tx_creds.tx_client_key;
54
+ const url = `https://datax.yahooapis.com/v1/taxonomy/append${engage_space_id.length > 0 ? '/' + engage_space_id : ''}`;
55
+ const oauth1_auth_string = gen_oauth1_signature(tx_client_key, tx_client_secret, 'PUT', url);
56
+ try {
57
+ const add_segment_node = await request(url, {
58
+ method: 'PUT',
59
+ body: body_form_data,
60
+ headers: {
61
+ Authorization: oauth1_auth_string,
62
+ 'Content-Type': 'multipart/form-data; boundary=SEGMENT-DATA'
63
+ }
64
+ });
65
+ return await add_segment_node.json();
66
+ }
67
+ catch (error) {
68
+ const _error = error;
69
+ if (parseInt(_error.response.status) == 401) {
70
+ throw new actions_core_1.IntegrationError(`Error while updating taxonomy: ${JSON.stringify(_error.response.data)} ${_error.response.status}. Validate Yahoo credentials`, 'YAHOO_TAXONOMY_API_AUTH_ERR', 400);
71
+ }
72
+ else {
73
+ throw error;
74
+ }
75
+ }
76
+ }
77
+ exports.update_taxonomy = update_taxonomy;
78
+ //# sourceMappingURL=utils-tax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-tax.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/utils-tax.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@segment/action-destinations",
3
3
  "description": "Destination Actions engine and definitions.",
4
- "version": "3.219.0",
4
+ "version": "3.221.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -77,5 +77,5 @@
77
77
  "__tests__/__helpers__/"
78
78
  ]
79
79
  },
80
- "gitHead": "a008da0d280fff0d7de6cb27ff5c2789ad5f816f"
80
+ "gitHead": "d9843a59ab362c2295981a3824385af6e238536c"
81
81
  }