@walkeros/server-destination-snapchat 4.1.0-next-1778668930820 → 4.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,308 @@
1
+ # @walkeros/server-destination-meta
2
+
3
+ ## 4.1.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [e155ff8]
8
+ - Updated dependencies [e800974]
9
+ - Updated dependencies [e155ff8]
10
+ - Updated dependencies [1a8f2d7]
11
+ - Updated dependencies [1a8f2d7]
12
+ - Updated dependencies [b276173]
13
+ - Updated dependencies [dd9f5ad]
14
+ - Updated dependencies [c60ef35]
15
+ - Updated dependencies [adeebea]
16
+ - Updated dependencies [13aaeaa]
17
+ - Updated dependencies [e800974]
18
+ - Updated dependencies [adeebea]
19
+ - Updated dependencies [e800974]
20
+ - Updated dependencies [e800974]
21
+ - Updated dependencies [058f7ed]
22
+ - Updated dependencies [28a8ac2]
23
+ - Updated dependencies [fd6076e]
24
+ - @walkeros/core@4.1.0
25
+ - @walkeros/server-core@4.1.0
26
+
27
+ ## 4.0.2
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies [a6a0ea7]
32
+ - @walkeros/core@4.0.2
33
+ - @walkeros/server-core@4.0.2
34
+
35
+ ## 4.0.1
36
+
37
+ ### Patch Changes
38
+
39
+ - Updated dependencies [381dfe7]
40
+ - Updated dependencies [1524275]
41
+ - Updated dependencies [03d7055]
42
+ - @walkeros/core@4.0.1
43
+ - @walkeros/server-core@4.0.1
44
+
45
+ ## 4.0.0
46
+
47
+ ### Major Changes
48
+
49
+ - 93ea9c4: Event model v4: breaking changes to the `Event`, `Source`, and
50
+ `Entity` shapes.
51
+ - `event.id` is now a W3C span_id (16 lowercase hex chars), generated by the
52
+ collector. Reference: W3C Trace Context (W3C Recommendation, January 2020).
53
+ - `event.version`, `event.group`, `event.count` are removed.
54
+ - `source.type` is now the source kind (e.g. `browser`, `gtag`, `mcp`, `cli`).
55
+ New `source.platform` holds the runtime (`web` | `server` | `app` | ...).
56
+ - `source.id` and `source.previous_id` are removed.
57
+ - Browser source now sets `source.url` and `source.referrer`.
58
+ - MCP source sets `source.tool` per emission. CLI source sets
59
+ `source.command`.
60
+ - `Entity.nested` and `Entity.context` are now optional. Root `event.nested`
61
+ and `event.context` remain required.
62
+ - Each source self-registers via TypeScript module augmentation of `SourceMap`
63
+ in `@walkeros/core`.
64
+ - App-side coordination (`/workspaces/developer/app`) is a follow-up plan, not
65
+ part of this release. Telemetry from v4 CLI/MCP will not validate against
66
+ the existing app schema until that follow-up ships.
67
+ - `Mapping.Rule.skip` is renamed to `Mapping.Rule.silent`. Customer flow.json
68
+ configs using `skip: true` in mapping rules must rename to `silent: true`.
69
+ Hard cut: no legacy alias, the field is gone.
70
+
71
+ ### Patch Changes
72
+
73
+ - Updated dependencies [93ea9c4]
74
+ - Updated dependencies [465775c]
75
+ - Updated dependencies [942a7fe]
76
+ - Updated dependencies [cfc7469]
77
+ - Updated dependencies [8e06b1f]
78
+ - Updated dependencies [3d50dd6]
79
+ - Updated dependencies [1ef33d9]
80
+ - @walkeros/core@4.0.0
81
+ - @walkeros/server-core@4.0.0
82
+
83
+ ## 3.4.2
84
+
85
+ ### Patch Changes
86
+
87
+ - @walkeros/core@3.4.2
88
+ - @walkeros/server-core@3.4.2
89
+
90
+ ## 3.4.1
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [12adf24]
95
+ - Updated dependencies [75aa26b]
96
+ - @walkeros/core@3.4.1
97
+ - @walkeros/server-core@3.4.1
98
+
99
+ ## 3.4.0
100
+
101
+ ### Minor Changes
102
+
103
+ - 74940cc: Add Snapchat Conversions API server destination.
104
+ - 724f97e: Migrate every step example in every walkerOS package to the
105
+ standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
106
+ Every step example's `out` is now an array of effect tuples whose first
107
+ element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
108
+ `'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
109
+ `'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
110
+ `'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
111
+ as the callable; transformer examples use the reserved `'return'` keyword;
112
+ store examples use store-operation callables (`'get'`, `'set'`). Tests capture
113
+ real calls on each component's spy and assert against `example.out` directly —
114
+ the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
115
+ (emptied; plan #3 removes it structurally).
116
+
117
+ ### Patch Changes
118
+
119
+ - Updated dependencies [74940cc]
120
+ - Updated dependencies [525f5d9]
121
+ - @walkeros/core@3.4.0
122
+ - @walkeros/server-core@3.4.0
123
+
124
+ ## 3.3.1
125
+
126
+ ### Patch Changes
127
+
128
+ - @walkeros/server-core@3.3.1
129
+ - @walkeros/core@3.3.1
130
+
131
+ ## 3.3.0
132
+
133
+ ### Patch Changes
134
+
135
+ - Updated dependencies [2849acb]
136
+ - Updated dependencies [08c365a]
137
+ - Updated dependencies [08c365a]
138
+ - Updated dependencies [08c365a]
139
+ - Updated dependencies [08c365a]
140
+ - @walkeros/core@3.3.0
141
+ - @walkeros/server-core@3.3.0
142
+
143
+ ## 3.2.0
144
+
145
+ ### Patch Changes
146
+
147
+ - Updated dependencies [eb865e1]
148
+ - Updated dependencies [c0a53f9]
149
+ - Updated dependencies [f007c9f]
150
+ - Updated dependencies [bf2dc5b]
151
+ - Updated dependencies [da0b640]
152
+ - @walkeros/core@3.2.0
153
+ - @walkeros/server-core@3.2.0
154
+
155
+ ## 3.1.1
156
+
157
+ ### Patch Changes
158
+
159
+ - @walkeros/core@3.1.1
160
+ - @walkeros/server-core@3.1.1
161
+
162
+ ## 3.1.0
163
+
164
+ ### Patch Changes
165
+
166
+ - Updated dependencies [dfc6738]
167
+ - Updated dependencies [966342b]
168
+ - Updated dependencies [bee8ba7]
169
+ - Updated dependencies [966342b]
170
+ - Updated dependencies [df990d4]
171
+ - @walkeros/core@3.1.0
172
+ - @walkeros/server-core@3.1.0
173
+
174
+ ## 3.0.2
175
+
176
+ ### Patch Changes
177
+
178
+ - @walkeros/core@3.0.2
179
+ - @walkeros/server-core@3.0.2
180
+
181
+ ## 3.0.1
182
+
183
+ ### Patch Changes
184
+
185
+ - @walkeros/core@3.0.1
186
+ - @walkeros/server-core@3.0.1
187
+
188
+ ## 3.0.0
189
+
190
+ ### Patch Changes
191
+
192
+ - 499e27a: Add sideEffects declarations to all packages for bundler tree-shaking
193
+ support.
194
+ - Updated dependencies [2b259b6]
195
+ - Updated dependencies [2614014]
196
+ - Updated dependencies [6ae0ee3]
197
+ - Updated dependencies [37299a9]
198
+ - Updated dependencies [499e27a]
199
+ - Updated dependencies [0e5eede]
200
+ - Updated dependencies [d11f574]
201
+ - Updated dependencies [d11f574]
202
+ - Updated dependencies [1fe337a]
203
+ - Updated dependencies [5cb84c1]
204
+ - Updated dependencies [23f218a]
205
+ - Updated dependencies [499e27a]
206
+ - Updated dependencies [c83d909]
207
+ - Updated dependencies [b6c8fa8]
208
+ - @walkeros/core@3.0.0
209
+ - @walkeros/server-core@3.0.0
210
+
211
+ ## 2.1.1
212
+
213
+ ### Patch Changes
214
+
215
+ - Updated dependencies [fab477d]
216
+ - @walkeros/core@2.1.1
217
+ - @walkeros/server-core@2.1.1
218
+
219
+ ## 2.1.0
220
+
221
+ ### Minor Changes
222
+
223
+ - 97df0b2: Step examples: upgrade all packages to blueprint pattern with inline
224
+ mapping, no intermediate variables, no `all` export
225
+
226
+ ### Patch Changes
227
+
228
+ - 97df0b2: Remove legacy events/mapping/outputs example files; tests now derive
229
+ from step examples
230
+ - Updated dependencies [7fc4cee]
231
+ - Updated dependencies [7fc4cee]
232
+ - Updated dependencies [cb2da05]
233
+ - Updated dependencies [2bbe8c8]
234
+ - Updated dependencies [3eb6416]
235
+ - Updated dependencies [02a7958]
236
+ - Updated dependencies [97df0b2]
237
+ - Updated dependencies [97df0b2]
238
+ - Updated dependencies [026c412]
239
+ - Updated dependencies [7d38d9d]
240
+ - @walkeros/core@2.1.0
241
+ - @walkeros/server-core@2.1.0
242
+
243
+ ## 2.0.1
244
+
245
+ ## 1.0.6
246
+
247
+ ### Patch Changes
248
+
249
+ - Updated dependencies [7b2d750]
250
+ - @walkeros/core@1.4.0
251
+ - @walkeros/server-core@2.0.0
252
+
253
+ ## 1.0.5
254
+
255
+ ### Patch Changes
256
+
257
+ - Updated dependencies [a4cc1ea]
258
+ - @walkeros/core@1.3.0
259
+ - @walkeros/server-core@1.0.5
260
+
261
+ ## 1.0.4
262
+
263
+ ### Patch Changes
264
+
265
+ - Updated dependencies [7ad6cfb]
266
+ - @walkeros/core@1.2.2
267
+ - @walkeros/server-core@1.0.4
268
+
269
+ ## 1.0.3
270
+
271
+ ### Patch Changes
272
+
273
+ - Updated dependencies [6256c12]
274
+ - @walkeros/core@1.2.1
275
+ - @walkeros/server-core@1.0.3
276
+
277
+ ## 1.0.2
278
+
279
+ ### Patch Changes
280
+
281
+ - Updated dependencies [f39d9fb]
282
+ - Updated dependencies [888bbdf]
283
+ - @walkeros/core@1.2.0
284
+ - @walkeros/server-core@1.0.2
285
+
286
+ ## 1.0.1
287
+
288
+ ### Patch Changes
289
+
290
+ - Updated dependencies [b65b773]
291
+ - Updated dependencies [20eca6e]
292
+ - @walkeros/core@1.1.0
293
+ - @walkeros/server-core@1.0.1
294
+
295
+ ## 1.0.0
296
+
297
+ ### Major Changes
298
+
299
+ - 67c9e1d: Hello World! walkerOS v1.0.0
300
+
301
+ Open-source event data collection. Collect event data for digital analytics in
302
+ a unified and privacy-centric way.
303
+
304
+ ### Patch Changes
305
+
306
+ - Updated dependencies [67c9e1d]
307
+ - @walkeros/core@1.0.0
308
+ - @walkeros/server-core@1.0.0
package/README.md CHANGED
@@ -1,8 +1,20 @@
1
+ <p align="left">
2
+ <a href="https://www.walkeros.io">
3
+ <img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
4
+ </a>
5
+ </p>
6
+
1
7
  # @walkeros/server-destination-snapchat
2
8
 
3
- Server-side Snapchat Conversions API destination for walkerOS. Sends conversion
4
- events directly to Snapchat's Conversions API v3 via HTTP POST for reliable
5
- server-to-server tracking.
9
+ Server-side event delivery to Snapchat's Conversions API v3 for enhanced
10
+ conversion tracking, bypassing browser limitations and improving match quality
11
+ for ad optimization.
12
+
13
+ [Documentation](https://www.walkeros.io/docs/destinations/server/snapchat)
14
+ &bull;
15
+ [NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-snapchat)
16
+ &bull;
17
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/snapchat)
6
18
 
7
19
  ## Installation
8
20
 
@@ -10,131 +22,18 @@ server-to-server tracking.
10
22
  npm install @walkeros/server-destination-snapchat
11
23
  ```
