@walkeros/server-destination-bing 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 Microsoft Advertising (Bing UET CAPI) 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,18 @@
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-bing
2
8
 
3
- Server-side Microsoft Advertising (Bing UET) Conversions API destination for
4
- walkerOS. Sends conversion events directly to Microsoft's UET CAPI via HTTP POST
5
- for reliable server-to-server tracking.
9
+ Server-side event delivery to Microsoft Advertising (Bing) UET Conversions API
10
+ for enhanced conversion tracking.
11
+
12
+ [Documentation](https://www.walkeros.io/docs/destinations/server/bing) &bull;
13
+ [NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-bing)
14
+ &bull;
15
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/bing)
6
16
 
7
17
  ## Installation
8
18
 
@@ -10,163 +20,34 @@ for reliable server-to-server tracking.
10
20
  npm install @walkeros/server-destination-bing
11
21
  ```
12
22
 
13
- ## Quick Start
14
-
15
- ```json
16
- {
17
- "destinations": {
18
- "bing": {
19
- "package": "@walkeros/server-destination-bing",
20
- "config": {
21
- "settings": {
22
- "tagId": "YOUR_UET_TAG_ID",
23
- "accessToken": "YOUR_ACCESS_TOKEN"
24
- },
25
- "mapping": {
26
- "order": {
27
- "complete": {
28
- "name": "purchase",
29
- "data": {
30
- "map": {
31
- "customData": {
32
- "map": {
33
- "value": "data.total",
34
- "currency": "data.currency",
35
- "transactionId": "data.id",
36
- "pageType": { "value": "purchase" }
37
- }
38
- }
39
- }
40
- }
41
- }
42
- },
43
- "page": {
44
- "view": {
45
- "settings": { "eventType": "pageLoad" }
46
- }
47
- }
48
- }
49
- }
50
- }
51
- }
52
- }
53
- ```
54
-
55
- ## Settings
56
-
57
- | Setting | Type | Required | Default | Description |
58
- | --------------------------- | -------- | -------- | ------------------------------------ | ------------------------------------------------------------------- |
59
- | `accessToken` | string | Yes | -- | Long-lived UET CAPI token from Microsoft Advertising |
60
- | `tagId` | string | Yes | -- | Microsoft Advertising UET tag ID |
61
- | `url` | string | No | `https://capi.uet.microsoft.com/v1/` | Custom Bing UET CAPI base URL |
62
- | `doNotHash` | string[] | No | `[]` | User data fields to skip SHA-256 hashing |
63
- | `user_data` | object | No | -- | Default user data mapping (e.g. `{ em: 'user.email' }`) |
64
- | `dataProvider` | string | No | `walkerOS` | Identifier of the data source |
65
- | `continueOnValidationError` | boolean | No | -- | When true, Microsoft continues ingesting events despite soft errors |
66
-
67
- ## Event Types
68
-
69
- Bing UET distinguishes two event types:
70
-
71
- | `eventType` | When to Use |
72
- | ----------- | ------------------------------------------------------ |
73
- | `pageLoad` | Page views — no `eventName` required |
74
- | `custom` | All other conversions (default) — `eventName` required |
75
-
76
- Override per event via `mapping.settings.eventType`:
77
-
78
- ```json
79
- {
80
- "mapping": {
81
- "page": {
82
- "view": { "settings": { "eventType": "pageLoad" } }
83
- }
84
- }
85
- }
86
- ```
87
-
88
- For `custom` events, the `eventName` defaults to the walkerOS event name;
89
- override it via the rule's `name` field.
90
-
91
- ## User Data & Hashing
92
-
93
- Only `em` and `ph` are SHA-256 hashed before sending. All other identity fields
94
- pass through as-is:
95
-
96
- | Field | Hashed | Description |
97
- | ----------------- | ------ | ------------------------------------------------------- |
98
- | `em` | Yes | Email — normalized (dots/alias removed) then lowercased |
99
- | `ph` | Yes | Phone number (trimmed) |
100
- | `anonymousId` | No | Anonymous ID |
101
- | `externalId` | No | External / customer ID |
102
- | `msclkid` | No | Microsoft click ID |
103
- | `clientIpAddress` | No | Client IP address (IPv4 or IPv6) |
104
- | `clientUserAgent` | No | Browser user agent string |
105
- | `idfa` | No | iOS IDFA |
106
- | `gaid` | No | Android advertising ID (GAID) |
107
-
108
- ### Microsoft-specific email normalization
109
-
110
- Before hashing, emails are normalized as follows:
111
-
112
- 1. Trim whitespace
113
- 2. Lowercase
114
- 3. Remove dots from the user portion (e.g. `a.b.c@example.com` →
115
- `abc@example.com`)
116
- 4. Strip `+alias` suffix (e.g. `user+promo@example.com` → `user@example.com`)
117
-
118
- Use the `doNotHash` setting to skip hashing for pre-hashed values.
119
-
120
- ## customData Structure
121
-
122
- Properties must be nested under `customData`:
23
+ ## Quick start
123
24
 
124
25
  ```json
125
26
  {
126
- "data": {
127
- "map": {
128
- "customData": {
129
- "map": {
130
- "value": "data.total",
131
- "currency": "data.currency",
132
- "transactionId": "data.id",
133
- "items": {
134
- "loop": [
135
- "nested",
136
- {
137
- "map": {
138
- "id": "data.id",
139
- "name": "data.name",
140
- "price": "data.price",
141
- "quantity": { "key": "data.quantity", "value": 1 }
142
- }
143
- }
144
- ]
145
- }
146
- }
27
+ "version": 4,
28
+ "flows": {
29
+ "default": {
30
+ "config": { "platform": "server" },
31
+ "destinations": {
32
+ "bing": { "package": "@walkeros/server-destination-bing", "config": {} }
147
33
  }
148
34
  }
149
35
  }
150
36
  }
151
37
  ```
152
38
 
153
- Common `customData` fields: `value`, `currency`, `transactionId`, `items`,
154
- `itemIds`, `pageType`, `eventCategory`, `eventLabel`, `eventValue`,
155
- `searchTerm`, `ecommTotalValue`, `ecommCategory`, `hotelData`.
156
-
157
- ## Deduplication
39
+ ## Documentation
158
40
 
159
- The destination uses `event.id` as UET's `eventId`. When using both the UET
160
- JavaScript tag client-side and this server destination, Microsoft dedupes
161
- matching events across channels by `eventId` + `eventName`.
41
+ Full configuration, mapping, and examples live in the docs:
42
+ **https://www.walkeros.io/docs/destinations/server/bing**
162
43
 
163
- ## Consent
44
+ ## Contribute
164
45
 
165
- All events sent to this destination include `adStorageConsent: "G"` (granted).
166
- Gate the destination via walkerOS consent rules at the collector level rather
167
- than sending denied events with `D`.
46
+ Feel free to contribute by submitting an
47
+ [issue](https://github.com/elbwalker/walkerOS/issues), starting a
48
+ [discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
49
+ [contact](https://calendly.com/elb-alexander/30min).
168
50
 
169
- ## Links
51
+ ## License
170
52
 
171
- - [Microsoft UET CAPI Documentation](https://learn.microsoft.com/en-us/advertising/guides/universal-event-tracking-capi)
172
- - [walkerOS Documentation](https://www.walkeros.io)
53
+ MIT
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-destination-bing",
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-bing",
3
3
  "description": "Microsoft Advertising (Bing UET CAPI) 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",