@walkeros/server-destination-pinterest 3.3.0-next-1776098542393

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,598 @@
1
+ {
2
+ "$meta": {
3
+ "package": "@walkeros/server-destination-pinterest",
4
+ "version": "3.2.0",
5
+ "type": "destination",
6
+ "platform": [
7
+ "server"
8
+ ],
9
+ "docs": "https://www.walkeros.io/docs/destinations/server/pinterest-capi",
10
+ "source": "https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/pinterest/src"
11
+ },
12
+ "schemas": {
13
+ "mapping": {
14
+ "$schema": "http://json-schema.org/draft-07/schema#",
15
+ "type": "object",
16
+ "properties": {},
17
+ "additionalProperties": false
18
+ },
19
+ "settings": {
20
+ "$schema": "http://json-schema.org/draft-07/schema#",
21
+ "type": "object",
22
+ "properties": {
23
+ "accessToken": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "description": "Pinterest conversion access token for Bearer authentication (like pina_ABC123...)"
27
+ },
28
+ "adAccountId": {
29
+ "type": "string",
30
+ "pattern": "^[0-9]+$",
31
+ "description": "Pinterest ad account ID from Ads Manager (like 123456789)"
32
+ },
33
+ "action_source": {
34
+ "type": "string",
35
+ "enum": [
36
+ "app_android",
37
+ "app_ios",
38
+ "web",
39
+ "offline"
40
+ ],
41
+ "description": "Source of the event (web, app_android, app_ios, offline) (like web)"
42
+ },
43
+ "doNotHash": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string"
47
+ },
48
+ "description": "Array of user_data fields that should not be hashed (like ['external_id'])"
49
+ },
50
+ "test": {
51
+ "type": "boolean",
52
+ "description": "Enable test mode by appending ?test=true to the API URL (like true)"
53
+ },
54
+ "url": {
55
+ "type": "string",
56
+ "format": "uri",
57
+ "description": "Custom URL for Pinterest Conversions API endpoint (like https://api.pinterest.com/v5/)"
58
+ },
59
+ "user_data": {
60
+ "type": "object",
61
+ "propertyNames": {
62
+ "type": "string"
63
+ },
64
+ "additionalProperties": {
65
+ "type": "string"
66
+ },
67
+ "description": "Mapping configuration for user data fields (like { em: 'user.email', ph: 'user.phone' })"
68
+ },
69
+ "partner_name": {
70
+ "type": "string",
71
+ "description": "Third-party partner name for attribution (like ss-walkeros)"
72
+ }
73
+ },
74
+ "required": [
75
+ "accessToken",
76
+ "adAccountId"
77
+ ],
78
+ "additionalProperties": false
79
+ }
80
+ },
81
+ "examples": {
82
+ "env": {
83
+ "push": {
84
+ "sendServer": {
85
+ "$code": "async function(e,t,a){return{ok:!0,data:{num_events_received:1,num_events_processed:1,events:[{status:\"processed\"}]}}}"
86
+ }
87
+ },
88
+ "simulation": [
89
+ "sendServer"
90
+ ]
91
+ },
92
+ "step": {
93
+ "addToCart": {
94
+ "in": {
95
+ "name": "product add",
96
+ "data": {
97
+ "id": "SKU-B2",
98
+ "name": "Cool Cap",
99
+ "price": "42.00",
100
+ "quantity": 1
101
+ },
102
+ "context": {
103
+ "shopping": [
104
+ "intent",
105
+ 0
106
+ ]
107
+ },
108
+ "globals": {
109
+ "pagegroup": "shop"
110
+ },
111
+ "custom": {
112
+ "completely": "random"
113
+ },
114
+ "user": {
115
+ "id": "user-456"
116
+ },
117
+ "nested": [],
118
+ "consent": {
119
+ "functional": true
120
+ },
121
+ "id": "1700000901-gr0up-1",
122
+ "trigger": "click",
123
+ "entity": "product",
124
+ "action": "add",
125
+ "timestamp": 1700000901,
126
+ "timing": 3.14,
127
+ "group": "gr0up",
128
+ "count": 1,
129
+ "version": {
130
+ "source": "3.2.0",
131
+ "tagging": 1
132
+ },
133
+ "source": {
134
+ "type": "server",
135
+ "id": "https://shop.example.com/products",
136
+ "previous_id": ""
137
+ }
138
+ },
139
+ "mapping": {
140
+ "name": "add_to_cart",
141
+ "data": {
142
+ "map": {
143
+ "custom_data": {
144
+ "map": {
145
+ "value": "data.price",
146
+ "currency": {
147
+ "value": "EUR"
148
+ },
149
+ "contents": {
150
+ "set": [
151
+ {
152
+ "map": {
153
+ "id": "data.id",
154
+ "item_name": "data.name",
155
+ "item_price": "data.price",
156
+ "quantity": {
157
+ "key": "data.quantity",
158
+ "value": 1
159
+ }
160
+ }
161
+ }
162
+ ]
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "out": {
170
+ "data": [
171
+ {
172
+ "event_name": "add_to_cart",
173
+ "event_time": 1700000901,
174
+ "event_id": "1700000901-gr0up-1",
175
+ "event_source_url": "https://shop.example.com/products",
176
+ "action_source": "web",
177
+ "user_data": {
178
+ "external_id": [
179
+ "user-456"
180
+ ]
181
+ },
182
+ "custom_data": {
183
+ "value": "42.00",
184
+ "currency": "EUR",
185
+ "contents": [
186
+ {
187
+ "id": "SKU-B2",
188
+ "item_name": "Cool Cap",
189
+ "item_price": "42.00",
190
+ "quantity": 1
191
+ }
192
+ ]
193
+ }
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ "checkout": {
199
+ "in": {
200
+ "name": "order complete",
201
+ "data": {
202
+ "id": "ORD-300",
203
+ "total": 249.99,
204
+ "currency": "EUR"
205
+ },
206
+ "context": {
207
+ "shopping": [
208
+ "complete",
209
+ 0
210
+ ]
211
+ },
212
+ "globals": {
213
+ "pagegroup": "shop"
214
+ },
215
+ "custom": {
216
+ "completely": "random"
217
+ },
218
+ "user": {
219
+ "id": "user-123",
220
+ "device": "device-456"
221
+ },
222
+ "nested": [
223
+ {
224
+ "entity": "product",
225
+ "data": {
226
+ "id": "SKU-A1",
227
+ "name": "Everyday Ruck Snack",
228
+ "price": "129.99",
229
+ "quantity": 2
230
+ }
231
+ }
232
+ ],
233
+ "consent": {
234
+ "functional": true
235
+ },
236
+ "id": "1700000900-gr0up-1",
237
+ "trigger": "load",
238
+ "entity": "order",
239
+ "action": "complete",
240
+ "timestamp": 1700000900,
241
+ "timing": 3.14,
242
+ "group": "gr0up",
243
+ "count": 1,
244
+ "version": {
245
+ "source": "3.2.0",
246
+ "tagging": 1
247
+ },
248
+ "source": {
249
+ "type": "server",
250
+ "id": "https://shop.example.com",
251
+ "previous_id": ""
252
+ }
253
+ },
254
+ "mapping": {
255
+ "name": "checkout",
256
+ "data": {
257
+ "map": {
258
+ "custom_data": {
259
+ "map": {
260
+ "value": "data.total",
261
+ "currency": {
262
+ "key": "data.currency",
263
+ "value": "EUR"
264
+ },
265
+ "order_id": "data.id",
266
+ "num_items": {
267
+ "fn": {
268
+ "$code": "e=>e.nested.filter(e=>\"product\"===e.entity).length"
269
+ }
270
+ },
271
+ "contents": {
272
+ "loop": [
273
+ "nested",
274
+ {
275
+ "condition": {
276
+ "$code": "e=>y(e)&&\"product\"===e.entity"
277
+ },
278
+ "map": {
279
+ "id": "data.id",
280
+ "item_name": "data.name",
281
+ "item_price": "data.price",
282
+ "quantity": {
283
+ "key": "data.quantity",
284
+ "value": 1
285
+ }
286
+ }
287
+ }
288
+ ]
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ },
295
+ "out": {
296
+ "data": [
297
+ {
298
+ "event_name": "checkout",
299
+ "event_time": 1700000900,
300
+ "event_id": "1700000900-gr0up-1",
301
+ "event_source_url": "https://shop.example.com",
302
+ "action_source": "web",
303
+ "user_data": {
304
+ "external_id": [
305
+ "user-123"
306
+ ]
307
+ },
308
+ "custom_data": {
309
+ "value": 249.99,
310
+ "currency": "EUR",
311
+ "order_id": "ORD-300",
312
+ "num_items": 1,
313
+ "contents": [
314
+ {
315
+ "id": "SKU-A1",
316
+ "item_name": "Everyday Ruck Snack",
317
+ "item_price": "129.99",
318
+ "quantity": 2
319
+ }
320
+ ]
321
+ }
322
+ }
323
+ ]
324
+ }
325
+ },
326
+ "pageVisit": {
327
+ "in": {
328
+ "name": "page view",
329
+ "data": {
330
+ "domain": "www.example.com",
331
+ "title": "walkerOS documentation",
332
+ "referrer": "https://www.walkeros.io/",
333
+ "search": "?foo=bar",
334
+ "hash": "#hash",
335
+ "id": "/docs/"
336
+ },
337
+ "context": {
338
+ "dev": [
339
+ "test",
340
+ 1
341
+ ]
342
+ },
343
+ "globals": {
344
+ "pagegroup": "docs"
345
+ },
346
+ "custom": {
347
+ "completely": "random"
348
+ },
349
+ "user": {
350
+ "id": "user-789"
351
+ },
352
+ "nested": [
353
+ {
354
+ "entity": "child",
355
+ "data": {
356
+ "is": "subordinated"
357
+ },
358
+ "nested": [],
359
+ "context": {
360
+ "element": [
361
+ "child",
362
+ 0
363
+ ]
364
+ }
365
+ }
366
+ ],
367
+ "consent": {
368
+ "functional": true
369
+ },
370
+ "id": "1700000902-gr0up-1",
371
+ "trigger": "load",
372
+ "entity": "page",
373
+ "action": "view",
374
+ "timestamp": 1700000902,
375
+ "timing": 3.14,
376
+ "group": "gr0up",
377
+ "count": 1,
378
+ "version": {
379
+ "source": "3.2.0",
380
+ "tagging": 1
381
+ },
382
+ "source": {
383
+ "type": "server",
384
+ "id": "https://www.example.com/docs/",
385
+ "previous_id": ""
386
+ }
387
+ },
388
+ "mapping": {
389
+ "name": "page_visit"
390
+ },
391
+ "out": {
392
+ "data": [
393
+ {
394
+ "event_name": "page_visit",
395
+ "event_time": 1700000902,
396
+ "event_id": "1700000902-gr0up-1",
397
+ "event_source_url": "https://www.example.com/docs/",
398
+ "action_source": "web",
399
+ "user_data": {
400
+ "external_id": [
401
+ "user-789"
402
+ ]
403
+ }
404
+ }
405
+ ]
406
+ }
407
+ },
408
+ "search": {
409
+ "in": {
410
+ "name": "entity action",
411
+ "data": {
412
+ "query": "walkerOS destinations"
413
+ },
414
+ "context": {
415
+ "dev": [
416
+ "test",
417
+ 1
418
+ ]
419
+ },
420
+ "globals": {
421
+ "lang": "elb"
422
+ },
423
+ "custom": {
424
+ "completely": "random"
425
+ },
426
+ "user": {
427
+ "id": "user-101"
428
+ },
429
+ "nested": [
430
+ {
431
+ "entity": "child",
432
+ "data": {
433
+ "is": "subordinated"
434
+ },
435
+ "nested": [],
436
+ "context": {
437
+ "element": [
438
+ "child",
439
+ 0
440
+ ]
441
+ }
442
+ }
443
+ ],
444
+ "consent": {
445
+ "functional": true
446
+ },
447
+ "id": "1700000903-gr0up-1",
448
+ "trigger": "test",
449
+ "entity": "entity",
450
+ "action": "action",
451
+ "timestamp": 1700000903,
452
+ "timing": 3.14,
453
+ "group": "gr0up",
454
+ "count": 1,
455
+ "version": {
456
+ "source": "3.2.0",
457
+ "tagging": 1
458
+ },
459
+ "source": {
460
+ "type": "server",
461
+ "id": "https://www.example.com/search",
462
+ "previous_id": ""
463
+ }
464
+ },
465
+ "mapping": {
466
+ "name": "search",
467
+ "data": {
468
+ "map": {
469
+ "custom_data": {
470
+ "map": {
471
+ "search_string": "data.query"
472
+ }
473
+ }
474
+ }
475
+ }
476
+ },
477
+ "out": {
478
+ "data": [
479
+ {
480
+ "event_name": "search",
481
+ "event_time": 1700000903,
482
+ "event_id": "1700000903-gr0up-1",
483
+ "event_source_url": "https://www.example.com/search",
484
+ "action_source": "web",
485
+ "user_data": {
486
+ "external_id": [
487
+ "user-101"
488
+ ]
489
+ },
490
+ "custom_data": {
491
+ "search_string": "walkerOS destinations"
492
+ }
493
+ }
494
+ ]
495
+ }
496
+ },
497
+ "signup": {
498
+ "in": {
499
+ "name": "entity action",
500
+ "data": {
501
+ "method": "email"
502
+ },
503
+ "context": {
504
+ "dev": [
505
+ "test",
506
+ 1
507
+ ]
508
+ },
509
+ "globals": {
510
+ "lang": "elb"
511
+ },
512
+ "custom": {
513
+ "completely": "random"
514
+ },
515
+ "user": {
516
+ "id": "new-user-1",
517
+ "email": "new@example.com"
518
+ },
519
+ "nested": [
520
+ {
521
+ "entity": "child",
522
+ "data": {
523
+ "is": "subordinated"
524
+ },
525
+ "nested": [],
526
+ "context": {
527
+ "element": [
528
+ "child",
529
+ 0
530
+ ]
531
+ }
532
+ }
533
+ ],
534
+ "consent": {
535
+ "functional": true
536
+ },
537
+ "id": "1700000904-gr0up-1",
538
+ "trigger": "test",
539
+ "entity": "entity",
540
+ "action": "action",
541
+ "timestamp": 1700000904,
542
+ "timing": 3.14,
543
+ "group": "gr0up",
544
+ "count": 1,
545
+ "version": {
546
+ "source": "3.2.0",
547
+ "tagging": 1
548
+ },
549
+ "source": {
550
+ "type": "server",
551
+ "id": "https://www.example.com/register",
552
+ "previous_id": ""
553
+ }
554
+ },
555
+ "mapping": {
556
+ "name": "signup",
557
+ "data": {
558
+ "map": {
559
+ "user_data": {
560
+ "map": {
561
+ "em": {
562
+ "set": [
563
+ "user.email"
564
+ ]
565
+ },
566
+ "external_id": {
567
+ "set": [
568
+ "user.id"
569
+ ]
570
+ }
571
+ }
572
+ }
573
+ }
574
+ }
575
+ },
576
+ "out": {
577
+ "data": [
578
+ {
579
+ "event_name": "signup",
580
+ "event_time": 1700000904,
581
+ "event_id": "1700000904-gr0up-1",
582
+ "event_source_url": "https://www.example.com/register",
583
+ "action_source": "web",
584
+ "user_data": {
585
+ "em": [
586
+ "new@example.com"
587
+ ],
588
+ "external_id": [
589
+ "new-user-1"
590
+ ]
591
+ }
592
+ }
593
+ ]
594
+ }
595
+ }
596
+ }
597
+ }
598
+ }
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@walkeros/server-destination-pinterest",
3
+ "description": "Pinterest server destination for walkerOS",
4
+ "version": "3.3.0-next-1776098542393",
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.3.0-next-1776098542393",
38
+ "@walkeros/server-core": "3.3.0-next-1776098542393"
39
+ },
40
+ "devDependencies": {
41
+ "@walkeros/collector": "3.3.0-next-1776098542393"
42
+ },
43
+ "repository": {
44
+ "url": "git+https://github.com/elbwalker/walkerOS.git",
45
+ "directory": "packages/server/destinations/pinterest"
46
+ },
47
+ "author": "elbwalker <hello@elbwalker.com>",
48
+ "homepage": "https://github.com/elbwalker/walkerOS#readme",
49
+ "bugs": {
50
+ "url": "https://github.com/elbwalker/walkerOS/issues"
51
+ },
52
+ "walkerOS": {
53
+ "type": "destination",
54
+ "platform": [
55
+ "server"
56
+ ],
57
+ "docs": "https://www.walkeros.io/docs/destinations/server/pinterest-capi"
58
+ },
59
+ "keywords": [
60
+ "walkerOS",
61
+ "walkerOS-destination",
62
+ "destination",
63
+ "server",
64
+ "pinterest",
65
+ "capi",
66
+ "conversions-api",
67
+ "analytics"
68
+ ],
69
+ "funding": [
70
+ {
71
+ "type": "GitHub Sponsors",
72
+ "url": "https://github.com/sponsors/elbwalker"
73
+ }
74
+ ]
75
+ }