12
24
 
13
- ## Quick Start
14
-
15
- ```json
16
- {
17
- "destinations": {
18
- "snapchat": {
19
- "package": "@walkeros/server-destination-snapchat",
20
- "config": {
21
- "settings": {
22
- "pixelId": "YOUR_PIXEL_ID",
23
- "accessToken": "YOUR_ACCESS_TOKEN"
24
- },
25
- "mapping": {
26
- "order": {
27
- "complete": {
28
- "name": "PURCHASE",
29
- "data": {
30
- "map": {
31
- "custom_data": {
32
- "map": {
33
- "value": "data.total",
34
- "currency": "data.currency",
35
- "transaction_id": "data.id"
36
- }
37
- }
38
- }
39
- }
40
- }
41
- }
42
- }
43
- }
44
- }
45
- }
46
- }
47
- ```
48
-
49
- ## Settings
50
-
51
- | Setting | Type | Required | Default | Description |
52
- | --------------- | -------- | -------- | ----------------------------- | ----------------------------------------------------------- |
53
- | `accessToken` | string | Yes | -- | Long-lived CAPI token from Snapchat Ads Manager |
54
- | `pixelId` | string | Yes | -- | Snap Pixel ID |
55
- | `url` | string | No | `https://tr.snapchat.com/v3/` | Custom Conversions API base URL |
56
- | `action_source` | string | No | `WEB` | One of `WEB`, `MOBILE_APP`, `OFFLINE` |
57
- | `doNotHash` | string[] | No | `[]` | User data fields to skip SHA-256 hashing |
58
- | `user_data` | object | No | -- | Default user data mapping (e.g. `{ em: 'user.email' }`) |
59
- | `testMode` | boolean | No | `false` | Send to `/events/validate` for testing instead of `/events` |
60
-
61
- ## Event Mapping
62
-
63
- | walkerOS Event | Snapchat Standard Event (UPPERCASE) |
64
- | ------------------ | ----------------------------------- |
65
- | `page view` | `PAGE_VIEW` |
66
- | `product view` | `VIEW_CONTENT` |
67
- | `product add` | `ADD_CART` |
68
- | `wishlist add` | `ADD_TO_WISHLIST` |
69
- | `checkout start` | `START_CHECKOUT` |
70
- | `checkout payment` | `ADD_BILLING` |
71
- | `order complete` | `PURCHASE` |
72
- | `form submit` | `SIGN_UP` |
73
- | `search submit` | `SEARCH` |
74
- | `subscribe submit` | `SUBSCRIBE` |
75
- | `user login` | `LOGIN` |
76
-
77
- Set the Snapchat event name via the rule's `name` field. Use UPPERCASE for
78
- standard events; custom event names may use `CUSTOM_EVENT_1..5` or any string.
79
-
80
- ## User Data & Hashing
81
-
82
- The following 11 identity fields are automatically SHA-256 hashed before
83
- sending. They match Meta's CAPI semantics:
84
-
85
- | Field | Hashed | Description |
86
- | ------------- | ------ | -------------------------------------------- |
87
- | `em` | Yes | Email (lowercased, trimmed) |
88
- | `ph` | Yes | Phone number (E.164 digits) |
89
- | `fn` | Yes | First name (lowercase) |
90
- | `ln` | Yes | Last name (lowercase) |
91
- | `db` | Yes | Date of birth (YYYYMMDD) |
92
- | `ge` | Yes | Gender (`m`, `f`) |
93
- | `ct` | Yes | City (lowercase) |
94
- | `st` | Yes | State (lowercase) |
95
- | `zp` | Yes | Zip or postal code |
96
- | `country` | Yes | Country code (ISO 3166-1 alpha-2, lowercase) |
97
- | `external_id` | Yes | External/customer identifier |
98
-
99
- These user data fields are **never** hashed and pass through as-is:
100
-
101
- | Field | Hashed | Description |
102
- | ------------------- | ------ | ---------------------------------- |
103
- | `sc_cookie1` | No | Snap Pixel cookie |
104
- | `client_ip_address` | No | Client IP address (IPv4 or IPv6) |
105
- | `client_user_agent` | No | Browser user agent string |
106
- | `sc_click_id` | No | Snap click ID |
107
- | `idfv` | No | iOS IDFV |
108
- | `madid` | No | Mobile advertiser ID (IDFA / AAID) |
109
-
110
- Use the `doNotHash` setting to skip hashing for pre-hashed values.
111
-
112
- ## custom_data Structure
113
-
114
- Properties must be nested under `custom_data` (unlike Meta's CAPI which puts
115
- them flat on the event root). Map them via `data.map.custom_data.map`:
25
+ ## Quick start
116
26
 
