@walkeros/server-destination-twitter 3.4.0-next-1776749829492

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.
@@ -0,0 +1,451 @@
1
+ {
2
+ "$meta": {
3
+ "package": "@walkeros/server-destination-twitter",
4
+ "version": "3.4.0-next-1776749829492",
5
+ "type": "destination",
6
+ "platform": [
7
+ "server"
8
+ ],
9
+ "docs": "https://www.walkeros.io/docs/destinations/server/twitter",
10
+ "source": "https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/twitter/src"
11
+ },
12
+ "schemas": {
13
+ "mapping": {
14
+ "$schema": "http://json-schema.org/draft-07/schema#",
15
+ "type": "object",
16
+ "properties": {
17
+ "eventId": {
18
+ "type": "string",
19
+ "description": "Override the default conversion event ID for this event"
20
+ },
21
+ "value": {
22
+ "anyOf": [
23
+ {
24
+ "type": "string"
25
+ },
26
+ {
27
+ "type": "number"
28
+ }
29
+ ],
30
+ "description": "Conversion monetary value (sent to X as a string)"
31
+ },
32
+ "currency": {
33
+ "type": "string",
34
+ "description": "ISO 4217 currency code (like USD, EUR)"
35
+ },
36
+ "number_items": {
37
+ "type": "integer",
38
+ "minimum": -9007199254740991,
39
+ "maximum": 9007199254740991,
40
+ "description": "Number of items in the conversion"
41
+ },
42
+ "description": {
43
+ "type": "string",
44
+ "description": "Free-text description of the conversion"
45
+ }
46
+ },
47
+ "additionalProperties": false
48
+ },
49
+ "settings": {
50
+ "$schema": "http://json-schema.org/draft-07/schema#",
51
+ "type": "object",
52
+ "properties": {
53
+ "pixelId": {
54
+ "type": "string",
55
+ "minLength": 1,
56
+ "description": "X Pixel ID used in the Conversions API endpoint URL"
57
+ },
58
+ "eventId": {
59
+ "type": "string",
60
+ "pattern": "^tw-[a-z0-9]+-[a-z0-9]+$",
61
+ "description": "Default pre-registered conversion event ID (like tw-xxxxx-xxxxx)"
62
+ },
63
+ "consumerKey": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "description": "OAuth 1.0a API Key (Consumer Key) for X Ads API"
67
+ },
68
+ "consumerSecret": {
69
+ "type": "string",
70
+ "minLength": 1,
71
+ "description": "OAuth 1.0a API Key Secret (Consumer Secret)"
72
+ },
73
+ "accessToken": {
74
+ "type": "string",
75
+ "minLength": 1,
76
+ "description": "OAuth 1.0a User Access Token"
77
+ },
78
+ "accessTokenSecret": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "description": "OAuth 1.0a User Access Token Secret"
82
+ },
83
+ "apiVersion": {
84
+ "type": "string",
85
+ "pattern": "^\\d+$",
86
+ "description": "X Ads API version number (like \"12\")"
87
+ },
88
+ "doNotHash": {
89
+ "type": "array",
90
+ "items": {
91
+ "type": "string"
92
+ },
93
+ "description": "Array of user data fields that should not be hashed (like ['email'])"
94
+ },
95
+ "url": {
96
+ "type": "string",
97
+ "format": "uri",
98
+ "description": "Custom base URL for the X Conversions API endpoint (like https://ads-api.x.com/)"
99
+ },
100
+ "user_data": {
101
+ "type": "object",
102
+ "propertyNames": {
103
+ "type": "string"
104
+ },
105
+ "additionalProperties": {
106
+ "type": "string"
107
+ },
108
+ "description": "Mapping configuration for user identifiers (like { email: 'user.email', twclid: 'context.twclid' })"
109
+ }
110
+ },
111
+ "required": [
112
+ "pixelId",
113
+ "eventId",
114
+ "consumerKey",
115
+ "consumerSecret",
116
+ "accessToken",
117
+ "accessTokenSecret"
118
+ ],
119
+ "additionalProperties": false
120
+ }
121
+ },
122
+ "examples": {
123
+ "env": {
124
+ "push": {
125
+ "sendServer": {
126
+ "$code": "async()=>({ok:!0,data:{request_id:\"mock-request-id\"}})"
127
+ }
128
+ },
129
+ "simulation": [
130
+ "sendServer"
131
+ ]
132
+ },
133
+ "step": {
134
+ "lead": {
135
+ "in": {
136
+ "name": "form submit",
137
+ "data": {
138
+ "string": "foo",
139
+ "number": 1,
140
+ "boolean": true,
141
+ "array": [
142
+ 0,
143
+ "text",
144
+ false
145
+ ]
146
+ },
147
+ "context": {
148
+ "dev": [
149
+ "test",
150
+ 1
151
+ ]
152
+ },
153
+ "globals": {
154
+ "lang": "elb"
155
+ },
156
+ "custom": {
157
+ "completely": "random"
158
+ },
159
+ "user": {
160
+ "email": "user@example.com"
161
+ },
162
+ "nested": [
163
+ {
164
+ "entity": "child",
165
+ "data": {
166
+ "is": "subordinated"
167
+ },
168
+ "nested": [],
169
+ "context": {
170
+ "element": [
171
+ "child",
172
+ 0
173
+ ]
174
+ }
175
+ }
176
+ ],
177
+ "consent": {
178
+ "functional": true
179
+ },
180
+ "id": "1700000901000-gr0up-1",
181
+ "trigger": "test",
182
+ "entity": "form",
183
+ "action": "submit",
184
+ "timestamp": 1700000901000,
185
+ "timing": 3.14,
186
+ "group": "gr0up",
187
+ "count": 1,
188
+ "version": {
189
+ "source": "3.4.0-next-1776749829492",
190
+ "tagging": 1
191
+ },
192
+ "source": {
193
+ "type": "server",
194
+ "id": "https://example.com",
195
+ "previous_id": ""
196
+ }
197
+ },
198
+ "out": [
199
+ [
200
+ "sendServer",
201
+ "https://ads-api.x.com/12/measurement/conversions/o8z6j",
202
+ "{\"conversions\":[{\"conversion_time\":\"2023-11-14T22:28:21.000Z\",\"event_id\":\"tw-o8z6j-o8z21\",\"identifiers\":[{\"hashed_email\":\"b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514\"}],\"conversion_id\":\"1700000901000-gr0up-1\"}]}",
203
+ {
204
+ "headers": {
205
+ "Authorization": "<OAUTH_SIGNATURE>",
206
+ "Content-Type": "application/json"
207
+ }
208
+ }
209
+ ]
210
+ ]
211
+ },
212
+ "purchase": {
213
+ "in": {
214
+ "name": "order complete",
215
+ "data": {
216
+ "total": 249.99,
217
+ "currency": "EUR"
218
+ },
219
+ "context": {
220
+ "shopping": [
221
+ "complete",
222
+ 0
223
+ ]
224
+ },
225
+ "globals": {
226
+ "pagegroup": "shop"
227
+ },
228
+ "custom": {
229
+ "completely": "random"
230
+ },
231
+ "user": {
232
+ "email": "jane@example.com"
233
+ },
234
+ "nested": [
235
+ {
236
+ "entity": "product",
237
+ "data": {
238
+ "id": "ers",
239
+ "name": "Everyday Ruck Snack",
240
+ "color": "black",
241
+ "size": "l",
242
+ "price": 420
243
+ },
244
+ "context": {
245
+ "shopping": [
246
+ "complete",
247
+ 0
248
+ ]
249
+ },
250
+ "nested": []
251
+ },
252
+ {
253
+ "entity": "product",
254
+ "data": {
255
+ "id": "cc",
256
+ "name": "Cool Cap",
257
+ "size": "one size",
258
+ "price": 42
259
+ },
260
+ "context": {
261
+ "shopping": [
262
+ "complete",
263
+ 0
264
+ ]
265
+ },
266
+ "nested": []
267
+ },
268
+ {
269
+ "entity": "gift",
270
+ "data": {
271
+ "name": "Surprise"
272
+ },
273
+ "context": {
274
+ "shopping": [
275
+ "complete",
276
+ 0
277
+ ]
278
+ },
279
+ "nested": []
280
+ }
281
+ ],
282
+ "consent": {
283
+ "functional": true
284
+ },
285
+ "id": "1700000900000-gr0up-1",
286
+ "trigger": "load",
287
+ "entity": "order",
288
+ "action": "complete",
289
+ "timestamp": 1700000900000,
290
+ "timing": 3.14,
291
+ "group": "gr0up",
292
+ "count": 1,
293
+ "version": {
294
+ "source": "3.4.0-next-1776749829492",
295
+ "tagging": 1
296
+ },
297
+ "source": {
298
+ "type": "server",
299
+ "id": "https://shop.example.com",
300
+ "previous_id": ""
301
+ }
302
+ },
303
+ "mapping": {
304
+ "settings": {
305
+ "value": "data.total",
306
+ "currency": {
307
+ "key": "data.currency",
308
+ "value": "EUR"
309
+ }
310
+ }
311
+ },
312
+ "out": [
313
+ [
314
+ "sendServer",
315
+ "https://ads-api.x.com/12/measurement/conversions/o8z6j",
316
+ "{\"conversions\":[{\"conversion_time\":\"2023-11-14T22:28:20.000Z\",\"event_id\":\"tw-o8z6j-o8z21\",\"identifiers\":[{\"hashed_email\":\"8c87b489ce35cf2e2f39f80e282cb2e804932a56a213983eeeb428407d43b52d\"}],\"conversion_id\":\"1700000900000-gr0up-1\",\"value\":\"249.99\"}]}",
317
+ {
318
+ "headers": {
319
+ "Authorization": "<OAUTH_SIGNATURE>",
320
+ "Content-Type": "application/json"
321
+ }
322
+ }
323
+ ]
324
+ ]
325
+ },
326
+ "purchaseWithTwclid": {
327
+ "in": {
328
+ "name": "order complete",
329
+ "data": {
330
+ "total": 89.99,
331
+ "currency": "USD"
332
+ },
333
+ "context": {
334
+ "twclid": [
335
+ "23opevjt88psuo13lu8d020qkn",
336
+ 0
337
+ ]
338
+ },
339
+ "globals": {
340
+ "pagegroup": "shop"
341
+ },
342
+ "custom": {
343
+ "completely": "random"
344
+ },
345
+ "user": {
346
+ "email": "buyer@co.com"
347
+ },
348
+ "nested": [
349
+ {
350
+ "entity": "product",
351
+ "data": {
352
+ "id": "ers",
353
+ "name": "Everyday Ruck Snack",
354
+ "color": "black",
355
+ "size": "l",
356
+ "price": 420
357
+ },
358
+ "context": {
359
+ "shopping": [
360
+ "complete",
361
+ 0
362
+ ]
363
+ },
364
+ "nested": []
365
+ },
366
+ {
367
+ "entity": "product",
368
+ "data": {
369
+ "id": "cc",
370
+ "name": "Cool Cap",
371
+ "size": "one size",
372
+ "price": 42
373
+ },
374
+ "context": {
375
+ "shopping": [
376
+ "complete",
377
+ 0
378
+ ]
379
+ },
380
+ "nested": []
381
+ },
382
+ {
383
+ "entity": "gift",
384
+ "data": {
385
+ "name": "Surprise"
386
+ },
387
+ "context": {
388
+ "shopping": [
389
+ "complete",
390
+ 0
391
+ ]
392
+ },
393
+ "nested": []
394
+ }
395
+ ],
396
+ "consent": {
397
+ "functional": true
398
+ },
399
+ "id": "1700000902000-gr0up-1",
400
+ "trigger": "load",
401
+ "entity": "order",
402
+ "action": "complete",
403
+ "timestamp": 1700000902000,
404
+ "timing": 3.14,
405
+ "group": "gr0up",
406
+ "count": 1,
407
+ "version": {
408
+ "source": "3.4.0-next-1776749829492",
409
+ "tagging": 1
410
+ },
411
+ "source": {
412
+ "type": "server",
413
+ "id": "https://shop.example.com",
414
+ "previous_id": ""
415
+ }
416
+ },
417
+ "mapping": {
418
+ "settings": {
419
+ "value": "data.total",
420
+ "currency": {
421
+ "key": "data.currency",
422
+ "value": "USD"
423
+ }
424
+ },
425
+ "data": {
426
+ "map": {
427
+ "user_data": {
428
+ "map": {
429
+ "twclid": "context.twclid"
430
+ }
431
+ }
432
+ }
433
+ }
434
+ },
435
+ "out": [
436
+ [
437
+ "sendServer",
438
+ "https://ads-api.x.com/12/measurement/conversions/o8z6j",
439
+ "{\"conversions\":[{\"conversion_time\":\"2023-11-14T22:28:22.000Z\",\"event_id\":\"tw-o8z6j-o8z21\",\"identifiers\":[{\"hashed_email\":\"484c39bfb51212665d9673805c112b5ba04cbf0460b6d3f00bcdc18b92afed66\"},{\"twclid\":\"23opevjt88psuo13lu8d020qkn\"}],\"conversion_id\":\"1700000902000-gr0up-1\",\"value\":\"89.99\"}]}",
440
+ {
441
+ "headers": {
442
+ "Authorization": "<OAUTH_SIGNATURE>",
443
+ "Content-Type": "application/json"
444
+ }
445
+ }
446
+ ]
447
+ ]
448
+ }
449
+ }
450
+ }
451
+ }
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@walkeros/server-destination-twitter",
3
+ "description": "X (Twitter) Conversions API server destination for walkerOS",
4
+ "version": "3.4.0-next-1776749829492",
5
+ "license": "MIT",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.mjs",
10
+ "require": "./dist/index.js"
11
+ },
12
+ "./dev": {
13
+ "types": "./dist/dev.d.ts",
14
+ "import": "./dist/dev.mjs",
15
+ "require": "./dist/dev.js"
16
+ },
17
+ "./walkerOS.json": "./dist/walkerOS.json",
18
+ "./examples": {
19
+ "types": "./dist/examples/index.d.ts",
20
+ "import": "./dist/examples/index.mjs",
21
+ "require": "./dist/examples/index.js"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist/**"
26
+ ],
27
+ "scripts": {
28
+ "build": "tsup --silent",
29
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
30
+ "dev": "jest --watchAll --colors",
31
+ "typecheck": "tsc --noEmit",
32
+ "lint": "eslint \"**/*.ts*\"",
33
+ "test": "jest",
34
+ "update": "npx npm-check-updates -u && npm update"
35
+ },
36
+ "dependencies": {
37
+ "@walkeros/core": "3.4.0-next-1776749829492",
38
+ "@walkeros/server-core": "3.4.0-next-1776749829492",
39
+ "oauth-1.0a": "^2.2.6"
40
+ },
41
+ "devDependencies": {
42
+ "@walkeros/collector": "3.4.0-next-1776749829492"
43
+ },
44
+ "repository": {
45
+ "url": "git+https://github.com/elbwalker/walkerOS.git",
46
+ "directory": "packages/server/destinations/twitter"
47
+ },
48
+ "author": "elbwalker <hello@elbwalker.com>",
49
+ "homepage": "https://github.com/elbwalker/walkerOS#readme",
50
+ "bugs": {
51
+ "url": "https://github.com/elbwalker/walkerOS/issues"
52
+ },
53
+ "walkerOS": {
54
+ "type": "destination",
55
+ "platform": [
56
+ "server"
57
+ ],
58
+ "docs": "https://www.walkeros.io/docs/destinations/server/twitter"
59
+ },
60
+ "keywords": [
61
+ "walkerOS",
62
+ "walkerOS-destination",
63
+ "destination",
64
+ "server",
65
+ "twitter",
66
+ "x",
67
+ "conversions-api",
68
+ "capi",
69
+ "analytics"
70
+ ],
71
+ "funding": [
72
+ {
73
+ "type": "GitHub Sponsors",
74
+ "url": "https://github.com/sponsors/elbwalker"
75
+ }
76
+ ]
77
+ }