@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 +140 -0
- package/README.md +33 -137
- package/dist/walkerOS.json +3 -2
- package/package.json +6 -5
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
|
|
4
|
-
|
|
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
|
+
•
|
|
14
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-linkedin)
|
|
15
|
+
•
|
|
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
|
-
##
|
|
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
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"config": {
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
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
|
-
##
|
|
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
|
-
|
|
102
|
-
|
|
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
|
-
|
|
107
|
-
silently skipped.
|
|
48
|
+
## Contribute
|
|
108
49
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
##
|
|
55
|
+
## License
|
|
159
56
|
|
|
160
|
-
|
|
161
|
-
- [walkerOS documentation](https://www.walkeros.io/docs/destinations/server/linkedin-capi)
|
|
57
|
+
MIT
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/server-destination-linkedin",
|
|
4
|
-
"version": "4.1.0
|
|
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
|
|
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
|
|
38
|
-
"@walkeros/server-core": "4.1.0
|
|
38
|
+
"@walkeros/core": "4.1.0",
|
|
39
|
+
"@walkeros/server-core": "4.1.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@walkeros/collector": "4.1.0
|
|
42
|
+
"@walkeros/collector": "4.1.0"
|
|
42
43
|
},
|
|
43
44
|
"repository": {
|
|
44
45
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|