@walkeros/server-destination-linkedin 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,140 @@
1
+ # @walkeros/server-destination-linkedin
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
+ - 724f97e: Migrate every step example in every walkerOS package to the
104
+ standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
105
+ Every step example's `out` is now an array of effect tuples whose first
106
+ element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
107
+ `'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
108
+ `'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
109
+ `'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
110
+ as the callable; transformer examples use the reserved `'return'` keyword;
111
+ store examples use store-operation callables (`'get'`, `'set'`). Tests capture
112
+ real calls on each component's spy and assert against `example.out` directly —
113
+ the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
114
+ (emptied; plan #3 removes it structurally).
115
+
116
+ ### Patch Changes
117
+
118
+ - Updated dependencies [74940cc]
119
+ - Updated dependencies [525f5d9]
120
+ - @walkeros/core@3.4.0
121
+ - @walkeros/server-core@3.4.0
122
+
123
+ ## 3.3.1
124
+
125
+ ### Patch Changes
126
+
127
+ - @walkeros/server-core@3.3.1
128
+ - @walkeros/core@3.3.1
129
+
130
+ ## 3.3.0
131
+
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [2849acb]
135
+ - Updated dependencies [08c365a]
136
+ - Updated dependencies [08c365a]
137
+ - Updated dependencies [08c365a]
138
+ - Updated dependencies [08c365a]
139
+ - @walkeros/core@3.3.0
140
+ - @walkeros/server-core@3.3.0
package/README.md CHANGED
@@ -1,7 +1,19 @@
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-linkedin
2
8
 
3
- LinkedIn Conversions API (CAPI) server destination for walkerOS. Streams
4
- conversion events to LinkedIn via server-to-server HTTPS POST.
9
+ Server-side event delivery to LinkedIn's Conversions API for enhanced ad
10
+ attribution and privacy-compliant conversion tracking.
11
+
12
+ [Documentation](https://www.walkeros.io/docs/destinations/server/linkedin)
13
+ &bull;
14
+ [NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-linkedin)
15
+ &bull;
16
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/linkedin)
5
17
 
6
18
  ## Installation
7
19
 
@@ -9,63 +21,18 @@ conversion events to LinkedIn via server-to-server HTTPS POST.
9
21
  npm install @walkeros/server-destination-linkedin
10
22
  ```
11
23
 
12
- ## Minimal Config
13
-
14
- ```json
15
- {
16
- "destinations": {
17
- "linkedin": {
18
- "package": "@walkeros/server-destination-linkedin",
19
- "config": {
20
- "consent": { "marketing": true },
21
- "settings": {
22
- "accessToken": "$env:LINKEDIN_ACCESS_TOKEN",
23
- "conversionRuleId": "12345678"
24
- }
25
- }
26
- }
27
- }
28
- }
29
- ```
30
-
31
- ## Full Config
24
+ ## Quick start
32
25
 
33
26
  ```json
34
27
  {
35
- "destinations": {
36
- "linkedin": {
37
- "package": "@walkeros/server-destination-linkedin",
38
- "config": {
39
- "consent": { "marketing": true },
40
- "settings": {
41
- "accessToken": "$env:LINKEDIN_ACCESS_TOKEN",
42
- "conversionRuleId": "12345678",
43
- "apiVersion": "202604",
44
- "user_data": {
45
- "email": "user.email",
46
- "li_fat_id": "context.li_fat_id",
47
- "firstName": "user.firstName",
48
- "lastName": "user.lastName",
49
- "companyName": "user.company",
50
- "countryCode": "user.country"
51
- }
52
- },
53
- "mapping": {
54
- "order": {
55
- "complete": {
56
- "settings": {
57
- "conversion": {
58
- "map": {
59
- "value": "data.total",
60
- "currency": { "key": "data.currency", "value": "USD" }
61
- }
62
- }
63
- }
64
- }
65
- },
66
- "form": {
67
- "submit": {}
68
- }
28
+ "version": 4,
29
+ "flows": {
30
+ "default": {
31
+ "config": { "platform": "server" },
32
+ "destinations": {
33
+ "linkedin": {
34
+ "package": "@walkeros/server-destination-linkedin",
35
+ "config": {}
69
36
  }
70
37
  }
71
38
  }
@@ -73,89 +40,18 @@ npm install @walkeros/server-destination-linkedin
73
40
  }
74
41
  ```
75
42
 
