@metarouter/ajs-starter-kit 1.0.105 → 1.0.106
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/adobe-analytics/connection.etag.json +1 -1
- package/.dist/adobe-analytics/connection.json +4 -0
- package/.dist/adobe-analytics/kit.etag.json +1 -1
- package/.dist/adobe-analytics/metadata.json +4 -0
- package/.dist/adobe-analytics/playbook.etag.json +1 -1
- package/.dist/adobe-analytics/playbook.json +206 -4
- package/.dist/google-cm360/kit.etag.json +1 -1
- package/.dist/google-cm360/metadata.json +7 -3
- package/.dist/google-cm360/playbook.etag.json +1 -1
- package/.dist/google-cm360/playbook.json +1 -1
- package/.dist/iterable/connection.etag.json +1 -0
- package/.dist/iterable/connection.json +135 -0
- package/.dist/iterable/kit.etag.json +1 -0
- package/.dist/iterable/metadata.json +24 -0
- package/.dist/iterable/playbook.etag.json +1 -0
- package/.dist/iterable/playbook.json +155 -0
- package/.dist/x-ads/kit.etag.json +1 -1
- package/.dist/x-ads/metadata.json +5 -1
- package/.dist/x-ads/playbook.etag.json +1 -1
- package/.dist/x-ads/playbook.json +1 -1
- package/.dist/zeotap/connection.etag.json +1 -1
- package/.dist/zeotap/connection.json +10 -10
- package/.dist/zeotap/kit.etag.json +1 -1
- package/.dist/zeotap/metadata.json +5 -1
- package/.dist/zeotap/playbook.etag.json +1 -1
- package/.dist/zeotap/playbook.json +7 -9
- package/README.md +10 -8
- package/index.js +11 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"85228b2378ded68a4c47c6d4ea35ff9d"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"de54cca1a8477e5b71dc239ebf259eb7"
|
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
{
|
|
28
28
|
"date": "2024-08-21T00:00:00.000Z",
|
|
29
29
|
"note": "Version: 0.3.0\nRemoving Bearer Header\nAdding oAuth\nUpdated friendly name"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"date": "2024-09-25T00:00:00.000Z",
|
|
33
|
+
"note": "Version: 0.4.0\nAdding additional parameters\nAdding additional events:\n order completed\n cart viewed\n product added\n product removed\n product viewed"
|
|
30
34
|
}
|
|
31
35
|
]
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"588702c0127eea405ad4e8b7c588a102"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.4.0",
|
|
3
3
|
"default": {
|
|
4
4
|
"filters": [
|
|
5
5
|
{
|
|
@@ -32,15 +32,43 @@
|
|
|
32
32
|
"transforms": [
|
|
33
33
|
{
|
|
34
34
|
"expression": {
|
|
35
|
-
"body": "
|
|
35
|
+
"body": "local email = input.context.traits.email\nif email then\n return {{ id = TO_SHA256_HASH(LOWER(TRIM(email))), primary = false }}\nend\nreturn",
|
|
36
36
|
"lang": "lua"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
]
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
"inputKey": "
|
|
43
|
-
"outputKey": "event.xdm.timestamp"
|
|
42
|
+
"inputKey": "input",
|
|
43
|
+
"outputKey": "event.xdm.timestamp",
|
|
44
|
+
"transforms": [
|
|
45
|
+
{
|
|
46
|
+
"expression": {
|
|
47
|
+
"lang": "lua",
|
|
48
|
+
"body": "return SECONDS_SINCE_EPOCH_FROM_RFC3999(input.timestamp)"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputKey": "messageId",
|
|
55
|
+
"outputKey": "event.xdm._id"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputKey": "context.locale",
|
|
59
|
+
"outputKey": "event.xdm.environment.language"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"inputKey": "context.locale",
|
|
63
|
+
"outputKey": "event.xdm.environment.browserDetails.acceptLanguage"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"inputKey": "context.userAgent",
|
|
67
|
+
"outputKey": "event.xdm.environment.browserDetails.userAgent"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"inputKey": "context.ip",
|
|
71
|
+
"outputKey": "event.xdm.environment.ipV4"
|
|
44
72
|
}
|
|
45
73
|
]
|
|
46
74
|
},
|
|
@@ -66,6 +94,180 @@
|
|
|
66
94
|
"outputKey": "event.data.prop1"
|
|
67
95
|
}
|
|
68
96
|
]
|
|
97
|
+
},
|
|
98
|
+
"product_added": {
|
|
99
|
+
"enrichments": [
|
|
100
|
+
{
|
|
101
|
+
"outputKey": "event.xdm.eventType",
|
|
102
|
+
"staticString": "commerce.productListAdds"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"outputKey": "event.xdm.commerce.productListAdds.value",
|
|
106
|
+
"staticInt": 1
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"mappings": [
|
|
110
|
+
{
|
|
111
|
+
"inputKey": "properties.cart_id",
|
|
112
|
+
"outputKey": "event.xdm.commerce.cart.cartID"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"inputKey": "messageId",
|
|
116
|
+
"outputKey": "event.xdm.commerce.productListAdds.id"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"inputKey": "input",
|
|
120
|
+
"outputKey": "event.xdm.productListItems",
|
|
121
|
+
"transforms": [
|
|
122
|
+
{
|
|
123
|
+
"expression": {
|
|
124
|
+
"lang": "lua",
|
|
125
|
+
"body": "local productCategories = { { categoryID = input.properties.category } }\nreturn {{\n productCategories = productCategories,\n SKU = input.properties.sku,\n name = input.properties.name,\n priceTotal = input.properties.price * input.properties.quantity,\n quantity = input.properties.quantity\n}}"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"order_completed": {
|
|
133
|
+
"enrichments": [
|
|
134
|
+
{
|
|
135
|
+
"outputKey": "event.xdm.eventType",
|
|
136
|
+
"staticString": "commerce.purchases"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"outputKey": "event.xdm.commerce.purchases.value",
|
|
140
|
+
"staticInt": 1
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"mappings": [
|
|
144
|
+
{
|
|
145
|
+
"inputKey": "properties.order_id",
|
|
146
|
+
"outputKey": "event.xdm.commerce.order.payments.transactionID"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"inputKey": "properties.currency",
|
|
150
|
+
"outputKey": "event.xdm.commerce.order.currencyCode"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"inputKey": "properties.order_id",
|
|
154
|
+
"outputKey": "event.xdm.commerce.order.purchaseID"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"inputKey": "messageId",
|
|
158
|
+
"outputKey": "event.xdm.commerce.purchases.id"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"inputKey": "input",
|
|
162
|
+
"outputKey": "event.xdm.productListItems",
|
|
163
|
+
"transforms": [
|
|
164
|
+
{
|
|
165
|
+
"expression": {
|
|
166
|
+
"lang": "lua",
|
|
167
|
+
"body": "return MAP(input.properties.products, function(p)\n local productCategories = { { categoryID = p.category } }\n return {\n productCategories = productCategories,\n SKU = p.sku,\n name = p.name,\n priceTotal = p.price * (p.quantity or 1),\n quantity = p.quantity or 1\n }\nend)"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"cart_viewed": {
|
|
175
|
+
"enrichments": [
|
|
176
|
+
{
|
|
177
|
+
"outputKey": "event.xdm.eventType",
|
|
178
|
+
"staticString": "commerce.productListViews"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"outputKey": "event.xdm.commerce.productListViews.value",
|
|
182
|
+
"staticInt": 1
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
"mappings": [
|
|
186
|
+
{
|
|
187
|
+
"inputKey": "properties.cart_id",
|
|
188
|
+
"outputKey": "event.xdm.commerce.cart.cartID"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"inputKey": "messageId",
|
|
192
|
+
"outputKey": "event.xdm.commerce.productListViews.id"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"inputKey": "input",
|
|
196
|
+
"outputKey": "event.xdm.productListItems",
|
|
197
|
+
"transforms": [
|
|
198
|
+
{
|
|
199
|
+
"expression": {
|
|
200
|
+
"lang": "lua",
|
|
201
|
+
"body": "return MAP(input.properties.products, function(p)\n local productCategories = { { categoryID = p.category } }\n return {\n productCategories = productCategories,\n SKU = p.sku,\n name = p.name,\n priceTotal = p.price * (p.quantity or 1),\n quantity = p.quantity or 1\n }\nend)"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"product_removed": {
|
|
209
|
+
"enrichments": [
|
|
210
|
+
{
|
|
211
|
+
"outputKey": "event.xdm.eventType",
|
|
212
|
+
"staticString": "commerce.productListRemovals"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"outputKey": "event.xdm.commerce.productListRemovals.value",
|
|
216
|
+
"staticInt": 1
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"mappings": [
|
|
220
|
+
{
|
|
221
|
+
"inputKey": "properties.cart_id",
|
|
222
|
+
"outputKey": "event.xdm.commerce.cart.cartID"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"inputKey": "messageId",
|
|
226
|
+
"outputKey": "event.xdm.commerce.productListRemovals.id"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"inputKey": "input",
|
|
230
|
+
"outputKey": "event.xdm.productListItems",
|
|
231
|
+
"transforms": [
|
|
232
|
+
{
|
|
233
|
+
"expression": {
|
|
234
|
+
"lang": "lua",
|
|
235
|
+
"body": "local productCategories = { { categoryID = input.properties.category } }\nreturn {{\n productCategories = productCategories,\n SKU = input.properties.sku,\n name = input.properties.name,\n priceTotal = input.properties.price * input.properties.quantity,\n quantity = input.properties.quantity\n}}"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
"product_viewed": {
|
|
243
|
+
"enrichments": [
|
|
244
|
+
{
|
|
245
|
+
"outputKey": "event.xdm.eventType",
|
|
246
|
+
"staticString": "commerce.productViews"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"outputKey": "event.xdm.commerce.productViews.value",
|
|
250
|
+
"staticInt": 1
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"mappings": [
|
|
254
|
+
{
|
|
255
|
+
"inputKey": "messageId",
|
|
256
|
+
"outputKey": "event.xdm.commerce.productViews.id"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"inputKey": "input",
|
|
260
|
+
"outputKey": "event.xdm.productListItems",
|
|
261
|
+
"transforms": [
|
|
262
|
+
{
|
|
263
|
+
"expression": {
|
|
264
|
+
"lang": "lua",
|
|
265
|
+
"body": "local productCategories = { { categoryID = input.properties.category } }\nreturn {{\n productCategories = productCategories,\n SKU = input.properties.sku,\n name = input.properties.name,\n priceTotal = input.properties.price * input.properties.quantity,\n quantity = input.properties.quantity\n}}"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
]
|
|
69
271
|
}
|
|
70
272
|
}
|
|
71
273
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"47c697f9302155341d749f19a62ba67c"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"isDraft": false,
|
|
3
3
|
"isBeta": true,
|
|
4
|
-
"friendlyName": "
|
|
5
|
-
"description": "
|
|
4
|
+
"friendlyName": "CM360 - Floodlights",
|
|
5
|
+
"description": "Google Marketing Platform tool that enables advertisers to manage and measure their digital ads campaigns across various online advertising channels.",
|
|
6
6
|
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
7
|
-
"color": "#
|
|
7
|
+
"color": "#0F9D58",
|
|
8
8
|
"eventSource": {
|
|
9
9
|
"isAndroidApp": true,
|
|
10
10
|
"isIosApp": true,
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
{
|
|
36
36
|
"date": "2024-08-22T00:00:00.000Z",
|
|
37
37
|
"note": "Version 0.3.0\ntimestamp field is used as the event time"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"date": "2024-09-25T00:00:00.000Z",
|
|
41
|
+
"note": "Version 0.4.0\nFriendly name renaming\nDescription and color updated"
|
|
38
42
|
}
|
|
39
43
|
]
|
|
40
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"4a127dcb2b4f1b96ce0d913562f718f6"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"c60cb71c30e0faf3b4b77d06d56d2149"
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"params": [
|
|
3
|
+
{
|
|
4
|
+
"name": "API_KEY",
|
|
5
|
+
"exampleValue": "my-api-key"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "API_BASE_URL",
|
|
9
|
+
"exampleValue": "my-api-base-url",
|
|
10
|
+
"defaultValue": "https://api.iterable.com"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"default": {
|
|
14
|
+
"endpoint": "$$API_BASE_URL$$/api/events/track",
|
|
15
|
+
"method": "POST",
|
|
16
|
+
"headers": [
|
|
17
|
+
{
|
|
18
|
+
"key": "Content-Type",
|
|
19
|
+
"value": "application/json"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"key": "Accept-Encoding",
|
|
23
|
+
"value": "application/json"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"key": "X-Forwarded-For",
|
|
27
|
+
"fromEventKey": "context.ip"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"key": "User-Agent",
|
|
31
|
+
"fromEventKey": "context.userAgent"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"key": "Api-User-Agent",
|
|
35
|
+
"value": "MetaRouter/integration/1.0.0"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "Api-Key",
|
|
39
|
+
"value": "$$API_KEY$$"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"eventSpecific": {
|
|
44
|
+
"identify": {
|
|
45
|
+
"endpoint": "$$API_BASE_URL$$/api/users/update",
|
|
46
|
+
"method": "POST",
|
|
47
|
+
"headers": [
|
|
48
|
+
{
|
|
49
|
+
"key": "Content-Type",
|
|
50
|
+
"value": "application/json"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"key": "Accept-Encoding",
|
|
54
|
+
"value": "application/json"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"key": "X-Forwarded-For",
|
|
58
|
+
"fromEventKey": "context.ip"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"key": "User-Agent",
|
|
62
|
+
"fromEventKey": "context.userAgent"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"key": "Api-User-Agent",
|
|
66
|
+
"value": "MetaRouter/integration/1.0.0"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"key": "Api-Key",
|
|
70
|
+
"value": "$$API_KEY$$"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"product_added": {
|
|
75
|
+
"endpoint": "$$API_BASE_URL$$/api/commerce/updateCart",
|
|
76
|
+
"method": "POST",
|
|
77
|
+
"headers": [
|
|
78
|
+
{
|
|
79
|
+
"key": "Content-Type",
|
|
80
|
+
"value": "application/json"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"key": "Accept-Encoding",
|
|
84
|
+
"value": "application/json"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"key": "X-Forwarded-For",
|
|
88
|
+
"fromEventKey": "context.ip"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"key": "User-Agent",
|
|
92
|
+
"fromEventKey": "context.userAgent"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"key": "Api-User-Agent",
|
|
96
|
+
"value": "MetaRouter/integration/1.0.0"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"key": "Api-Key",
|
|
100
|
+
"value": "$$API_KEY$$"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"order_completed": {
|
|
105
|
+
"endpoint": "$$API_BASE_URL$$/api/commerce/trackPurchase",
|
|
106
|
+
"method": "POST",
|
|
107
|
+
"headers": [
|
|
108
|
+
{
|
|
109
|
+
"key": "Content-Type",
|
|
110
|
+
"value": "application/json"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"key": "Accept-Encoding",
|
|
114
|
+
"value": "application/json"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"key": "X-Forwarded-For",
|
|
118
|
+
"fromEventKey": "context.ip"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"key": "User-Agent",
|
|
122
|
+
"fromEventKey": "context.userAgent"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"key": "Api-User-Agent",
|
|
126
|
+
"value": "MetaRouter/integration/1.0.0"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"key": "Api-Key",
|
|
130
|
+
"value": "$$API_KEY$$"
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"496fbb8a6ca823ec3bbe0d72d97bd038"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isBeta": true,
|
|
4
|
+
"friendlyName": "Iterable",
|
|
5
|
+
"description": "Iterable is a customer engagement platform that enables brands to create, execute, and optimize cross-channel marketing campaigns.",
|
|
6
|
+
"logo": "https://cdn.metarouter.io/iterable.png",
|
|
7
|
+
"color": "#3258FF",
|
|
8
|
+
"eventSource": {
|
|
9
|
+
"isAndroidApp": false,
|
|
10
|
+
"isIosApp": false,
|
|
11
|
+
"isWebApp": true
|
|
12
|
+
},
|
|
13
|
+
"inputSchema": "analytics_js",
|
|
14
|
+
"releaseNotes": [
|
|
15
|
+
{
|
|
16
|
+
"date": "2024-09-25T21:00:00.000Z",
|
|
17
|
+
"note": "Version: 0.1.0\nBeta Version\nIterable initial release"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "2024-09-25T21:00:00.000Z",
|
|
21
|
+
"note": "Version: 0.2.0\nUpdate endpoint for identify event\nInclude IP and userAgent in dataFields"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"2034696c9313bc0af010d08e6f167e4d"
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"global": {
|
|
4
|
+
"enrichments": [
|
|
5
|
+
{
|
|
6
|
+
"staticBool": true,
|
|
7
|
+
"outputKey": "createNewFields"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"mappings": [
|
|
11
|
+
{
|
|
12
|
+
"inputKey": "messageId",
|
|
13
|
+
"outputKey": "id"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"inputKey": "input",
|
|
17
|
+
"outputKey": "createdAt",
|
|
18
|
+
"transforms": [
|
|
19
|
+
{
|
|
20
|
+
"expression": {
|
|
21
|
+
"lang": "lua",
|
|
22
|
+
"body": "return SECONDS_SINCE_EPOCH_FROM_RFC3999(input.timestamp)"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"default": {
|
|
30
|
+
"mappings": [
|
|
31
|
+
{
|
|
32
|
+
"inputKey": "traits.email",
|
|
33
|
+
"outputKey": "email"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"inputKey": "anonymousId",
|
|
37
|
+
"outputKey": "userId"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"inputKey": "input",
|
|
41
|
+
"outputKey": "eventName",
|
|
42
|
+
"transforms": [
|
|
43
|
+
{
|
|
44
|
+
"expression": {
|
|
45
|
+
"lang": "lua",
|
|
46
|
+
"body": "if input.type == \"track\" then\n return input.event\nend\nreturn input.type"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"inputKey": "properties",
|
|
53
|
+
"outputKey": "dataFields"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"eventSpecific": {
|
|
58
|
+
"identify": {
|
|
59
|
+
"mappings": [
|
|
60
|
+
{
|
|
61
|
+
"inputKey": "traits.email",
|
|
62
|
+
"outputKey": "email"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"inputKey": "anonymousId",
|
|
66
|
+
"outputKey": "userId"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"inputKey": "properties",
|
|
70
|
+
"outputKey": "dataFields"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"inputKey": "context.ip",
|
|
74
|
+
"outputKey": "dataFields.ip"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"inputKey": "context.userAgent",
|
|
78
|
+
"outputKey": "dataFields.userAgent"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"order_completed": {
|
|
83
|
+
"mappings": [
|
|
84
|
+
{
|
|
85
|
+
"inputKey": "traits.email",
|
|
86
|
+
"outputKey": "user.email"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputKey": "anonymousId",
|
|
90
|
+
"outputKey": "user.userId"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"inputKey": "input",
|
|
94
|
+
"outputKey": "total",
|
|
95
|
+
"transforms": [
|
|
96
|
+
{
|
|
97
|
+
"expression": {
|
|
98
|
+
"lang": "lua",
|
|
99
|
+
"body": "local prods = input.properties.products or input.properties\nreturn SUM(\n MAP(prods,\n function (p)\n return (p.price or 0) * (p.quantity or 1)\n end)\n)"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"inputKey": "input",
|
|
106
|
+
"outputKey": "items",
|
|
107
|
+
"transforms": [
|
|
108
|
+
{
|
|
109
|
+
"expression": {
|
|
110
|
+
"lang": "lua",
|
|
111
|
+
"body": "local function get_content(p)\nreturn {\n id = p.product_id,\n sku = p.sku,\n name = p.name,\n categories = { p.category },\n price = p.price,\n quantity = p.quantity,\n imageUrl = p.image_url,\n url = p.url,\n}\nend\n\nlocal prods = input.properties.products or {input.properties}\nreturn MAP(prods, get_content)"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"inputKey": "input",
|
|
118
|
+
"outputKey": "dataFields",
|
|
119
|
+
"transforms": [
|
|
120
|
+
{
|
|
121
|
+
"expression": {
|
|
122
|
+
"lang": "lua",
|
|
123
|
+
"body": "local props = input.properties\nprops.products = nil\nreturn props"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"product_added": {
|
|
131
|
+
"mappings": [
|
|
132
|
+
{
|
|
133
|
+
"inputKey": "traits.email",
|
|
134
|
+
"outputKey": "user.email"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"inputKey": "anonymousId",
|
|
138
|
+
"outputKey": "user.userId"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"inputKey": "input",
|
|
142
|
+
"outputKey": "items",
|
|
143
|
+
"transforms": [
|
|
144
|
+
{
|
|
145
|
+
"expression": {
|
|
146
|
+
"lang": "lua",
|
|
147
|
+
"body": "local p = input.properties\nreturn {{\n id = p.product_id,\n sku = p.sku,\n name = p.name,\n categories = { p.category },\n price = p.price,\n quantity = p.quantity,\n imageUrl = p.image_url,\n url = p.url,\n}}"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"7a09e307602e7b276d59089a6b3e6d28"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"isDraft": false,
|
|
3
|
-
"isBeta":
|
|
3
|
+
"isBeta": false,
|
|
4
4
|
"friendlyName": "X Ads - Web Conversions",
|
|
5
5
|
"description": "X Ads is a digital advertising platform designed to help businesses reach and engage with their target audiences on X, formerly known as Twitter.",
|
|
6
6
|
"logo": "https://cdn.metarouter.io/x-ads.png",
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
{
|
|
16
16
|
"date": "2024-09-04T21:00:00.000Z",
|
|
17
17
|
"note": "Version: 0.1.0\nBeta Version\nX Ads initial release"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "2024-09-25T21:00:00.000Z",
|
|
21
|
+
"note": "Version: 1.0.0\nStable release"
|
|
18
22
|
}
|
|
19
23
|
]
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"e2d5f9c04c1ac695ffa566d45c888dd9"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"47ca86410616998fb5217b01a0f6394b"
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"params": [
|
|
3
3
|
{
|
|
4
|
-
"name": "
|
|
4
|
+
"name": "API_URL",
|
|
5
5
|
"isOptional": false,
|
|
6
|
-
"exampleValue": "my-
|
|
6
|
+
"exampleValue": "my-api-url"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
"name": "
|
|
9
|
+
"name": "WRITE_KEY",
|
|
10
10
|
"isOptional": false,
|
|
11
|
-
"exampleValue": "my-
|
|
11
|
+
"exampleValue": "my-write-key"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
"default": {
|
|
15
|
-
"endpoint": "$$
|
|
15
|
+
"endpoint": "$$API_URL$$",
|
|
16
16
|
"method": "POST",
|
|
17
17
|
"headers": [
|
|
18
18
|
{
|
|
19
19
|
"key": "Content-Type",
|
|
20
20
|
"value": "application/json"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"key": "Authorization",
|
|
24
|
-
"value": "Basic $$API_KEY$$"
|
|
25
21
|
}
|
|
26
|
-
]
|
|
22
|
+
],
|
|
23
|
+
"transform": {
|
|
24
|
+
"body": "request.headers[\"Authorization\"] = \"Basic \" .. BASE64_ENCODE(\"w_k:$$WRITE_KEY$$\") return request",
|
|
25
|
+
"lang": "lua"
|
|
26
|
+
}
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"6d9e44ff3933ba72b87b0367c50625f8"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"friendlyName": "Zeotap",
|
|
5
5
|
"description": "Zeotap is a secure Customer Data Platform that allows clients the ability to unify customer data now and in the cookieless future.",
|
|
6
6
|
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
7
|
-
"color": "#",
|
|
7
|
+
"color": "#094390",
|
|
8
8
|
"eventSource": {
|
|
9
9
|
"isAndroidApp": true,
|
|
10
10
|
"isIosApp": true,
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
{
|
|
16
16
|
"date": "2024-02-21T00:00:00.000Z",
|
|
17
17
|
"note": "Initial release; beta."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "2024-09-25T00:00:00.000Z",
|
|
21
|
+
"note": "Version 0.2.0\nParams renaming\nAuth header and playbook timestamp updates"
|
|
18
22
|
}
|
|
19
23
|
]
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"66f3383843cd907c7524a23adbcf051c"
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.2.0",
|
|
3
3
|
"global": {
|
|
4
|
+
"enrichments": [
|
|
5
|
+
{
|
|
6
|
+
"outputKey": "event_timestamp",
|
|
7
|
+
"timestamp": "milliseconds"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
4
10
|
"mappings": [
|
|
5
11
|
{
|
|
6
12
|
"inputKey": "messageId",
|
|
@@ -18,10 +24,6 @@
|
|
|
18
24
|
"inputKey": "anonymousId",
|
|
19
25
|
"outputKey": "anonymous_id"
|
|
20
26
|
},
|
|
21
|
-
{
|
|
22
|
-
"inputKey": "originalTimestamp",
|
|
23
|
-
"outputKey": "original_timestamp"
|
|
24
|
-
},
|
|
25
27
|
{
|
|
26
28
|
"inputKey": "receivedAt",
|
|
27
29
|
"outputKey": "received_at"
|
|
@@ -30,10 +32,6 @@
|
|
|
30
32
|
"inputKey": "sentAt",
|
|
31
33
|
"outputKey": "sent_at"
|
|
32
34
|
},
|
|
33
|
-
{
|
|
34
|
-
"inputKey": "timestamp",
|
|
35
|
-
"outputKey": "timestamp"
|
|
36
|
-
},
|
|
37
35
|
{
|
|
38
36
|
"inputKey": "integrations",
|
|
39
37
|
"outputKey": "integrations",
|
package/README.md
CHANGED
|
@@ -7,12 +7,15 @@ users visit, the actions they take on your property, and whether the user has be
|
|
|
7
7
|
previously.
|
|
8
8
|
## 2024-09
|
|
9
9
|
- ActionIQ
|
|
10
|
+
- Adobe Analytics - Experience (BETA)
|
|
11
|
+
- CM360 - Floodlights (BETA)
|
|
12
|
+
- Iterable (BETA)
|
|
10
13
|
- TikTok
|
|
11
14
|
- VideoAmp (BETA)
|
|
12
|
-
- X Ads - Web Conversions
|
|
15
|
+
- X Ads - Web Conversions
|
|
16
|
+
- Zeotap (BETA)
|
|
13
17
|
|
|
14
18
|
## 2024-08
|
|
15
|
-
- Adobe Analytics - Experience (BETA)
|
|
16
19
|
- AppsFlyer Android
|
|
17
20
|
- AppsFlyer iOS
|
|
18
21
|
- Webhooks
|
|
@@ -20,7 +23,6 @@ previously.
|
|
|
20
23
|
- Commission Junction
|
|
21
24
|
- Google Ads - Conversions
|
|
22
25
|
- Google BigQuery
|
|
23
|
-
- Google Campaign Manager (BETA)
|
|
24
26
|
- HubSpot (BETA)
|
|
25
27
|
- Impact Radius
|
|
26
28
|
- Magellan AI
|
|
@@ -54,7 +56,6 @@ previously.
|
|
|
54
56
|
- Kafka
|
|
55
57
|
- Amazon S3
|
|
56
58
|
- Treasure Data (BETA)
|
|
57
|
-
- Zeotap (BETA)
|
|
58
59
|
|
|
59
60
|
## 2024-01
|
|
60
61
|
- Firebase (BETA)
|
|
@@ -97,10 +98,13 @@ previously.
|
|
|
97
98
|
| Kit Name | Date | Latest Note |
|
|
98
99
|
|----------|------|-------------|
|
|
99
100
|
| ActionIQ | 2024-09 | Version: 1.1.0 Added endpoint details for screen events Added screen event mappings to the playbook |
|
|
101
|
+
| Adobe Analytics - Experience (BETA) | 2024-09 | Version: 0.4.0 Adding additional parameters Adding additional events: order completed cart viewed product added product removed product viewed |
|
|
102
|
+
| CM360 - Floodlights (BETA) | 2024-09 | Version 0.4.0 Friendly name renaming Description and color updated |
|
|
103
|
+
| Iterable (BETA) | 2024-09 | Version: 0.1.0 Beta Version Iterable initial release |
|
|
100
104
|
| TikTok | 2024-09 | Version: 2.1.0 Stable release |
|
|
101
105
|
| VideoAmp (BETA) | 2024-09 | Version 0.2.0 Added new GPP related mappings |
|
|
102
|
-
| X Ads - Web Conversions
|
|
103
|
-
|
|
|
106
|
+
| X Ads - Web Conversions | 2024-09 | Version: 1.0.0 Stable release |
|
|
107
|
+
| Zeotap (BETA) | 2024-09 | Version 0.2.0 Params renaming Auth header and playbook timestamp updates |
|
|
104
108
|
| AppsFlyer Android | 2024-08 | Version 1.1.0 timestamp field is used as the event time |
|
|
105
109
|
| AppsFlyer iOS | 2024-08 | Version 1.1.0 timestamp field is used as the event time |
|
|
106
110
|
| Webhooks | 2024-08 | Version: 1.0.0 Stable release |
|
|
@@ -108,7 +112,6 @@ previously.
|
|
|
108
112
|
| Commission Junction | 2024-08 | Version 1.1.0 timestamp field is used as the event time |
|
|
109
113
|
| Google Ads - Conversions | 2024-08 | Version 1.2.0 timestamp field is used as the event time |
|
|
110
114
|
| Google BigQuery | 2024-08 | Version: 1.0.0 Adding option to set datase creation mode to BIG_QUERY_OPTIONS_DISABLE_DATASET_CREATION This will allow users to create save events without having the bigquery.datasets.create permission in their IAM role |
|
|
111
|
-
| Google Campaign Manager (BETA) | 2024-08 | Version 0.3.0 timestamp field is used as the event time |
|
|
112
115
|
| HubSpot (BETA) | 2024-08 | Version 0.2.0 timestamp field is used as the event time |
|
|
113
116
|
| Impact Radius | 2024-08 | Version 1.1.0 timestamp field is used as the event time |
|
|
114
117
|
| Magellan AI | 2024-08 | Version: 1.0.0 Stable release |
|
|
@@ -132,7 +135,6 @@ previously.
|
|
|
132
135
|
| Kafka | 2024-02 | Removed Identity |
|
|
133
136
|
| Amazon S3 | 2024-02 | Removed Identity |
|
|
134
137
|
| Treasure Data (BETA) | 2024-02 | Initial release; beta. |
|
|
135
|
-
| Zeotap (BETA) | 2024-02 | Initial release; beta. |
|
|
136
138
|
| Firebase (BETA) | 2024-01 | google-firebase initial release. |
|
|
137
139
|
| Acuity Ads | 2023-12 | Stable release Marked as stable version: 1.0.0 |
|
|
138
140
|
| Adobe ID (BETA) | 2023-12 | Marked as unstable version: 0.1.0 |
|
package/index.js
CHANGED
|
@@ -249,6 +249,12 @@ exports['in-market'] = {
|
|
|
249
249
|
metadata: require('./.dist/in-market/metadata.json')
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
exports.iterable = {
|
|
253
|
+
endpointSchema: require('./.dist/iterable/connection.json'),
|
|
254
|
+
playbook: require('./.dist/iterable/playbook.json'),
|
|
255
|
+
metadata: require('./.dist/iterable/metadata.json')
|
|
256
|
+
}
|
|
257
|
+
|
|
252
258
|
exports.kochava = {
|
|
253
259
|
endpointSchema: require('./.dist/kochava/connection.json'),
|
|
254
260
|
playbook: require('./.dist/kochava/playbook.json'),
|
|
@@ -646,6 +652,11 @@ exports.etags = {
|
|
|
646
652
|
playbook: require('./.dist/in-market/playbook.etag.json'),
|
|
647
653
|
kit: require('./.dist/in-market/kit.etag.json')
|
|
648
654
|
},
|
|
655
|
+
iterable: {
|
|
656
|
+
endpointSchema: require('./.dist/iterable/connection.etag.json'),
|
|
657
|
+
playbook: require('./.dist/iterable/playbook.etag.json'),
|
|
658
|
+
kit: require('./.dist/iterable/kit.etag.json')
|
|
659
|
+
},
|
|
649
660
|
kochava: {
|
|
650
661
|
playbook: require('./.dist/kochava/playbook.etag.json'),
|
|
651
662
|
kit: require('./.dist/kochava/kit.etag.json')
|