117
27
  ```json
118
28
  {
119
- "data": {
120
- "map": {
121
- "custom_data": {
122
- "map": {
123
- "value": "data.total",
124
- "currency": "data.currency",
125
- "transaction_id": "data.id",
126
- "contents": {
127
- "loop": [
128
- "nested",
129
- {
130
- "map": {
131
- "id": "data.id",
132
- "item_price": "data.price",
133
- "quantity": { "key": "data.quantity", "value": 1 }
134
- }
135
- }
136
- ]
137
- }
29
+ "version": 4,
30
+ "flows": {
31
+ "default": {
32
+ "config": { "platform": "server" },
33
+ "destinations": {
34
+ "snapchat": {
35
+ "package": "@walkeros/server-destination-snapchat",
36
+ "config": {}
138
37
  }
139
38
  }
140
39
  }
@@ -142,21 +41,18 @@ them flat on the event root). Map them via `data.map.custom_data.map`:
142
41
  }
143
42
  ```
144
43
 
145
- ## Deduplication
44
+ ## Documentation
146
45
 
147
- The destination uses `event.id` as Snapchat's `event_id`. When using both the
148
- Snap Pixel client-side and this server destination, Snapchat deduplicates
149
- matching events across channels within a 48h window by `event_id` +
150
- `event_name`.
46
+ Full configuration, mapping, and examples live in the docs:
47
+ **https://www.walkeros.io/docs/destinations/server/snapchat**
151
48
 
