@segment/action-destinations 3.239.5 → 3.240.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.
- package/dist/destinations/aggregations-io/index.js +17 -7
- package/dist/destinations/aggregations-io/index.js.map +1 -1
- package/dist/destinations/aggregations-io/types.d.ts +8 -0
- package/dist/destinations/aggregations-io/types.js +8 -0
- package/dist/destinations/aggregations-io/types.js.map +1 -0
- package/dist/destinations/amazon-ads/generated-types.d.ts +3 -0
- package/dist/destinations/amazon-ads/generated-types.js.map +1 -0
- package/dist/destinations/amazon-ads/index.d.ts +4 -0
- package/dist/destinations/amazon-ads/index.js +87 -0
- package/dist/destinations/amazon-ads/index.js.map +1 -0
- package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +2 -0
- package/dist/destinations/amazon-ads/syncAudiences/generated-types.js +3 -0
- package/dist/destinations/amazon-ads/syncAudiences/generated-types.js.map +1 -0
- package/dist/destinations/amazon-ads/syncAudiences/index.d.ts +5 -0
- package/dist/destinations/amazon-ads/syncAudiences/index.js +15 -0
- package/dist/destinations/amazon-ads/syncAudiences/index.js.map +1 -0
- package/dist/destinations/amazon-ads/types.d.ts +22 -0
- package/dist/destinations/amazon-ads/types.js +11 -0
- package/dist/destinations/amazon-ads/types.js.map +1 -0
- package/dist/destinations/braze/trackEvent/generated-types.d.ts +1 -0
- package/dist/destinations/braze/trackEvent/index.js +8 -0
- package/dist/destinations/braze/trackEvent/index.js.map +1 -1
- package/dist/destinations/braze/trackPurchase/generated-types.d.ts +1 -0
- package/dist/destinations/braze/trackPurchase/index.js +8 -0
- package/dist/destinations/braze/trackPurchase/index.js.map +1 -1
- package/dist/destinations/braze/utils.js +15 -11
- package/dist/destinations/braze/utils.js.map +1 -1
- package/dist/destinations/courier/generated-types.d.ts +4 -0
- package/dist/destinations/courier/generated-types.js +3 -0
- package/dist/destinations/courier/generated-types.js.map +1 -0
- package/dist/destinations/courier/index.d.ts +4 -0
- package/dist/destinations/courier/index.js +44 -0
- package/dist/destinations/courier/index.js.map +1 -0
- package/dist/destinations/courier/postToCourier/generated-types.d.ts +5 -0
- package/dist/destinations/courier/postToCourier/generated-types.js +3 -0
- package/dist/destinations/courier/postToCourier/generated-types.js.map +1 -0
- package/dist/destinations/courier/postToCourier/index.js +35 -0
- package/dist/destinations/courier/postToCourier/index.js.map +1 -0
- package/dist/destinations/criteo-audiences/criteo-audiences.js +11 -6
- package/dist/destinations/criteo-audiences/criteo-audiences.js.map +1 -1
- package/dist/destinations/display-video-360/index.js +1 -1
- package/dist/destinations/display-video-360/index.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +7 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js +8 -2
- package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/constants.d.ts +1 -1
- package/dist/destinations/facebook-conversions-api/constants.js +1 -1
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js +26 -0
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js.map +1 -1
- package/dist/destinations/hubspot/utils.d.ts +10 -0
- package/dist/destinations/index.js +6 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/kameleoon/index.js +1 -1
- package/dist/destinations/kameleoon/index.js.map +1 -1
- package/dist/destinations/linkedin-conversions/api/api.test.js +43 -25
- package/dist/destinations/linkedin-conversions/api/api.test.js.map +1 -1
- package/dist/destinations/linkedin-conversions/api/index.d.ts +3 -2
- package/dist/destinations/linkedin-conversions/api/index.js +31 -15
- package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
- package/dist/destinations/linkedin-conversions/streamConversion/generated-types.d.ts +1 -1
- package/dist/destinations/linkedin-conversions/streamConversion/index.js +2 -1
- package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
- package/dist/destinations/linkedin-conversions/types.d.ts +6 -7
- package/dist/destinations/schematic/generated-types.d.ts +3 -0
- package/dist/destinations/schematic/generated-types.js +3 -0
- package/dist/destinations/schematic/generated-types.js.map +1 -0
- package/dist/destinations/schematic/identifyUser/generated-types.d.ts +18 -0
- package/dist/destinations/schematic/identifyUser/generated-types.js +3 -0
- package/dist/destinations/schematic/identifyUser/generated-types.js.map +1 -0
- package/dist/destinations/schematic/identifyUser/index.d.ts +5 -0
- package/dist/destinations/schematic/identifyUser/index.js +114 -0
- package/dist/destinations/schematic/identifyUser/index.js.map +1 -0
- package/dist/destinations/schematic/index.d.ts +4 -0
- package/dist/destinations/schematic/index.js +58 -0
- package/dist/destinations/schematic/index.js.map +1 -0
- package/dist/destinations/schematic/trackEvent/generated-types.d.ts +13 -0
- package/dist/destinations/schematic/trackEvent/generated-types.js +3 -0
- package/dist/destinations/schematic/trackEvent/generated-types.js.map +1 -0
- package/dist/destinations/schematic/trackEvent/index.d.ts +5 -0
- package/dist/destinations/schematic/trackEvent/index.js +89 -0
- package/dist/destinations/schematic/trackEvent/index.js.map +1 -0
- package/dist/destinations/surveysparrow/createContact/generated-types.d.ts +10 -0
- package/dist/destinations/surveysparrow/createContact/generated-types.js +3 -0
- package/dist/destinations/surveysparrow/createContact/generated-types.js.map +1 -0
- package/dist/destinations/surveysparrow/createContact/index.d.ts +5 -0
- package/dist/destinations/surveysparrow/createContact/index.js +105 -0
- package/dist/destinations/surveysparrow/createContact/index.js.map +1 -0
- package/dist/destinations/surveysparrow/generated-types.d.ts +3 -0
- package/dist/destinations/surveysparrow/generated-types.js +3 -0
- package/dist/destinations/surveysparrow/generated-types.js.map +1 -0
- package/dist/destinations/surveysparrow/index.d.ts +4 -0
- package/dist/destinations/surveysparrow/index.js +40 -0
- package/dist/destinations/surveysparrow/index.js.map +1 -0
- package/dist/destinations/surveysparrow/triggerSurvey/generated-types.d.ts +10 -0
- package/dist/destinations/surveysparrow/triggerSurvey/generated-types.js +3 -0
- package/dist/destinations/surveysparrow/triggerSurvey/generated-types.js.map +1 -0
- package/dist/destinations/surveysparrow/triggerSurvey/index.d.ts +8 -0
- package/dist/destinations/surveysparrow/triggerSurvey/index.js +165 -0
- package/dist/destinations/surveysparrow/triggerSurvey/index.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/common_fields.d.ts +2 -0
- package/dist/destinations/tiktok-conversions-sandbox/common_fields.js +244 -0
- package/dist/destinations/tiktok-conversions-sandbox/common_fields.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/formatter.d.ts +3 -0
- package/dist/destinations/tiktok-conversions-sandbox/formatter.js +43 -0
- package/dist/destinations/tiktok-conversions-sandbox/formatter.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/generated-types.d.ts +4 -0
- package/dist/destinations/tiktok-conversions-sandbox/generated-types.js +3 -0
- package/dist/destinations/tiktok-conversions-sandbox/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/index.d.ts +4 -0
- package/dist/destinations/tiktok-conversions-sandbox/index.js +247 -0
- package/dist/destinations/tiktok-conversions-sandbox/index.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/generated-types.d.ts +33 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/generated-types.js +3 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/index.d.ts +5 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/index.js +16 -0
- package/dist/destinations/tiktok-conversions-sandbox/reportWebEvent/index.js.map +1 -0
- package/dist/destinations/tiktok-conversions-sandbox/utils.d.ts +4 -0
- package/dist/destinations/tiktok-conversions-sandbox/utils.js +65 -0
- package/dist/destinations/tiktok-conversions-sandbox/utils.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions/common_fields.js +20 -179
- package/dist/destinations/tiktok-offline-conversions/common_fields.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/formatter.d.ts +0 -1
- package/dist/destinations/tiktok-offline-conversions/formatter.js +1 -11
- package/dist/destinations/tiktok-offline-conversions/formatter.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/index.js +15 -169
- package/dist/destinations/tiktok-offline-conversions/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/generated-types.d.ts +2 -25
- package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js +29 -4
- package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/generated-types.d.ts +5 -18
- package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js +126 -5
- package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions-sandbox/common_fields.d.ts +2 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/common_fields.js +244 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/common_fields.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/formatter.d.ts +3 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/formatter.js +43 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/formatter.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/generated-types.d.ts +4 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/generated-types.js +3 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/index.d.ts +4 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/index.js +251 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/index.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/generated-types.js +3 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/index.d.ts +5 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/index.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/generated-types.d.ts +33 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/generated-types.js +3 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/index.d.ts +5 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/index.js +16 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackNonPaymentOfflineConversion/index.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/generated-types.d.ts +33 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/generated-types.js +3 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/generated-types.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/index.d.ts +5 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/index.js +16 -0
- package/dist/destinations/tiktok-offline-conversions-sandbox/trackPaymentOfflineConversion/index.js.map +1 -0
- package/dist/destinations/{tiktok-offline-conversions → tiktok-offline-conversions-sandbox}/utils.js +10 -9
- package/dist/destinations/tiktok-offline-conversions-sandbox/utils.js.map +1 -0
- package/package.json +4 -4
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.js.map +0 -1
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js.map +0 -1
- package/dist/destinations/tiktok-offline-conversions/utils.js.map +0 -1
- /package/dist/destinations/{tiktok-offline-conversions/reportOfflineEvent → amazon-ads}/generated-types.js +0 -0
- /package/dist/destinations/{tiktok-offline-conversions/reportOfflineEvent → courier/postToCourier}/index.d.ts +0 -0
- /package/dist/destinations/{tiktok-offline-conversions → tiktok-offline-conversions-sandbox}/reportOfflineEvent/generated-types.d.ts +0 -0
- /package/dist/destinations/{tiktok-offline-conversions → tiktok-offline-conversions-sandbox}/reportOfflineEvent/index.js +0 -0
- /package/dist/destinations/{tiktok-offline-conversions → tiktok-offline-conversions-sandbox}/utils.d.ts +0 -0
|
@@ -6,12 +6,12 @@ exports.commonFields = {
|
|
|
6
6
|
label: 'Event Name',
|
|
7
7
|
type: 'string',
|
|
8
8
|
required: true,
|
|
9
|
-
description: 'Conversion event name. Please refer to the "Offline
|
|
9
|
+
description: 'Conversion event name. Please refer to the "Supported Offline Events" section on in TikTok’s [Offline Events API documentation](https://ads.tiktok.com/marketing_api/docs?id=1758053486938113) for accepted event names.'
|
|
10
10
|
},
|
|
11
11
|
event_id: {
|
|
12
12
|
label: 'Event ID',
|
|
13
13
|
type: 'string',
|
|
14
|
-
description: '
|
|
14
|
+
description: 'A unique value for each event. This ID can be used to match data between partner and TikTok. We suggest it is a String of 32 characters, including numeric digits (0-9), uppercase letters (A-Z), and lowercase letters (a-z).',
|
|
15
15
|
default: {
|
|
16
16
|
'@path': '$.messageId'
|
|
17
17
|
}
|
|
@@ -19,7 +19,8 @@ exports.commonFields = {
|
|
|
19
19
|
timestamp: {
|
|
20
20
|
label: 'Event Timestamp',
|
|
21
21
|
type: 'string',
|
|
22
|
-
|
|
22
|
+
required: true,
|
|
23
|
+
description: 'Timestamp that the event took place, in ISO 8601 format. e.g. 2019-06-12T19:11:01.152Z',
|
|
23
24
|
default: {
|
|
24
25
|
'@path': '$.timestamp'
|
|
25
26
|
}
|
|
@@ -33,7 +34,7 @@ exports.commonFields = {
|
|
|
33
34
|
'@if': {
|
|
34
35
|
exists: { '@path': '$.properties.phone' },
|
|
35
36
|
then: { '@path': '$.properties.phone' },
|
|
36
|
-
else: { '@path': '$.
|
|
37
|
+
else: { '@path': '$.traits.phone' }
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
},
|
|
@@ -46,14 +47,14 @@ exports.commonFields = {
|
|
|
46
47
|
'@if': {
|
|
47
48
|
exists: { '@path': '$.properties.email' },
|
|
48
49
|
then: { '@path': '$.properties.email' },
|
|
49
|
-
else: { '@path': '$.
|
|
50
|
+
else: { '@path': '$.traits.email' }
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
},
|
|
53
54
|
order_id: {
|
|
54
55
|
label: 'Order ID',
|
|
55
56
|
type: 'string',
|
|
56
|
-
description: '
|
|
57
|
+
description: 'The order id',
|
|
57
58
|
default: {
|
|
58
59
|
'@path': '$.properties.order_id'
|
|
59
60
|
}
|
|
@@ -61,184 +62,24 @@ exports.commonFields = {
|
|
|
61
62
|
shop_id: {
|
|
62
63
|
label: 'Shop ID',
|
|
63
64
|
type: 'string',
|
|
64
|
-
description: '
|
|
65
|
+
description: 'The shop id',
|
|
65
66
|
default: {
|
|
66
67
|
'@path': '$.properties.shop_id'
|
|
67
68
|
}
|
|
68
69
|
},
|
|
69
|
-
|
|
70
|
-
label: '
|
|
71
|
-
description: 'Uniquely identifies the user who triggered the conversion event. Segment will hash this value before sending to TikTok.',
|
|
72
|
-
type: 'string',
|
|
73
|
-
multiple: true,
|
|
74
|
-
default: {
|
|
75
|
-
'@if': {
|
|
76
|
-
exists: { '@path': '$.userId' },
|
|
77
|
-
then: { '@path': '$.userId' },
|
|
78
|
-
else: { '@path': '$.anonymousId' }
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
ttclid: {
|
|
83
|
-
label: 'TikTok Click ID',
|
|
84
|
-
description: 'The value of the ttclid used to match website visitor events with TikTok ads. The ttclid is valid for 7 days. See [Set up ttclid](https://ads.tiktok.com/marketing_api/docs?rid=4eezrhr6lg4&id=1681728034437121) for details.',
|
|
85
|
-
type: 'string',
|
|
86
|
-
default: {
|
|
87
|
-
'@if': {
|
|
88
|
-
exists: { '@path': '$.properties.ttclid' },
|
|
89
|
-
then: { '@path': '$.properties.ttclid' },
|
|
90
|
-
else: { '@path': '$.integrations.TikTok Offline Conversions.ttclid' }
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
ttp: {
|
|
95
|
-
label: 'TikTok Cookie ID',
|
|
96
|
-
description: 'TikTok Cookie ID. If you also use Pixel SDK and have enabled cookies, Pixel SDK automatically saves a unique identifier in the `_ttp` cookie. The value of `_ttp` is used to match website visitor events with TikTok ads. You can extract the value of `_ttp` and attach the value here. To learn more about the `ttp` parameter, refer to [Events API 2.0 - Send TikTok Cookie](https://ads.tiktok.com/marketing_api/docs?id=%201771100936446977) (`_ttp`).',
|
|
97
|
-
type: 'string',
|
|
98
|
-
default: {
|
|
99
|
-
'@if': {
|
|
100
|
-
exists: { '@path': '$.properties.ttp' },
|
|
101
|
-
then: { '@path': '$.properties.ttp' },
|
|
102
|
-
else: { '@path': '$.integrations.TikTok Offline Conversions.ttp' }
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
lead_id: {
|
|
107
|
-
label: 'TikTok Lead ID',
|
|
108
|
-
description: 'ID of TikTok leads. Every lead will have its own lead_id when exported from TikTok. This feature is in Beta. Please contact your TikTok representative to inquire regarding availability',
|
|
109
|
-
type: 'string',
|
|
110
|
-
default: { '@path': '$.properties.lead_id' }
|
|
111
|
-
},
|
|
112
|
-
locale: {
|
|
113
|
-
label: 'Locale',
|
|
114
|
-
description: 'The BCP 47 language identifier. For reference, refer to the [IETF BCP 47 standardized code](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).',
|
|
115
|
-
type: 'string',
|
|
116
|
-
default: {
|
|
117
|
-
'@path': '$.context.locale'
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
url: {
|
|
121
|
-
label: 'Page URL',
|
|
122
|
-
type: 'string',
|
|
123
|
-
description: 'The page URL where the conversion event took place.',
|
|
124
|
-
default: {
|
|
125
|
-
'@path': '$.context.page.url'
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
referrer: {
|
|
129
|
-
label: 'Page Referrer',
|
|
130
|
-
type: 'string',
|
|
131
|
-
description: 'The page referrer.',
|
|
132
|
-
default: {
|
|
133
|
-
'@path': '$.context.page.referrer'
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
ip: {
|
|
137
|
-
label: 'IP Address',
|
|
138
|
-
type: 'string',
|
|
139
|
-
description: 'IP address of the browser.',
|
|
140
|
-
default: {
|
|
141
|
-
'@path': '$.context.ip'
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
user_agent: {
|
|
145
|
-
label: 'User Agent',
|
|
146
|
-
type: 'string',
|
|
147
|
-
description: 'User agent from the user’s device.',
|
|
148
|
-
default: {
|
|
149
|
-
'@path': '$.context.userAgent'
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
contents: {
|
|
153
|
-
label: 'Contents',
|
|
154
|
-
type: 'object',
|
|
155
|
-
multiple: true,
|
|
156
|
-
description: 'Related items in a web event.',
|
|
157
|
-
properties: {
|
|
158
|
-
price: {
|
|
159
|
-
label: 'Price',
|
|
160
|
-
description: 'Price of the item.',
|
|
161
|
-
type: 'number'
|
|
162
|
-
},
|
|
163
|
-
quantity: {
|
|
164
|
-
label: 'Quantity',
|
|
165
|
-
description: 'Number of items.',
|
|
166
|
-
type: 'number'
|
|
167
|
-
},
|
|
168
|
-
content_category: {
|
|
169
|
-
label: 'Content Category',
|
|
170
|
-
description: 'Category of the product item.',
|
|
171
|
-
type: 'string'
|
|
172
|
-
},
|
|
173
|
-
content_id: {
|
|
174
|
-
label: 'Content ID',
|
|
175
|
-
description: 'ID of the product item.',
|
|
176
|
-
type: 'string'
|
|
177
|
-
},
|
|
178
|
-
content_name: {
|
|
179
|
-
label: 'Content Name',
|
|
180
|
-
description: 'Name of the product item.',
|
|
181
|
-
type: 'string'
|
|
182
|
-
},
|
|
183
|
-
brand: {
|
|
184
|
-
label: 'Brand',
|
|
185
|
-
description: 'Brand name of the product item.',
|
|
186
|
-
type: 'string'
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
content_type: {
|
|
191
|
-
label: 'Content Type',
|
|
192
|
-
description: 'Type of the product item. When the `content_id` in the `contents` parameter is specified as `sku_id`, set this field to `product`. When the `content_id` in the `contents` parameter is specified as `item_group_id`, set this field to `product_group`.',
|
|
193
|
-
type: 'string',
|
|
194
|
-
choices: ['product', 'product_group'],
|
|
195
|
-
default: 'product'
|
|
196
|
-
},
|
|
197
|
-
currency: {
|
|
198
|
-
label: 'Currency',
|
|
199
|
-
type: 'string',
|
|
200
|
-
description: 'Currency for the value specified as ISO 4217 code.',
|
|
201
|
-
default: {
|
|
202
|
-
'@path': '$.properties.currency'
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
value: {
|
|
206
|
-
label: 'Value',
|
|
207
|
-
type: 'number',
|
|
208
|
-
description: 'Value of the order or items sold.',
|
|
209
|
-
default: {
|
|
210
|
-
'@if': {
|
|
211
|
-
exists: { '@path': '$.properties.value' },
|
|
212
|
-
then: { '@path': '$.properties.value' },
|
|
213
|
-
else: { '@path': '$.properties.revenue' }
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
description: {
|
|
218
|
-
label: 'Description',
|
|
219
|
-
type: 'string',
|
|
220
|
-
description: 'A string description of the web event.'
|
|
221
|
-
},
|
|
222
|
-
query: {
|
|
223
|
-
label: 'Query',
|
|
224
|
-
type: 'string',
|
|
225
|
-
description: 'The text string that was searched for.',
|
|
226
|
-
default: {
|
|
227
|
-
'@path': '$.properties.query'
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
limited_data_use: {
|
|
231
|
-
label: 'Limited Data Use',
|
|
232
|
-
type: 'boolean',
|
|
233
|
-
description: 'Use this field to flag an event for limited data processing. TikTok will recognize this parameter as a request for limited data processing, and will limit its processing activities accordingly if the event shared occurred in an eligible location. To learn more about the Limited Data Use feature, refer to [Events API 2.0 - Limited Data Use](https://ads.tiktok.com/marketing_api/docs?id=1771101204435970).',
|
|
234
|
-
default: {
|
|
235
|
-
'@path': '$.properties.limited_data_use'
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
test_event_code: {
|
|
239
|
-
label: 'Test Event Code',
|
|
70
|
+
event_channel: {
|
|
71
|
+
label: 'Event channel',
|
|
240
72
|
type: 'string',
|
|
241
|
-
description: '
|
|
73
|
+
description: 'Event channel of the offline conversion event. Accepted values are: email, website, phone_call, in_store, crm, other. Any other value will be rejected',
|
|
74
|
+
choices: [
|
|
75
|
+
{ label: 'Email', value: 'email' },
|
|
76
|
+
{ label: 'Website', value: 'website' },
|
|
77
|
+
{ label: 'Phone call', value: 'phone_call' },
|
|
78
|
+
{ label: 'In store', value: 'in_store' },
|
|
79
|
+
{ label: 'CRM', value: 'crm' },
|
|
80
|
+
{ label: 'Other', value: 'other' }
|
|
81
|
+
],
|
|
82
|
+
default: 'in_store'
|
|
242
83
|
}
|
|
243
84
|
};
|
|
244
85
|
//# sourceMappingURL=common_fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common_fields.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/common_fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAA+B;IACtD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"common_fields.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/common_fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAA+B;IACtD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,0NAA0N;KAC7N;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,gOAAgO;QAClO,OAAO,EAAE;YACP,OAAO,EAAE,aAAa;SACvB;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE;YACP,OAAO,EAAE,aAAa;SACvB;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,qNAAqN;QACvN,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;aACpC;SACF;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,kMAAkM;QACpM,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;aACpC;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE;YACP,OAAO,EAAE,uBAAuB;SACjC;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE;YACP,OAAO,EAAE,sBAAsB;SAChC;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,wJAAwJ;QAC1J,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC5C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;YACxC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACnC;QACD,OAAO,EAAE,UAAU;KACpB;CACF,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.formatPhones = exports.formatEmails = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const formatEmails = (email_addresses) => {
|
|
6
6
|
const result = [];
|
|
@@ -27,16 +27,6 @@ const formatPhones = (phone_numbers) => {
|
|
|
27
27
|
return result;
|
|
28
28
|
};
|
|
29
29
|
exports.formatPhones = formatPhones;
|
|
30
|
-
function formatUserIds(userIds) {
|
|
31
|
-
const result = [];
|
|
32
|
-
if (userIds) {
|
|
33
|
-
userIds.forEach((userId) => {
|
|
34
|
-
result.push(hashAndEncode(userId.toLowerCase()));
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
exports.formatUserIds = formatUserIds;
|
|
40
30
|
function hashAndEncode(property) {
|
|
41
31
|
return crypto_1.createHash('sha256').update(property).digest('hex');
|
|
42
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/formatter.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAK5B,MAAM,YAAY,GAAG,CAAC,eAAqC,EAAY,EAAE;IAC9E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,eAAe,EAAE;QACnB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAOM,MAAM,YAAY,GAAG,CAAC,aAAmC,EAAY,EAAE;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAA;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;SAC/D;QAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAA;QAEzD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAhBY,QAAA,YAAY,gBAgBxB;
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/formatter.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAK5B,MAAM,YAAY,GAAG,CAAC,eAAqC,EAAY,EAAE;IAC9E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,eAAe,EAAE;QACnB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAOM,MAAM,YAAY,GAAG,CAAC,aAAmC,EAAY,EAAE;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAA;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;SAC/D;QAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAA;QAEzD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAhBY,QAAA,YAAY,gBAgBxB;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,mBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC"}
|
|
@@ -6,49 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const actions_core_1 = require("@segment/actions-core");
|
|
7
7
|
const trackPaymentOfflineConversion_1 = __importDefault(require("./trackPaymentOfflineConversion"));
|
|
8
8
|
const trackNonPaymentOfflineConversion_1 = __importDefault(require("./trackNonPaymentOfflineConversion"));
|
|
9
|
-
const reportOfflineEvent_1 = __importDefault(require("./reportOfflineEvent"));
|
|
10
|
-
const productProperties = {
|
|
11
|
-
price: {
|
|
12
|
-
'@path': '$.price'
|
|
13
|
-
},
|
|
14
|
-
quantity: {
|
|
15
|
-
'@path': '$.quantity'
|
|
16
|
-
},
|
|
17
|
-
content_category: {
|
|
18
|
-
'@path': '$.category'
|
|
19
|
-
},
|
|
20
|
-
content_id: {
|
|
21
|
-
'@path': '$.product_id'
|
|
22
|
-
},
|
|
23
|
-
content_name: {
|
|
24
|
-
'@path': '$.name'
|
|
25
|
-
},
|
|
26
|
-
brand: {
|
|
27
|
-
'@path': '$.brand'
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
const singleProductContents = {
|
|
31
|
-
...actions_core_1.defaultValues(reportOfflineEvent_1.default.fields),
|
|
32
|
-
contents: {
|
|
33
|
-
'@arrayPath': [
|
|
34
|
-
'$.properties',
|
|
35
|
-
{
|
|
36
|
-
...productProperties
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const multiProductContents = {
|
|
42
|
-
...actions_core_1.defaultValues(reportOfflineEvent_1.default.fields),
|
|
43
|
-
contents: {
|
|
44
|
-
'@arrayPath': [
|
|
45
|
-
'$.properties.products',
|
|
46
|
-
{
|
|
47
|
-
...productProperties
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
9
|
const destination = {
|
|
53
10
|
name: 'TikTok Offline Conversions',
|
|
54
11
|
slug: 'actions-tiktok-offline-conversions',
|
|
@@ -58,14 +15,14 @@ const destination = {
|
|
|
58
15
|
fields: {
|
|
59
16
|
accessToken: {
|
|
60
17
|
label: 'Access Token',
|
|
61
|
-
description: 'Your TikTok Access Token. Please see TikTok’s [Events API
|
|
18
|
+
description: 'Your TikTok Access Token. Please see TikTok’s [Events API documentation](https://ads.tiktok.com/marketing_api/docs?rid=mcxl4tclmfa&id=1758051319816193) for information on how to generate an access token via the TikTok Ads Manager or API.',
|
|
62
19
|
type: 'string',
|
|
63
20
|
required: true
|
|
64
21
|
},
|
|
65
22
|
eventSetID: {
|
|
66
23
|
label: 'Event Set ID',
|
|
67
24
|
type: 'string',
|
|
68
|
-
description: 'Your TikTok Offline Event Set ID. Please see TikTok’s [Events API
|
|
25
|
+
description: 'Your TikTok Offline Event Set ID. Please see TikTok’s [Events API documentation](https://ads.tiktok.com/marketing_api/docs?rid=mcxl4tclmfa&id=1758051319816193) for information on how to find this value.',
|
|
69
26
|
required: true
|
|
70
27
|
}
|
|
71
28
|
},
|
|
@@ -92,159 +49,48 @@ const destination = {
|
|
|
92
49
|
presets: [
|
|
93
50
|
{
|
|
94
51
|
name: 'Complete Payment',
|
|
95
|
-
subscribe: 'event = "
|
|
96
|
-
partnerAction: '
|
|
52
|
+
subscribe: 'type = "track" and event = "Order Completed"',
|
|
53
|
+
partnerAction: 'trackPaymentOfflineConversion',
|
|
97
54
|
mapping: {
|
|
98
|
-
...
|
|
55
|
+
...actions_core_1.defaultValues(trackPaymentOfflineConversion_1.default.fields),
|
|
99
56
|
event: 'CompletePayment'
|
|
100
57
|
},
|
|
101
58
|
type: 'automatic'
|
|
102
59
|
},
|
|
103
60
|
{
|
|
104
61
|
name: 'Contact',
|
|
105
|
-
subscribe: 'event = "
|
|
106
|
-
partnerAction: '
|
|
62
|
+
subscribe: 'type = "track" and event = "User Contacted Call Center"',
|
|
63
|
+
partnerAction: 'trackNonPaymentOfflineConversion',
|
|
107
64
|
mapping: {
|
|
108
|
-
...actions_core_1.defaultValues(
|
|
65
|
+
...actions_core_1.defaultValues(trackNonPaymentOfflineConversion_1.default.fields),
|
|
109
66
|
event: 'Contact'
|
|
110
67
|
},
|
|
111
68
|
type: 'automatic'
|
|
112
69
|
},
|
|
113
70
|
{
|
|
114
71
|
name: 'Subscribe',
|
|
115
|
-
subscribe: 'event = "
|
|
116
|
-
partnerAction: '
|
|
72
|
+
subscribe: 'type = "track" and event = "User Subscribed In Store"',
|
|
73
|
+
partnerAction: 'trackNonPaymentOfflineConversion',
|
|
117
74
|
mapping: {
|
|
118
|
-
...actions_core_1.defaultValues(
|
|
75
|
+
...actions_core_1.defaultValues(trackNonPaymentOfflineConversion_1.default.fields),
|
|
119
76
|
event: 'Subscribe'
|
|
120
77
|
},
|
|
121
78
|
type: 'automatic'
|
|
122
79
|
},
|
|
123
80
|
{
|
|
124
81
|
name: 'Submit Form',
|
|
125
|
-
subscribe: 'event = "Form Submitted"',
|
|
126
|
-
partnerAction: '
|
|
82
|
+
subscribe: 'type = "track" and event = "Form Submitted"',
|
|
83
|
+
partnerAction: 'trackNonPaymentOfflineConversion',
|
|
127
84
|
mapping: {
|
|
128
|
-
...actions_core_1.defaultValues(
|
|
85
|
+
...actions_core_1.defaultValues(trackNonPaymentOfflineConversion_1.default.fields),
|
|
129
86
|
event: 'SubmitForm'
|
|
130
87
|
},
|
|
131
88
|
type: 'automatic'
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
name: 'Page View',
|
|
135
|
-
subscribe: 'type="page"',
|
|
136
|
-
partnerAction: 'reportOfflineEvent',
|
|
137
|
-
mapping: {
|
|
138
|
-
...multiProductContents,
|
|
139
|
-
event: 'PageView'
|
|
140
|
-
},
|
|
141
|
-
type: 'automatic'
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: 'View Content',
|
|
145
|
-
subscribe: 'event = "Product Viewed"',
|
|
146
|
-
partnerAction: 'reportOfflineEvent',
|
|
147
|
-
mapping: {
|
|
148
|
-
...singleProductContents,
|
|
149
|
-
event: 'ViewContent'
|
|
150
|
-
},
|
|
151
|
-
type: 'automatic'
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
name: 'Click Button',
|
|
155
|
-
subscribe: 'event = "Product Clicked"',
|
|
156
|
-
partnerAction: 'reportOfflineEvent',
|
|
157
|
-
mapping: {
|
|
158
|
-
...singleProductContents,
|
|
159
|
-
event: 'ClickButton'
|
|
160
|
-
},
|
|
161
|
-
type: 'automatic'
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
name: 'Search',
|
|
165
|
-
subscribe: 'event = "Products Searched"',
|
|
166
|
-
partnerAction: 'reportOfflineEvent',
|
|
167
|
-
mapping: {
|
|
168
|
-
...singleProductContents,
|
|
169
|
-
event: 'Search'
|
|
170
|
-
},
|
|
171
|
-
type: 'automatic'
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
name: 'Add to Wishlist',
|
|
175
|
-
subscribe: 'event = "Product Added to Wishlist"',
|
|
176
|
-
partnerAction: 'reportOfflineEvent',
|
|
177
|
-
mapping: {
|
|
178
|
-
...singleProductContents,
|
|
179
|
-
event: 'AddToWishlist'
|
|
180
|
-
},
|
|
181
|
-
type: 'automatic'
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
name: 'Add to Cart',
|
|
185
|
-
subscribe: 'event = "Product Added"',
|
|
186
|
-
partnerAction: 'reportOfflineEvent',
|
|
187
|
-
mapping: {
|
|
188
|
-
...singleProductContents,
|
|
189
|
-
event: 'AddToCart'
|
|
190
|
-
},
|
|
191
|
-
type: 'automatic'
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
name: 'Initiate Checkout',
|
|
195
|
-
subscribe: 'event = "Checkout Started"',
|
|
196
|
-
partnerAction: 'reportOfflineEvent',
|
|
197
|
-
mapping: {
|
|
198
|
-
...multiProductContents,
|
|
199
|
-
event: 'InitiateCheckout'
|
|
200
|
-
},
|
|
201
|
-
type: 'automatic'
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: 'Add Payment Info',
|
|
205
|
-
subscribe: 'event = "Payment Info Entered"',
|
|
206
|
-
partnerAction: 'reportOfflineEvent',
|
|
207
|
-
mapping: {
|
|
208
|
-
...multiProductContents,
|
|
209
|
-
event: 'AddPaymentInfo'
|
|
210
|
-
},
|
|
211
|
-
type: 'automatic'
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
name: 'Place an Order',
|
|
215
|
-
subscribe: 'event = "Order Completed"',
|
|
216
|
-
partnerAction: 'reportOfflineEvent',
|
|
217
|
-
mapping: {
|
|
218
|
-
...multiProductContents,
|
|
219
|
-
event: 'PlaceAnOrder'
|
|
220
|
-
},
|
|
221
|
-
type: 'automatic'
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
name: 'Download',
|
|
225
|
-
subscribe: 'event = "Download Link Clicked"',
|
|
226
|
-
partnerAction: 'reportOfflineEvent',
|
|
227
|
-
mapping: {
|
|
228
|
-
...actions_core_1.defaultValues(reportOfflineEvent_1.default.fields),
|
|
229
|
-
event: 'Download'
|
|
230
|
-
},
|
|
231
|
-
type: 'automatic'
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
name: 'Complete Registration',
|
|
235
|
-
subscribe: 'event = "Signed Up"',
|
|
236
|
-
partnerAction: 'reportOfflineEvent',
|
|
237
|
-
mapping: {
|
|
238
|
-
...actions_core_1.defaultValues(reportOfflineEvent_1.default.fields),
|
|
239
|
-
event: 'CompleteRegistration'
|
|
240
|
-
},
|
|
241
|
-
type: 'automatic'
|
|
242
89
|
}
|
|
243
90
|
],
|
|
244
91
|
actions: {
|
|
245
92
|
trackPaymentOfflineConversion: trackPaymentOfflineConversion_1.default,
|
|
246
|
-
trackNonPaymentOfflineConversion: trackNonPaymentOfflineConversion_1.default
|
|
247
|
-
reportOfflineEvent: reportOfflineEvent_1.default
|
|
93
|
+
trackNonPaymentOfflineConversion: trackNonPaymentOfflineConversion_1.default
|
|
248
94
|
}
|
|
249
95
|
};
|
|
250
96
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,oGAA2E;AAC3E,0GAAiF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,oGAA2E;AAC3E,0GAAiF;AAEjF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,+OAA+O;gBACjP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,4MAA4M;gBAC9M,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,OAAO,OAAO,CAAC,8DAA8D,EAAE;gBAC7E,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACJ,YAAY,EAAE,QAAQ,CAAC,UAAU;oBACjC,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAA;QACJ,CAAC;KACF;IACD,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,cAAc,EAAE,QAAQ,CAAC,WAAW;gBACpC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,8CAA8C;YACzD,aAAa,EAAE,+BAA+B;YAC9C,OAAO,EAAE;gBACP,GAAG,4BAAa,CAAC,uCAA6B,CAAC,MAAM,CAAC;gBACtD,KAAK,EAAE,iBAAiB;aACzB;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,yDAAyD;YACpE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE;gBACP,GAAG,4BAAa,CAAC,0CAAgC,CAAC,MAAM,CAAC;gBACzD,KAAK,EAAE,SAAS;aACjB;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,uDAAuD;YAClE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE;gBACP,GAAG,4BAAa,CAAC,0CAAgC,CAAC,MAAM,CAAC;gBACzD,KAAK,EAAE,WAAW;aACnB;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,6CAA6C;YACxD,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE;gBACP,GAAG,4BAAa,CAAC,0CAAgC,CAAC,MAAM,CAAC;gBACzD,KAAK,EAAE,YAAY;aACpB;YACD,IAAI,EAAE,WAAW;SAClB;KACF;IACD,OAAO,EAAE;QACP,6BAA6B,EAA7B,uCAA6B;QAC7B,gCAAgC,EAAhC,0CAAgC;KACjC;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -1,33 +1,10 @@
|
|
|
1
1
|
export interface Payload {
|
|
2
2
|
event: string;
|
|
3
3
|
event_id?: string;
|
|
4
|
-
timestamp
|
|
4
|
+
timestamp: string;
|
|
5
5
|
phone_numbers?: string[];
|
|
6
6
|
email_addresses?: string[];
|
|
7
7
|
order_id?: string;
|
|
8
8
|
shop_id?: string;
|
|
9
|
-
|
|
10
|
-
ttclid?: string;
|
|
11
|
-
ttp?: string;
|
|
12
|
-
lead_id?: string;
|
|
13
|
-
locale?: string;
|
|
14
|
-
url?: string;
|
|
15
|
-
referrer?: string;
|
|
16
|
-
ip?: string;
|
|
17
|
-
user_agent?: string;
|
|
18
|
-
contents?: {
|
|
19
|
-
price?: number;
|
|
20
|
-
quantity?: number;
|
|
21
|
-
content_category?: string;
|
|
22
|
-
content_id?: string;
|
|
23
|
-
content_name?: string;
|
|
24
|
-
brand?: string;
|
|
25
|
-
}[];
|
|
26
|
-
content_type?: string;
|
|
27
|
-
currency?: string;
|
|
28
|
-
value?: number;
|
|
29
|
-
description?: string;
|
|
30
|
-
query?: string;
|
|
31
|
-
limited_data_use?: boolean;
|
|
32
|
-
test_event_code?: string;
|
|
9
|
+
event_channel?: string;
|
|
33
10
|
}
|
package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js
CHANGED
|
@@ -1,15 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
3
4
|
const common_fields_1 = require("../common_fields");
|
|
4
|
-
const
|
|
5
|
+
const formatter_1 = require("../formatter");
|
|
5
6
|
const action = {
|
|
6
|
-
title: '
|
|
7
|
-
description:
|
|
7
|
+
title: 'Track Non Payment Offline Conversion',
|
|
8
|
+
description: 'Send a non payment related event to the TikTok Offline Conversions API',
|
|
8
9
|
fields: {
|
|
9
10
|
...common_fields_1.commonFields
|
|
10
11
|
},
|
|
11
12
|
perform: (request, { payload, settings }) => {
|
|
12
|
-
|
|
13
|
+
const phone_numbers = formatter_1.formatPhones(payload.phone_numbers);
|
|
14
|
+
const emails = formatter_1.formatEmails(payload.email_addresses);
|
|
15
|
+
if (phone_numbers.length < 1 && emails.length < 1)
|
|
16
|
+
throw new actions_core_1.PayloadValidationError('TikTok Offline Conversions API requires an email address and/or phone number');
|
|
17
|
+
return request('https://business-api.tiktok.com/open_api/v1.3/offline/track/', {
|
|
18
|
+
method: 'post',
|
|
19
|
+
json: {
|
|
20
|
+
event_set_id: settings.eventSetID,
|
|
21
|
+
event: payload.event,
|
|
22
|
+
event_id: payload.event_id ? `${payload.event_id}` : undefined,
|
|
23
|
+
timestamp: payload.timestamp,
|
|
24
|
+
context: {
|
|
25
|
+
user: {
|
|
26
|
+
phone_numbers,
|
|
27
|
+
emails
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
properties: {
|
|
31
|
+
order_id: payload.order_id,
|
|
32
|
+
shop_id: payload.shop_id,
|
|
33
|
+
event_channel: payload.event_channel
|
|
34
|
+
},
|
|
35
|
+
partner_name: 'Segment'
|
|
36
|
+
}
|
|
37
|
+
});
|
|
13
38
|
}
|
|
14
39
|
};
|
|
15
40
|
exports.default = action;
|
package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;AAAA,wDAAgF;AAGhF,oDAA+C;AAC/C,4CAAyD;AAEzD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,MAAM,aAAa,GAAG,wBAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,wBAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAEpD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAC/C,MAAM,IAAI,qCAAsB,CAAC,8EAA8E,CAAC,CAAA;QAElH,OAAO,OAAO,CAAC,8DAA8D,EAAE;YAC7E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,YAAY,EAAE,QAAQ,CAAC,UAAU;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC9D,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,aAAa;wBACb,MAAM;qBACP;iBACF;gBACD,UAAU,EAAE;oBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC;gBACD,YAAY,EAAE,SAAS;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|