76
- ## Settings
77
-
78
- | Setting | Type | Required | Default | Description |
79
- | ------------------ | -------- | -------- | ---------------------------------- | ----------------------------------------- |
80
- | `accessToken` | string | yes | - | OAuth 2.0 Bearer token |
81
- | `conversionRuleId` | string | yes | - | Default conversion rule ID (numeric) |
82
- | `apiVersion` | string | no | `"202604"` | `Linkedin-Version` header (YYYYMM format) |
83
- | `doNotHash` | string[] | no | `[]` | User data fields already hashed |
84
- | `url` | string | no | `"https://api.linkedin.com/rest/"` | API base URL override |
85
- | `user_data` | object | no | - | Mapping config for user identifiers |
86
-
87
- ## Mapping Settings
88
-
89
- Per-event overrides via `mapping.settings.conversion`:
90
-
91
- | Field | Type | Description |
92
- | ---------- | ------------- | ------------------------------------------ |
93
- | `ruleId` | string | Override `conversionRuleId` for this event |
94
- | `value` | string/number | Conversion monetary value |
95
- | `currency` | string | ISO 4217 currency code |
96
-
97
- ## User Identification
98
-
99
- The destination supports two user identifier types:
43
+ ## Documentation
100
44
 
101
- - **SHA256_EMAIL** - Email address, automatically SHA-256 hashed (lowercase,
102
- trimmed). Source: `user.email` or `settings.user_data.email` mapping.
103
- - **LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID** - LinkedIn first-party click ID
104
- (`li_fat_id`). Not hashed. Source: `settings.user_data.li_fat_id` mapping.
45
+ Full configuration, mapping, and examples live in the docs:
46
+ **https://www.walkeros.io/docs/destinations/server/linkedin**
105
47
 
106
- At least one identifier is required per event. Events without any identifier are
107
- silently skipped.
48
+ ## Contribute
108
49
 
109
- Optional `userInfo` fields (improve match rate): `firstName`, `lastName`,
110
- `title`, `companyName`, `countryCode`. Requires both `firstName` and `lastName`
111
- to be present.
112
-
113
- ## Deduplication
114
-
115
- The walkerOS event `id` is automatically sent as `eventId` in the CAPI payload.
116
- When both the web destination (Insight Tag) and server destination are active,
117
- LinkedIn deduplicates using this shared ID. The browser event takes priority.
118
-
119
- ## Multi-Rule Setup
120
-
121
- Use separate destination instances for different conversion rules:
122
-
123
- ```json
124
- {
125
- "destinations": {
126
- "linkedin-purchases": {
127
- "package": "@walkeros/server-destination-linkedin",
128
- "config": {
129
- "settings": {
130
- "accessToken": "$env:LINKEDIN_TOKEN",
131
- "conversionRuleId": "11111111"
132
- },
133
- "mapping": { "order": { "complete": {} } }
134
- }
135
- },
136
- "linkedin-leads": {
137
- "package": "@walkeros/server-destination-linkedin",
138
- "config": {
139
- "settings": {
140
- "accessToken": "$env:LINKEDIN_TOKEN",
141
- "conversionRuleId": "22222222"
142
- },
143
- "mapping": { "form": { "submit": {} } }
144
- }
145
- }
146
- }
147
- }
148
- ```
149
-
150
- ## Consent
151
-
152
- Marketing consent is required. Configure via `config.consent`:
153
-
154
- ```json
155
- "consent": { "marketing": true }
156
- ```
50
+ Feel free to contribute by submitting an
51
+ [issue](https://github.com/elbwalker/walkerOS/issues), starting a
52
+ [discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
53
+ [contact](https://calendly.com/elb-alexander/30min).
157
54
 
158
- ## Links
55
+ ## License
159
56
 
160
- - [LinkedIn Conversions API docs](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/ads-reporting/conversions-api)
161
- - [walkerOS documentation](https://www.walkeros.io/docs/destinations/server/linkedin-capi)
57
+ MIT
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-destination-linkedin",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "type": "destination",
6
6
  "platform": [
7
7
  "server"
@@ -38,7 +38,8 @@
38
38
  }
39
39
  },
40
40
  "additionalProperties": false,
41
- "description": "Per-event conversion override with ruleId, value, and currency"
41
+ "description": "Per-event conversion override with ruleId, value, and currency",
42
+ "title": "conversion"
42
43
  }
43
44
  },
44
45
  "additionalProperties": false
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/server-destination-linkedin",
3
3
  "description": "LinkedIn 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",