152
- ## Test Mode
49
+ ## Contribute
153
50
 
154
- Set `"testMode": true` in settings to send events to Snapchat's
155
- `/events/validate` endpoint instead of `/events`. Snapchat returns detailed
156
- validation feedback without counting the event toward ads delivery. Switch off
157
- before going live.
51
+ Feel free to contribute by submitting an
52
+ [issue](https://github.com/elbwalker/walkerOS/issues), starting a
53
+ [discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
54
+ [contact](https://calendly.com/elb-alexander/30min).
158
55
 
159
- ## Links
56
+ ## License
160
57
 
161
- - [Snapchat Conversions API Documentation](https://businesshelp.snapchat.com/s/article/conversions-api)
162
- - [walkerOS Documentation](https://www.walkeros.io)
58
+ MIT
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-destination-snapchat",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "type": "destination",
6
6
  "platform": [
7
7
  "server"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/server-destination-snapchat",
3
3
  "description": "Snapchat Conversions API server destination for walkerOS",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "license": "MIT",
6
6
  "exports": {
7
7
  ".": {
@@ -22,7 +22,8 @@
22
22
  }
23
23
  },
24
24
  "files": [
25
- "dist/**"
25
+ "dist/**",
26
+ "CHANGELOG.md"
26
27
  ],
27
28
  "scripts": {
28
29
  "build": "tsup --silent",
@@ -34,11 +35,11 @@
34
35
  "update": "npx npm-check-updates -u && npm update"
35
36
  },
36
37
  "dependencies": {
37
- "@walkeros/core": "4.1.0-next-1778668930820",
38
- "@walkeros/server-core": "4.1.0-next-1778668930820"
38
+ "@walkeros/core": "4.1.0",
39
+ "@walkeros/server-core": "4.1.0"
39
40
  },
40
41
  "devDependencies": {
41
- "@walkeros/collector": "4.1.0-next-1778668930820"
42
+ "@walkeros/collector": "4.1.0"
42
43
  },
43
44
  "repository": {
44
45
  "url": "git+https://github.com/elbwalker/walkerOS.git",