@lessly/sdk-app 78.0.0 → 80.0.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/dist/_types/gen/client.gen.d.ts +4 -1
- package/dist/_types/gen/support/index.d.ts +1 -1
- package/dist/_types/gen/support/queryOptions.gen.d.ts +13 -1
- package/dist/_types/gen/types.gen.d.ts +1959 -41
- package/dist/{chunk-LUFP6XK2.js → chunk-RUEYSS2X.js} +41 -2
- package/dist/chunk-RUEYSS2X.js.map +1 -0
- package/dist/index.cjs +59 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +21 -26
- package/dist/index.js.map +1 -1
- package/dist/playground/index.cjs.map +1 -1
- package/dist/playground/index.js +1 -1
- package/dist/support/index.cjs +15 -0
- package/dist/support/index.cjs.map +1 -1
- package/dist/support/index.js +13 -1
- package/dist/support/index.js.map +1 -1
- package/package.json +2 -2
- package/src/gen/bindings.gen.ts +39 -0
- package/src/gen/client.gen.ts +9 -0
- package/src/gen/manifest.gen.ts +20 -25
- package/src/gen/support/index.ts +1 -1
- package/src/gen/support/queryOptions.gen.ts +21 -0
- package/src/gen/types.gen.ts +1947 -23
- package/dist/chunk-LUFP6XK2.js.map +0 -1
package/src/gen/types.gen.ts
CHANGED
|
@@ -91984,6 +91984,32 @@ color: (string | null)
|
|
|
91984
91984
|
createdAt: string
|
|
91985
91985
|
}
|
|
91986
91986
|
|
|
91987
|
+
export interface SupportLabelGetInput {
|
|
91988
|
+
/**
|
|
91989
|
+
* Label id
|
|
91990
|
+
*/
|
|
91991
|
+
id: string
|
|
91992
|
+
}
|
|
91993
|
+
|
|
91994
|
+
export interface SupportLabelGetOutput {
|
|
91995
|
+
/**
|
|
91996
|
+
* Label id
|
|
91997
|
+
*/
|
|
91998
|
+
id: string
|
|
91999
|
+
/**
|
|
92000
|
+
* Label name, unique within the product
|
|
92001
|
+
*/
|
|
92002
|
+
name: string
|
|
92003
|
+
/**
|
|
92004
|
+
* Display colour as a hex string, or null if uncoloured
|
|
92005
|
+
*/
|
|
92006
|
+
color: (string | null)
|
|
92007
|
+
/**
|
|
92008
|
+
* ISO-8601 creation timestamp
|
|
92009
|
+
*/
|
|
92010
|
+
createdAt: string
|
|
92011
|
+
}
|
|
92012
|
+
|
|
91987
92013
|
export interface SupportLabelListInput {
|
|
91988
92014
|
|
|
91989
92015
|
}
|
|
@@ -92099,10 +92125,97 @@ contentType: string
|
|
|
92099
92125
|
*/
|
|
92100
92126
|
downloadUrl: string
|
|
92101
92127
|
}[]
|
|
92128
|
+
/**
|
|
92129
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
92130
|
+
*/
|
|
92131
|
+
attachmentIds: string[]
|
|
92132
|
+
/**
|
|
92133
|
+
* The agent author, or null when the external end user wrote the message
|
|
92134
|
+
*/
|
|
92135
|
+
authorAgentId: (string | null)
|
|
92136
|
+
/**
|
|
92137
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
92138
|
+
*/
|
|
92139
|
+
attachmentCount: number
|
|
92140
|
+
/**
|
|
92141
|
+
* The external author, or null when an agent wrote the message
|
|
92142
|
+
*/
|
|
92143
|
+
authorExternalId: (string | null)
|
|
92144
|
+
}
|
|
92145
|
+
|
|
92146
|
+
export interface SupportMessageGetInput {
|
|
92147
|
+
/**
|
|
92148
|
+
* Message id
|
|
92149
|
+
*/
|
|
92150
|
+
id: string
|
|
92151
|
+
}
|
|
92152
|
+
|
|
92153
|
+
export interface SupportMessageGetOutput {
|
|
92154
|
+
/**
|
|
92155
|
+
* Message id
|
|
92156
|
+
*/
|
|
92157
|
+
id: string
|
|
92158
|
+
/**
|
|
92159
|
+
* The message text, byte-identical to what was stored
|
|
92160
|
+
*/
|
|
92161
|
+
body: string
|
|
92162
|
+
/**
|
|
92163
|
+
* Thread this message belongs to
|
|
92164
|
+
*/
|
|
92165
|
+
threadId: string
|
|
92166
|
+
/**
|
|
92167
|
+
* ISO-8601 creation timestamp
|
|
92168
|
+
*/
|
|
92169
|
+
createdAt: string
|
|
92170
|
+
/**
|
|
92171
|
+
* inbound: written by the external end user. outbound: written by support, going out to them
|
|
92172
|
+
*/
|
|
92173
|
+
direction: ("inbound" | "outbound")
|
|
92174
|
+
/**
|
|
92175
|
+
* public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
|
|
92176
|
+
*/
|
|
92177
|
+
visibility: ("public" | "internal")
|
|
92178
|
+
/**
|
|
92179
|
+
* Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
|
|
92180
|
+
*/
|
|
92181
|
+
attachments: {
|
|
92182
|
+
/**
|
|
92183
|
+
* Attachment id
|
|
92184
|
+
*/
|
|
92185
|
+
id: string
|
|
92186
|
+
/**
|
|
92187
|
+
* Display name of the file
|
|
92188
|
+
*/
|
|
92189
|
+
fileName: string
|
|
92190
|
+
/**
|
|
92191
|
+
* ISO-8601 timestamp of when the attachment was created
|
|
92192
|
+
*/
|
|
92193
|
+
createdAt: string
|
|
92194
|
+
/**
|
|
92195
|
+
* Size in bytes as reported by storage
|
|
92196
|
+
*/
|
|
92197
|
+
sizeBytes: number
|
|
92198
|
+
/**
|
|
92199
|
+
* MIME type of the file
|
|
92200
|
+
*/
|
|
92201
|
+
contentType: string
|
|
92202
|
+
/**
|
|
92203
|
+
* Short-lived signed URL to read the file. Re-read the message to get a fresh one
|
|
92204
|
+
*/
|
|
92205
|
+
downloadUrl: string
|
|
92206
|
+
}[]
|
|
92207
|
+
/**
|
|
92208
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
92209
|
+
*/
|
|
92210
|
+
attachmentIds: string[]
|
|
92102
92211
|
/**
|
|
92103
92212
|
* The agent author, or null when the external end user wrote the message
|
|
92104
92213
|
*/
|
|
92105
92214
|
authorAgentId: (string | null)
|
|
92215
|
+
/**
|
|
92216
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
92217
|
+
*/
|
|
92218
|
+
attachmentCount: number
|
|
92106
92219
|
/**
|
|
92107
92220
|
* The external author, or null when an agent wrote the message
|
|
92108
92221
|
*/
|
|
@@ -92206,10 +92319,18 @@ contentType: string
|
|
|
92206
92319
|
*/
|
|
92207
92320
|
downloadUrl: string
|
|
92208
92321
|
}[]
|
|
92322
|
+
/**
|
|
92323
|
+
* The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
|
|
92324
|
+
*/
|
|
92325
|
+
attachmentIds: string[]
|
|
92209
92326
|
/**
|
|
92210
92327
|
* The agent author, or null when the external end user wrote the message
|
|
92211
92328
|
*/
|
|
92212
92329
|
authorAgentId: (string | null)
|
|
92330
|
+
/**
|
|
92331
|
+
* How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
|
|
92332
|
+
*/
|
|
92333
|
+
attachmentCount: number
|
|
92213
92334
|
/**
|
|
92214
92335
|
* The external author, or null when an agent wrote the message
|
|
92215
92336
|
*/
|
|
@@ -92299,6 +92420,10 @@ archived: boolean
|
|
|
92299
92420
|
*/
|
|
92300
92421
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
92301
92422
|
}
|
|
92423
|
+
/**
|
|
92424
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
92425
|
+
*/
|
|
92426
|
+
labelIds: string[]
|
|
92302
92427
|
/**
|
|
92303
92428
|
* Free-form client-owned JSON
|
|
92304
92429
|
*/
|
|
@@ -92321,6 +92446,10 @@ createdAt: string
|
|
|
92321
92446
|
* ISO-8601 last-modification timestamp
|
|
92322
92447
|
*/
|
|
92323
92448
|
updatedAt: string
|
|
92449
|
+
/**
|
|
92450
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
92451
|
+
*/
|
|
92452
|
+
labelNames: string[]
|
|
92324
92453
|
/**
|
|
92325
92454
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
92326
92455
|
*/
|
|
@@ -92551,14 +92680,23 @@ enabled?: boolean
|
|
|
92551
92680
|
* When to show the survey once the page matches
|
|
92552
92681
|
*/
|
|
92553
92682
|
trigger: ({
|
|
92683
|
+
/**
|
|
92684
|
+
* An immediate trigger, with nothing else to set
|
|
92685
|
+
*/
|
|
92554
92686
|
kind: "immediate"
|
|
92555
92687
|
} | {
|
|
92688
|
+
/**
|
|
92689
|
+
* A delayed trigger, which needs seconds
|
|
92690
|
+
*/
|
|
92556
92691
|
kind: "delay"
|
|
92557
92692
|
/**
|
|
92558
92693
|
* How long to wait after the page matched, in seconds (at most a day)
|
|
92559
92694
|
*/
|
|
92560
92695
|
seconds: number
|
|
92561
92696
|
} | {
|
|
92697
|
+
/**
|
|
92698
|
+
* An event trigger, which needs the event name
|
|
92699
|
+
*/
|
|
92562
92700
|
kind: "event"
|
|
92563
92701
|
/**
|
|
92564
92702
|
* An event in the client’s own runtime. This toolkit never sees it
|
|
@@ -95333,6 +95471,9 @@ value?: string
|
|
|
95333
95471
|
}]
|
|
95334
95472
|
}
|
|
95335
95473
|
|
|
95474
|
+
/**
|
|
95475
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
95476
|
+
*/
|
|
95336
95477
|
export interface SupportRuleCreateOutput {
|
|
95337
95478
|
/**
|
|
95338
95479
|
* Rule id
|
|
@@ -95346,6 +95487,9 @@ device: ("any" | "desktop" | "mobile")
|
|
|
95346
95487
|
* Whether the rule is live
|
|
95347
95488
|
*/
|
|
95348
95489
|
enabled: boolean
|
|
95490
|
+
/**
|
|
95491
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
95492
|
+
*/
|
|
95349
95493
|
trigger: {
|
|
95350
95494
|
/**
|
|
95351
95495
|
* Which kind of trigger this is
|
|
@@ -95372,13 +95516,22 @@ urlMatch: {
|
|
|
95372
95516
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
95373
95517
|
*/
|
|
95374
95518
|
kind: ("exact" | "prefix" | "contains" | "regex")
|
|
95519
|
+
/**
|
|
95520
|
+
* What the URL is compared against, read according to kind
|
|
95521
|
+
*/
|
|
95375
95522
|
value: string
|
|
95376
95523
|
}
|
|
95377
95524
|
/**
|
|
95378
95525
|
* ISO-8601 creation timestamp
|
|
95379
95526
|
*/
|
|
95380
95527
|
createdAt: string
|
|
95528
|
+
/**
|
|
95529
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
95530
|
+
*/
|
|
95381
95531
|
frequency: {
|
|
95532
|
+
/**
|
|
95533
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
95534
|
+
*/
|
|
95382
95535
|
kind: ("once" | "until_answered" | "always")
|
|
95383
95536
|
/**
|
|
95384
95537
|
* Days between showings, when set
|
|
@@ -98152,6 +98305,9 @@ export interface SupportRuleGetInput {
|
|
|
98152
98305
|
id: string
|
|
98153
98306
|
}
|
|
98154
98307
|
|
|
98308
|
+
/**
|
|
98309
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
98310
|
+
*/
|
|
98155
98311
|
export interface SupportRuleGetOutput {
|
|
98156
98312
|
/**
|
|
98157
98313
|
* Rule id
|
|
@@ -98165,6 +98321,9 @@ device: ("any" | "desktop" | "mobile")
|
|
|
98165
98321
|
* Whether the rule is live
|
|
98166
98322
|
*/
|
|
98167
98323
|
enabled: boolean
|
|
98324
|
+
/**
|
|
98325
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
98326
|
+
*/
|
|
98168
98327
|
trigger: {
|
|
98169
98328
|
/**
|
|
98170
98329
|
* Which kind of trigger this is
|
|
@@ -98191,13 +98350,22 @@ urlMatch: {
|
|
|
98191
98350
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
98192
98351
|
*/
|
|
98193
98352
|
kind: ("exact" | "prefix" | "contains" | "regex")
|
|
98353
|
+
/**
|
|
98354
|
+
* What the URL is compared against, read according to kind
|
|
98355
|
+
*/
|
|
98194
98356
|
value: string
|
|
98195
98357
|
}
|
|
98196
98358
|
/**
|
|
98197
98359
|
* ISO-8601 creation timestamp
|
|
98198
98360
|
*/
|
|
98199
98361
|
createdAt: string
|
|
98362
|
+
/**
|
|
98363
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
98364
|
+
*/
|
|
98200
98365
|
frequency: {
|
|
98366
|
+
/**
|
|
98367
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
98368
|
+
*/
|
|
98201
98369
|
kind: ("once" | "until_answered" | "always")
|
|
98202
98370
|
/**
|
|
98203
98371
|
* Days between showings, when set
|
|
@@ -100994,6 +101162,9 @@ device: ("any" | "desktop" | "mobile")
|
|
|
100994
101162
|
* Whether the rule is live
|
|
100995
101163
|
*/
|
|
100996
101164
|
enabled: boolean
|
|
101165
|
+
/**
|
|
101166
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
101167
|
+
*/
|
|
100997
101168
|
trigger: {
|
|
100998
101169
|
/**
|
|
100999
101170
|
* Which kind of trigger this is
|
|
@@ -101020,13 +101191,22 @@ urlMatch: {
|
|
|
101020
101191
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
101021
101192
|
*/
|
|
101022
101193
|
kind: ("exact" | "prefix" | "contains" | "regex")
|
|
101194
|
+
/**
|
|
101195
|
+
* What the URL is compared against, read according to kind
|
|
101196
|
+
*/
|
|
101023
101197
|
value: string
|
|
101024
101198
|
}
|
|
101025
101199
|
/**
|
|
101026
101200
|
* ISO-8601 creation timestamp
|
|
101027
101201
|
*/
|
|
101028
101202
|
createdAt: string
|
|
101203
|
+
/**
|
|
101204
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
101205
|
+
*/
|
|
101029
101206
|
frequency: {
|
|
101207
|
+
/**
|
|
101208
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
101209
|
+
*/
|
|
101030
101210
|
kind: ("once" | "until_answered" | "always")
|
|
101031
101211
|
/**
|
|
101032
101212
|
* Days between showings, when set
|
|
@@ -103797,14 +103977,23 @@ enabled?: boolean
|
|
|
103797
103977
|
* The new trigger, replacing the old one
|
|
103798
103978
|
*/
|
|
103799
103979
|
trigger?: ({
|
|
103980
|
+
/**
|
|
103981
|
+
* An immediate trigger, with nothing else to set
|
|
103982
|
+
*/
|
|
103800
103983
|
kind: "immediate"
|
|
103801
103984
|
} | {
|
|
103985
|
+
/**
|
|
103986
|
+
* A delayed trigger, which needs seconds
|
|
103987
|
+
*/
|
|
103802
103988
|
kind: "delay"
|
|
103803
103989
|
/**
|
|
103804
103990
|
* How long to wait after the page matched, in seconds (at most a day)
|
|
103805
103991
|
*/
|
|
103806
103992
|
seconds: number
|
|
103807
103993
|
} | {
|
|
103994
|
+
/**
|
|
103995
|
+
* An event trigger, which needs the event name
|
|
103996
|
+
*/
|
|
103808
103997
|
kind: "event"
|
|
103809
103998
|
/**
|
|
103810
103999
|
* An event in the client’s own runtime. This toolkit never sees it
|
|
@@ -106575,6 +106764,9 @@ value?: string
|
|
|
106575
106764
|
}]
|
|
106576
106765
|
}
|
|
106577
106766
|
|
|
106767
|
+
/**
|
|
106768
|
+
* One delivery rule: which pages get which survey, when, how often, and to whom
|
|
106769
|
+
*/
|
|
106578
106770
|
export interface SupportRuleUpdateOutput {
|
|
106579
106771
|
/**
|
|
106580
106772
|
* Rule id
|
|
@@ -106588,6 +106780,9 @@ device: ("any" | "desktop" | "mobile")
|
|
|
106588
106780
|
* Whether the rule is live
|
|
106589
106781
|
*/
|
|
106590
106782
|
enabled: boolean
|
|
106783
|
+
/**
|
|
106784
|
+
* When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
|
|
106785
|
+
*/
|
|
106591
106786
|
trigger: {
|
|
106592
106787
|
/**
|
|
106593
106788
|
* Which kind of trigger this is
|
|
@@ -106614,13 +106809,22 @@ urlMatch: {
|
|
|
106614
106809
|
* exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
|
|
106615
106810
|
*/
|
|
106616
106811
|
kind: ("exact" | "prefix" | "contains" | "regex")
|
|
106812
|
+
/**
|
|
106813
|
+
* What the URL is compared against, read according to kind
|
|
106814
|
+
*/
|
|
106617
106815
|
value: string
|
|
106618
106816
|
}
|
|
106619
106817
|
/**
|
|
106620
106818
|
* ISO-8601 creation timestamp
|
|
106621
106819
|
*/
|
|
106622
106820
|
createdAt: string
|
|
106821
|
+
/**
|
|
106822
|
+
* How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
|
|
106823
|
+
*/
|
|
106623
106824
|
frequency: {
|
|
106825
|
+
/**
|
|
106826
|
+
* once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
|
|
106827
|
+
*/
|
|
106624
106828
|
kind: ("once" | "until_answered" | "always")
|
|
106625
106829
|
/**
|
|
106626
106830
|
* Days between showings, when set
|
|
@@ -109453,6 +109657,40 @@ archived: boolean
|
|
|
109453
109657
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
109454
109658
|
}
|
|
109455
109659
|
|
|
109660
|
+
export interface SupportStatusGetInput {
|
|
109661
|
+
/**
|
|
109662
|
+
* Status id
|
|
109663
|
+
*/
|
|
109664
|
+
id: string
|
|
109665
|
+
}
|
|
109666
|
+
|
|
109667
|
+
export interface SupportStatusGetOutput {
|
|
109668
|
+
/**
|
|
109669
|
+
* Status id
|
|
109670
|
+
*/
|
|
109671
|
+
id: string
|
|
109672
|
+
/**
|
|
109673
|
+
* Status name, unique within the product
|
|
109674
|
+
*/
|
|
109675
|
+
name: string
|
|
109676
|
+
/**
|
|
109677
|
+
* Display colour as a hex string
|
|
109678
|
+
*/
|
|
109679
|
+
color: string
|
|
109680
|
+
/**
|
|
109681
|
+
* Sort order within the status dictionary
|
|
109682
|
+
*/
|
|
109683
|
+
order: number
|
|
109684
|
+
/**
|
|
109685
|
+
* Archived statuses stay readable but are not offered as targets
|
|
109686
|
+
*/
|
|
109687
|
+
archived: boolean
|
|
109688
|
+
/**
|
|
109689
|
+
* Lifecycle bucket the status belongs to
|
|
109690
|
+
*/
|
|
109691
|
+
category: ("open" | "pending" | "resolved" | "closed")
|
|
109692
|
+
}
|
|
109693
|
+
|
|
109456
109694
|
export interface SupportStatusListInput {
|
|
109457
109695
|
/**
|
|
109458
109696
|
* Also return archived statuses (default false)
|
|
@@ -109635,6 +109873,14 @@ required?: boolean
|
|
|
109635
109873
|
* ISO-8601 last-modification timestamp
|
|
109636
109874
|
*/
|
|
109637
109875
|
updatedAt: string
|
|
109876
|
+
/**
|
|
109877
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
109878
|
+
*/
|
|
109879
|
+
questionIds: string[]
|
|
109880
|
+
/**
|
|
109881
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
109882
|
+
*/
|
|
109883
|
+
questionCount: number
|
|
109638
109884
|
}
|
|
109639
109885
|
|
|
109640
109886
|
export interface SupportSurveyCreateInput {
|
|
@@ -109797,6 +110043,14 @@ required?: boolean
|
|
|
109797
110043
|
* ISO-8601 last-modification timestamp
|
|
109798
110044
|
*/
|
|
109799
110045
|
updatedAt: string
|
|
110046
|
+
/**
|
|
110047
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110048
|
+
*/
|
|
110049
|
+
questionIds: string[]
|
|
110050
|
+
/**
|
|
110051
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110052
|
+
*/
|
|
110053
|
+
questionCount: number
|
|
109800
110054
|
}
|
|
109801
110055
|
|
|
109802
110056
|
export interface SupportSurveyGetInput {
|
|
@@ -109892,6 +110146,14 @@ required?: boolean
|
|
|
109892
110146
|
* ISO-8601 last-modification timestamp
|
|
109893
110147
|
*/
|
|
109894
110148
|
updatedAt: string
|
|
110149
|
+
/**
|
|
110150
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110151
|
+
*/
|
|
110152
|
+
questionIds: string[]
|
|
110153
|
+
/**
|
|
110154
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110155
|
+
*/
|
|
110156
|
+
questionCount: number
|
|
109895
110157
|
}
|
|
109896
110158
|
|
|
109897
110159
|
export interface SupportSurveyListInput {
|
|
@@ -110007,6 +110269,14 @@ required?: boolean
|
|
|
110007
110269
|
* ISO-8601 last-modification timestamp
|
|
110008
110270
|
*/
|
|
110009
110271
|
updatedAt: string
|
|
110272
|
+
/**
|
|
110273
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110274
|
+
*/
|
|
110275
|
+
questionIds: string[]
|
|
110276
|
+
/**
|
|
110277
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110278
|
+
*/
|
|
110279
|
+
questionCount: number
|
|
110010
110280
|
}[]
|
|
110011
110281
|
}
|
|
110012
110282
|
|
|
@@ -110103,6 +110373,14 @@ required?: boolean
|
|
|
110103
110373
|
* ISO-8601 last-modification timestamp
|
|
110104
110374
|
*/
|
|
110105
110375
|
updatedAt: string
|
|
110376
|
+
/**
|
|
110377
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110378
|
+
*/
|
|
110379
|
+
questionIds: string[]
|
|
110380
|
+
/**
|
|
110381
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110382
|
+
*/
|
|
110383
|
+
questionCount: number
|
|
110106
110384
|
}
|
|
110107
110385
|
|
|
110108
110386
|
export interface SupportSurveyStatsInput {
|
|
@@ -110325,6 +110603,14 @@ required?: boolean
|
|
|
110325
110603
|
* ISO-8601 last-modification timestamp
|
|
110326
110604
|
*/
|
|
110327
110605
|
updatedAt: string
|
|
110606
|
+
/**
|
|
110607
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110608
|
+
*/
|
|
110609
|
+
questionIds: string[]
|
|
110610
|
+
/**
|
|
110611
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110612
|
+
*/
|
|
110613
|
+
questionCount: number
|
|
110328
110614
|
}
|
|
110329
110615
|
|
|
110330
110616
|
export interface SupportSurveyUpdateInput {
|
|
@@ -110491,6 +110777,14 @@ required?: boolean
|
|
|
110491
110777
|
* ISO-8601 last-modification timestamp
|
|
110492
110778
|
*/
|
|
110493
110779
|
updatedAt: string
|
|
110780
|
+
/**
|
|
110781
|
+
* The same questions as a flat list of ids, in the order they are asked
|
|
110782
|
+
*/
|
|
110783
|
+
questionIds: string[]
|
|
110784
|
+
/**
|
|
110785
|
+
* How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
|
|
110786
|
+
*/
|
|
110787
|
+
questionCount: number
|
|
110494
110788
|
}
|
|
110495
110789
|
|
|
110496
110790
|
export interface SupportThreadAssignInput {
|
|
@@ -110571,6 +110865,10 @@ archived: boolean
|
|
|
110571
110865
|
*/
|
|
110572
110866
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
110573
110867
|
}
|
|
110868
|
+
/**
|
|
110869
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
110870
|
+
*/
|
|
110871
|
+
labelIds: string[]
|
|
110574
110872
|
/**
|
|
110575
110873
|
* Free-form client-owned JSON
|
|
110576
110874
|
*/
|
|
@@ -110593,6 +110891,10 @@ createdAt: string
|
|
|
110593
110891
|
* ISO-8601 last-modification timestamp
|
|
110594
110892
|
*/
|
|
110595
110893
|
updatedAt: string
|
|
110894
|
+
/**
|
|
110895
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
110896
|
+
*/
|
|
110897
|
+
labelNames: string[]
|
|
110596
110898
|
/**
|
|
110597
110899
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
110598
110900
|
*/
|
|
@@ -110713,6 +111015,10 @@ archived: boolean
|
|
|
110713
111015
|
*/
|
|
110714
111016
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
110715
111017
|
}
|
|
111018
|
+
/**
|
|
111019
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
111020
|
+
*/
|
|
111021
|
+
labelIds: string[]
|
|
110716
111022
|
/**
|
|
110717
111023
|
* Free-form client-owned JSON
|
|
110718
111024
|
*/
|
|
@@ -110735,6 +111041,10 @@ createdAt: string
|
|
|
110735
111041
|
* ISO-8601 last-modification timestamp
|
|
110736
111042
|
*/
|
|
110737
111043
|
updatedAt: string
|
|
111044
|
+
/**
|
|
111045
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
111046
|
+
*/
|
|
111047
|
+
labelNames: string[]
|
|
110738
111048
|
/**
|
|
110739
111049
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
110740
111050
|
*/
|
|
@@ -110827,6 +111137,10 @@ archived: boolean
|
|
|
110827
111137
|
*/
|
|
110828
111138
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
110829
111139
|
}
|
|
111140
|
+
/**
|
|
111141
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
111142
|
+
*/
|
|
111143
|
+
labelIds: string[]
|
|
110830
111144
|
/**
|
|
110831
111145
|
* Free-form client-owned JSON
|
|
110832
111146
|
*/
|
|
@@ -110849,6 +111163,10 @@ createdAt: string
|
|
|
110849
111163
|
* ISO-8601 last-modification timestamp
|
|
110850
111164
|
*/
|
|
110851
111165
|
updatedAt: string
|
|
111166
|
+
/**
|
|
111167
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
111168
|
+
*/
|
|
111169
|
+
labelNames: string[]
|
|
110852
111170
|
/**
|
|
110853
111171
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
110854
111172
|
*/
|
|
@@ -111001,6 +111319,10 @@ archived: boolean
|
|
|
111001
111319
|
*/
|
|
111002
111320
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
111003
111321
|
}
|
|
111322
|
+
/**
|
|
111323
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
111324
|
+
*/
|
|
111325
|
+
labelIds: string[]
|
|
111004
111326
|
/**
|
|
111005
111327
|
* Free-form client-owned JSON
|
|
111006
111328
|
*/
|
|
@@ -111023,6 +111345,10 @@ createdAt: string
|
|
|
111023
111345
|
* ISO-8601 last-modification timestamp
|
|
111024
111346
|
*/
|
|
111025
111347
|
updatedAt: string
|
|
111348
|
+
/**
|
|
111349
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
111350
|
+
*/
|
|
111351
|
+
labelNames: string[]
|
|
111026
111352
|
/**
|
|
111027
111353
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
111028
111354
|
*/
|
|
@@ -111120,6 +111446,10 @@ archived: boolean
|
|
|
111120
111446
|
*/
|
|
111121
111447
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
111122
111448
|
}
|
|
111449
|
+
/**
|
|
111450
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
111451
|
+
*/
|
|
111452
|
+
labelIds: string[]
|
|
111123
111453
|
/**
|
|
111124
111454
|
* Free-form client-owned JSON
|
|
111125
111455
|
*/
|
|
@@ -111142,6 +111472,10 @@ createdAt: string
|
|
|
111142
111472
|
* ISO-8601 last-modification timestamp
|
|
111143
111473
|
*/
|
|
111144
111474
|
updatedAt: string
|
|
111475
|
+
/**
|
|
111476
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
111477
|
+
*/
|
|
111478
|
+
labelNames: string[]
|
|
111145
111479
|
/**
|
|
111146
111480
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
111147
111481
|
*/
|
|
@@ -111254,6 +111588,10 @@ archived: boolean
|
|
|
111254
111588
|
*/
|
|
111255
111589
|
category: ("open" | "pending" | "resolved" | "closed")
|
|
111256
111590
|
}
|
|
111591
|
+
/**
|
|
111592
|
+
* The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
|
|
111593
|
+
*/
|
|
111594
|
+
labelIds: string[]
|
|
111257
111595
|
/**
|
|
111258
111596
|
* Free-form client-owned JSON
|
|
111259
111597
|
*/
|
|
@@ -111276,6 +111614,10 @@ createdAt: string
|
|
|
111276
111614
|
* ISO-8601 last-modification timestamp
|
|
111277
111615
|
*/
|
|
111278
111616
|
updatedAt: string
|
|
111617
|
+
/**
|
|
111618
|
+
* The same labels as a flat list of names, in the order labels[] has them
|
|
111619
|
+
*/
|
|
111620
|
+
labelNames: string[]
|
|
111279
111621
|
/**
|
|
111280
111622
|
* ISO-8601 timestamp of the last reply, or null while there are none
|
|
111281
111623
|
*/
|
|
@@ -111723,54 +112065,150 @@ secretPrefix: string
|
|
|
111723
112065
|
}
|
|
111724
112066
|
|
|
111725
112067
|
export interface TrackingDomainsCreateInput {
|
|
112068
|
+
/**
|
|
112069
|
+
* Bare hostname to serve tracking from, which must sit under the chosen domain (e.g. analytics.example.com); a suggestion is used when omitted
|
|
112070
|
+
*/
|
|
111726
112071
|
host?: string
|
|
112072
|
+
/**
|
|
112073
|
+
* DNS records to request instead of the default CNAME to the tracking edge; leave unset unless the domain needs custom records
|
|
112074
|
+
*/
|
|
111727
112075
|
records?: {
|
|
111728
|
-
|
|
112076
|
+
/**
|
|
112077
|
+
* Time-to-live in seconds the record should be published with; the platform picks one when omitted
|
|
112078
|
+
*/
|
|
112079
|
+
ttl?: number
|
|
112080
|
+
/**
|
|
112081
|
+
* Fully-qualified host the record is published at; defaults to the claimed tracking host
|
|
112082
|
+
*/
|
|
111729
112083
|
name?: string
|
|
112084
|
+
/**
|
|
112085
|
+
* Value the record points at — the edge hostname for a CNAME, the proof string for a TXT
|
|
112086
|
+
*/
|
|
111730
112087
|
target: string
|
|
112088
|
+
/**
|
|
112089
|
+
* DNS record type to publish, e.g. CNAME or TXT
|
|
112090
|
+
*/
|
|
111731
112091
|
recordType: string
|
|
111732
112092
|
}[]
|
|
112093
|
+
/**
|
|
112094
|
+
* Product domain to claim the tracking host under, as listed in `domains[].domainId` by tracking_domains_list
|
|
112095
|
+
*/
|
|
111733
112096
|
domainId: string
|
|
111734
112097
|
}
|
|
111735
112098
|
|
|
111736
112099
|
export interface TrackingDomainsCreateOutput {
|
|
112100
|
+
/**
|
|
112101
|
+
* The binding as just claimed; it starts `pending` and goes `active` once the DNS is observed live
|
|
112102
|
+
*/
|
|
111737
112103
|
binding: {
|
|
112104
|
+
/**
|
|
112105
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112106
|
+
*/
|
|
111738
112107
|
host: string
|
|
112108
|
+
/**
|
|
112109
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112110
|
+
*/
|
|
111739
112111
|
status: ("pending" | "active" | "failed")
|
|
112112
|
+
/**
|
|
112113
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112114
|
+
*/
|
|
111740
112115
|
records: unknown[]
|
|
112116
|
+
/**
|
|
112117
|
+
* Product domain this tracking host sits under
|
|
112118
|
+
*/
|
|
111741
112119
|
domainId: string
|
|
112120
|
+
/**
|
|
112121
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112122
|
+
*/
|
|
111742
112123
|
bindingId: string
|
|
112124
|
+
/**
|
|
112125
|
+
* When the binding was claimed
|
|
112126
|
+
*/
|
|
111743
112127
|
createdAt: string
|
|
112128
|
+
/**
|
|
112129
|
+
* Product the binding belongs to
|
|
112130
|
+
*/
|
|
111744
112131
|
productId: string
|
|
112132
|
+
/**
|
|
112133
|
+
* When the binding last changed status or records
|
|
112134
|
+
*/
|
|
111745
112135
|
updatedAt: string
|
|
112136
|
+
/**
|
|
112137
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112138
|
+
*/
|
|
111746
112139
|
statusDetail: (string | null)
|
|
112140
|
+
/**
|
|
112141
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112142
|
+
*/
|
|
111747
112143
|
ownerExtension: string
|
|
111748
112144
|
}
|
|
112145
|
+
/**
|
|
112146
|
+
* Ordered, human-readable steps for publishing the DNS the claim needs; empty when the platform manages the domain itself
|
|
112147
|
+
*/
|
|
111749
112148
|
instructions: string[]
|
|
111750
112149
|
}
|
|
111751
112150
|
|
|
111752
112151
|
export interface TrackingDomainsDeleteInput {
|
|
112152
|
+
/**
|
|
112153
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112154
|
+
*/
|
|
111753
112155
|
bindingId: string
|
|
111754
112156
|
}
|
|
111755
112157
|
|
|
111756
112158
|
export interface TrackingDomainsDeleteOutput {
|
|
112159
|
+
/**
|
|
112160
|
+
* Always true — the release succeeded; a failure arrives as an error, not as false
|
|
112161
|
+
*/
|
|
111757
112162
|
ok: true
|
|
111758
112163
|
}
|
|
111759
112164
|
|
|
111760
112165
|
export interface TrackingDomainsGetInput {
|
|
112166
|
+
/**
|
|
112167
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112168
|
+
*/
|
|
111761
112169
|
bindingId: string
|
|
111762
112170
|
}
|
|
111763
112171
|
|
|
111764
112172
|
export interface TrackingDomainsGetOutput {
|
|
112173
|
+
/**
|
|
112174
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112175
|
+
*/
|
|
111765
112176
|
host: string
|
|
112177
|
+
/**
|
|
112178
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112179
|
+
*/
|
|
111766
112180
|
status: ("pending" | "active" | "failed")
|
|
112181
|
+
/**
|
|
112182
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112183
|
+
*/
|
|
111767
112184
|
records: unknown[]
|
|
112185
|
+
/**
|
|
112186
|
+
* Product domain this tracking host sits under
|
|
112187
|
+
*/
|
|
111768
112188
|
domainId: string
|
|
112189
|
+
/**
|
|
112190
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112191
|
+
*/
|
|
111769
112192
|
bindingId: string
|
|
112193
|
+
/**
|
|
112194
|
+
* When the binding was claimed
|
|
112195
|
+
*/
|
|
111770
112196
|
createdAt: string
|
|
112197
|
+
/**
|
|
112198
|
+
* Product the binding belongs to
|
|
112199
|
+
*/
|
|
111771
112200
|
productId: string
|
|
112201
|
+
/**
|
|
112202
|
+
* When the binding last changed status or records
|
|
112203
|
+
*/
|
|
111772
112204
|
updatedAt: string
|
|
112205
|
+
/**
|
|
112206
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112207
|
+
*/
|
|
111773
112208
|
statusDetail: (string | null)
|
|
112209
|
+
/**
|
|
112210
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112211
|
+
*/
|
|
111774
112212
|
ownerExtension: string
|
|
111775
112213
|
}
|
|
111776
112214
|
|
|
@@ -111779,41 +112217,125 @@ export interface TrackingDomainsListInput {
|
|
|
111779
112217
|
}
|
|
111780
112218
|
|
|
111781
112219
|
export interface TrackingDomainsListOutput {
|
|
112220
|
+
/**
|
|
112221
|
+
* The product's domains as the platform vouches for them — the set a new tracking host may be claimed under
|
|
112222
|
+
*/
|
|
111782
112223
|
domains: {
|
|
112224
|
+
/**
|
|
112225
|
+
* Who runs the DNS: `managed` means the platform publishes records for you, `external` means you publish them yourself
|
|
112226
|
+
*/
|
|
111783
112227
|
mode: ("external" | "managed")
|
|
112228
|
+
/**
|
|
112229
|
+
* Apex domain name the product owns, e.g. example.com
|
|
112230
|
+
*/
|
|
111784
112231
|
domain: string
|
|
112232
|
+
/**
|
|
112233
|
+
* Stable platform id of the product domain, and what a claim takes as its `domainId`
|
|
112234
|
+
*/
|
|
111785
112235
|
domainId: string
|
|
112236
|
+
/**
|
|
112237
|
+
* ISO-8601 timestamp of when the domain was added to the product
|
|
112238
|
+
*/
|
|
111786
112239
|
createdAt: string
|
|
112240
|
+
/**
|
|
112241
|
+
* How many extensions currently hold a host binding under this domain
|
|
112242
|
+
*/
|
|
111787
112243
|
extensionCount: number
|
|
111788
112244
|
}[]
|
|
112245
|
+
/**
|
|
112246
|
+
* Tracking-host bindings this toolkit currently holds across those domains
|
|
112247
|
+
*/
|
|
111789
112248
|
bindings: {
|
|
112249
|
+
/**
|
|
112250
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112251
|
+
*/
|
|
111790
112252
|
host: string
|
|
112253
|
+
/**
|
|
112254
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112255
|
+
*/
|
|
111791
112256
|
status: ("pending" | "active" | "failed")
|
|
112257
|
+
/**
|
|
112258
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112259
|
+
*/
|
|
111792
112260
|
records: unknown[]
|
|
112261
|
+
/**
|
|
112262
|
+
* Product domain this tracking host sits under
|
|
112263
|
+
*/
|
|
111793
112264
|
domainId: string
|
|
112265
|
+
/**
|
|
112266
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112267
|
+
*/
|
|
111794
112268
|
bindingId: string
|
|
112269
|
+
/**
|
|
112270
|
+
* When the binding was claimed
|
|
112271
|
+
*/
|
|
111795
112272
|
createdAt: string
|
|
112273
|
+
/**
|
|
112274
|
+
* Product the binding belongs to
|
|
112275
|
+
*/
|
|
111796
112276
|
productId: string
|
|
112277
|
+
/**
|
|
112278
|
+
* When the binding last changed status or records
|
|
112279
|
+
*/
|
|
111797
112280
|
updatedAt: string
|
|
112281
|
+
/**
|
|
112282
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112283
|
+
*/
|
|
111798
112284
|
statusDetail: (string | null)
|
|
112285
|
+
/**
|
|
112286
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112287
|
+
*/
|
|
111799
112288
|
ownerExtension: string
|
|
111800
112289
|
}[]
|
|
111801
112290
|
}
|
|
111802
112291
|
|
|
111803
112292
|
export interface TrackingDomainsVerifyInput {
|
|
112293
|
+
/**
|
|
112294
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112295
|
+
*/
|
|
111804
112296
|
bindingId: string
|
|
111805
112297
|
}
|
|
111806
112298
|
|
|
111807
112299
|
export interface TrackingDomainsVerifyOutput {
|
|
112300
|
+
/**
|
|
112301
|
+
* Fully-qualified tracking host this binding serves, e.g. analytics.example.com
|
|
112302
|
+
*/
|
|
111808
112303
|
host: string
|
|
112304
|
+
/**
|
|
112305
|
+
* Where the claim stands: `pending` while DNS has not been observed live, `active` once it serves, `failed` when the check gave up
|
|
112306
|
+
*/
|
|
111809
112307
|
status: ("pending" | "active" | "failed")
|
|
112308
|
+
/**
|
|
112309
|
+
* DNS records the platform expects to see published for this host, as returned when the binding was claimed
|
|
112310
|
+
*/
|
|
111810
112311
|
records: unknown[]
|
|
112312
|
+
/**
|
|
112313
|
+
* Product domain this tracking host sits under
|
|
112314
|
+
*/
|
|
111811
112315
|
domainId: string
|
|
112316
|
+
/**
|
|
112317
|
+
* Id of the tracking-host binding to act on, as returned in `bindings[].bindingId` by tracking_domains_list
|
|
112318
|
+
*/
|
|
111812
112319
|
bindingId: string
|
|
112320
|
+
/**
|
|
112321
|
+
* When the binding was claimed
|
|
112322
|
+
*/
|
|
111813
112323
|
createdAt: string
|
|
112324
|
+
/**
|
|
112325
|
+
* Product the binding belongs to
|
|
112326
|
+
*/
|
|
111814
112327
|
productId: string
|
|
112328
|
+
/**
|
|
112329
|
+
* When the binding last changed status or records
|
|
112330
|
+
*/
|
|
111815
112331
|
updatedAt: string
|
|
112332
|
+
/**
|
|
112333
|
+
* Human-readable reason behind the current status, such as the DNS error that made it fail; null while there is nothing to report
|
|
112334
|
+
*/
|
|
111816
112335
|
statusDetail: (string | null)
|
|
112336
|
+
/**
|
|
112337
|
+
* Extension that claimed the binding; tracking bindings are owned by this toolkit
|
|
112338
|
+
*/
|
|
111817
112339
|
ownerExtension: string
|
|
111818
112340
|
}
|
|
111819
112341
|
|
|
@@ -111825,7 +112347,13 @@ name: string
|
|
|
111825
112347
|
}
|
|
111826
112348
|
|
|
111827
112349
|
export interface TrackingEventNamesArchiveOutput {
|
|
112350
|
+
/**
|
|
112351
|
+
* Event name whose status was changed
|
|
112352
|
+
*/
|
|
111828
112353
|
name: string
|
|
112354
|
+
/**
|
|
112355
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
112356
|
+
*/
|
|
111829
112357
|
status: ("active" | "archived")
|
|
111830
112358
|
}
|
|
111831
112359
|
|
|
@@ -111849,13 +112377,37 @@ status?: ("active" | "archived")
|
|
|
111849
112377
|
}
|
|
111850
112378
|
|
|
111851
112379
|
export interface TrackingEventNamesListOutput {
|
|
112380
|
+
/**
|
|
112381
|
+
* The matching catalogue entries, ordered by the requested sort
|
|
112382
|
+
*/
|
|
111852
112383
|
names: {
|
|
112384
|
+
/**
|
|
112385
|
+
* Event name exactly as the tracking script sends it — the string other tools take as their `event`
|
|
112386
|
+
*/
|
|
111853
112387
|
name: string
|
|
112388
|
+
/**
|
|
112389
|
+
* How many events with this name have been received in total
|
|
112390
|
+
*/
|
|
111854
112391
|
count: number
|
|
112392
|
+
/**
|
|
112393
|
+
* `active` for a name in use, `archived` for one hidden from pickers and reports
|
|
112394
|
+
*/
|
|
111855
112395
|
status: string
|
|
112396
|
+
/**
|
|
112397
|
+
* ISO-8601 timestamp of the most recent event received under this name
|
|
112398
|
+
*/
|
|
111856
112399
|
lastSeen: string
|
|
112400
|
+
/**
|
|
112401
|
+
* ISO-8601 timestamp of the first event ever received under this name
|
|
112402
|
+
*/
|
|
111857
112403
|
firstSeen: string
|
|
112404
|
+
/**
|
|
112405
|
+
* Property keys sampled from recent events with this name, so you can see what the payload carries
|
|
112406
|
+
*/
|
|
111858
112407
|
propsKeys: string[]
|
|
112408
|
+
/**
|
|
112409
|
+
* Whether this name is marked a conversion, which is what makes it available as a workflow trigger
|
|
112410
|
+
*/
|
|
111859
112411
|
isConversion: boolean
|
|
111860
112412
|
}[]
|
|
111861
112413
|
}
|
|
@@ -111872,7 +112424,13 @@ isConversion: boolean
|
|
|
111872
112424
|
}
|
|
111873
112425
|
|
|
111874
112426
|
export interface TrackingEventNamesSetConversionOutput {
|
|
112427
|
+
/**
|
|
112428
|
+
* Event name the conversion flag was applied to
|
|
112429
|
+
*/
|
|
111875
112430
|
name: string
|
|
112431
|
+
/**
|
|
112432
|
+
* The flag as it now stands after the change
|
|
112433
|
+
*/
|
|
111876
112434
|
isConversion: boolean
|
|
111877
112435
|
}
|
|
111878
112436
|
|
|
@@ -111884,7 +112442,13 @@ name: string
|
|
|
111884
112442
|
}
|
|
111885
112443
|
|
|
111886
112444
|
export interface TrackingEventNamesUnarchiveOutput {
|
|
112445
|
+
/**
|
|
112446
|
+
* Event name whose status was changed
|
|
112447
|
+
*/
|
|
111887
112448
|
name: string
|
|
112449
|
+
/**
|
|
112450
|
+
* The status as it now stands: `archived` hides the name from pickers and reports, `active` restores it
|
|
112451
|
+
*/
|
|
111888
112452
|
status: ("active" | "archived")
|
|
111889
112453
|
}
|
|
111890
112454
|
|
|
@@ -111893,14 +112457,32 @@ export interface TrackingGoogleadsConnectionStatusInput {
|
|
|
111893
112457
|
}
|
|
111894
112458
|
|
|
111895
112459
|
export type TrackingGoogleadsConnectionStatusOutput = ({
|
|
112460
|
+
/**
|
|
112461
|
+
* Where the Google Ads connection stands: connected means an account is chosen and its credential works, so the other tools will run.
|
|
112462
|
+
*/
|
|
111896
112463
|
state: "connected"
|
|
112464
|
+
/**
|
|
112465
|
+
* The Google Ads account the data is read from and conversions are written to, as a customer id. Only present while connected.
|
|
112466
|
+
*/
|
|
111897
112467
|
customerId: string
|
|
112468
|
+
/**
|
|
112469
|
+
* The manager account the connection authenticates through, as a Google customer id. Same as customerId when the account is not managed. Only present while connected.
|
|
112470
|
+
*/
|
|
111898
112471
|
loginCustomerId: string
|
|
111899
112472
|
} | {
|
|
112473
|
+
/**
|
|
112474
|
+
* Google is authorised but nobody has picked which Google Ads account to use yet, so nothing can run until someone does.
|
|
112475
|
+
*/
|
|
111900
112476
|
state: "pending_account_selection"
|
|
111901
112477
|
} | {
|
|
112478
|
+
/**
|
|
112479
|
+
* The Google authorisation expired or was revoked and has to be granted again before anything can run.
|
|
112480
|
+
*/
|
|
111902
112481
|
state: "reauth_required"
|
|
111903
112482
|
} | {
|
|
112483
|
+
/**
|
|
112484
|
+
* No Google Ads connection has been set up for this product at all.
|
|
112485
|
+
*/
|
|
111904
112486
|
state: "not_connected"
|
|
111905
112487
|
})
|
|
111906
112488
|
|
|
@@ -111921,26 +112503,77 @@ export interface TrackingGoogleadsFeedbackConfigGetInput {
|
|
|
111921
112503
|
}
|
|
111922
112504
|
|
|
111923
112505
|
export interface TrackingGoogleadsFeedbackConfigGetOutput {
|
|
112506
|
+
/**
|
|
112507
|
+
* How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions, so send only to actions the tag does not already cover; fresh_pixel means these uploads are the only source.
|
|
112508
|
+
*/
|
|
111924
112509
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
112510
|
+
/**
|
|
112511
|
+
* Which tracked events become which Google Ads conversion action, and where each one takes its money value from. Disabled rules stay listed.
|
|
112512
|
+
*/
|
|
111925
112513
|
rules: {
|
|
112514
|
+
/**
|
|
112515
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
112516
|
+
*/
|
|
111926
112517
|
event: string
|
|
112518
|
+
/**
|
|
112519
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
112520
|
+
*/
|
|
111927
112521
|
value: ({
|
|
112522
|
+
/**
|
|
112523
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112524
|
+
*/
|
|
111928
112525
|
source: "revenue"
|
|
111929
112526
|
} | {
|
|
112527
|
+
/**
|
|
112528
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112529
|
+
*/
|
|
111930
112530
|
source: "dynamic"
|
|
111931
112531
|
} | {
|
|
112532
|
+
/**
|
|
112533
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112534
|
+
*/
|
|
111932
112535
|
source: "fixed"
|
|
112536
|
+
/**
|
|
112537
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
112538
|
+
*/
|
|
111933
112539
|
currency: string
|
|
112540
|
+
/**
|
|
112541
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
112542
|
+
*/
|
|
111934
112543
|
amountMinor: number
|
|
111935
112544
|
})
|
|
112545
|
+
/**
|
|
112546
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
112547
|
+
*/
|
|
111936
112548
|
enabled: boolean
|
|
112549
|
+
/**
|
|
112550
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
112551
|
+
*/
|
|
111937
112552
|
conversionAction: string
|
|
111938
112553
|
}[]
|
|
112554
|
+
/**
|
|
112555
|
+
* Whether conversions are being sent to Google Ads at all. False leaves every rule below in place but uploads nothing.
|
|
112556
|
+
*/
|
|
111939
112557
|
enabled: boolean
|
|
112558
|
+
/**
|
|
112559
|
+
* The tenant this configuration belongs to. Never supplied by a caller — it comes from the authenticated identity.
|
|
112560
|
+
*/
|
|
111940
112561
|
productId: string
|
|
112562
|
+
/**
|
|
112563
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched. Google rejects clicks older than about 90 days.
|
|
112564
|
+
*/
|
|
111941
112565
|
lookbackDays: number
|
|
112566
|
+
/**
|
|
112567
|
+
* Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
|
|
112568
|
+
*/
|
|
111942
112569
|
accountCurrency: (string | null)
|
|
112570
|
+
/**
|
|
112571
|
+
* The event names that may use the Dynamic value source, because revenue is known for them. Any other event needs a fixed amount.
|
|
112572
|
+
*/
|
|
111943
112573
|
dynamicValueEvents: string[]
|
|
112574
|
+
/**
|
|
112575
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
112576
|
+
*/
|
|
111944
112577
|
enhancedConversions: boolean
|
|
111945
112578
|
}
|
|
111946
112579
|
|
|
@@ -111957,11 +112590,23 @@ rules?: {
|
|
|
111957
112590
|
* Any tracked event-name for this product (validated against the event-name catalog)
|
|
111958
112591
|
*/
|
|
111959
112592
|
event: string
|
|
112593
|
+
/**
|
|
112594
|
+
* What monetary value to report to Google for each conversion this rule uploads
|
|
112595
|
+
*/
|
|
111960
112596
|
value: ({
|
|
112597
|
+
/**
|
|
112598
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112599
|
+
*/
|
|
111961
112600
|
source: "revenue"
|
|
111962
112601
|
} | {
|
|
112602
|
+
/**
|
|
112603
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112604
|
+
*/
|
|
111963
112605
|
source: "dynamic"
|
|
111964
112606
|
} | {
|
|
112607
|
+
/**
|
|
112608
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112609
|
+
*/
|
|
111965
112610
|
source: "fixed"
|
|
111966
112611
|
/**
|
|
111967
112612
|
* ISO-4217 currency code, e.g. USD
|
|
@@ -111972,6 +112617,9 @@ currency: string
|
|
|
111972
112617
|
*/
|
|
111973
112618
|
amountMinor?: number
|
|
111974
112619
|
})
|
|
112620
|
+
/**
|
|
112621
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
112622
|
+
*/
|
|
111975
112623
|
enabled: boolean
|
|
111976
112624
|
/**
|
|
111977
112625
|
* Google conversion action resource: customers/<cid>/conversionActions/<id>
|
|
@@ -111993,28 +112641,82 @@ enhancedConversions?: boolean
|
|
|
111993
112641
|
}
|
|
111994
112642
|
|
|
111995
112643
|
export interface TrackingGoogleadsFeedbackConfigSetOutput {
|
|
112644
|
+
/**
|
|
112645
|
+
* The config as it now stands after the write, with server-side normalisation applied
|
|
112646
|
+
*/
|
|
111996
112647
|
config: {
|
|
112648
|
+
/**
|
|
112649
|
+
* How our uploads sit beside your own tag: `existing_pixel` only fills gaps it left, `fresh_pixel` reports our data alone
|
|
112650
|
+
*/
|
|
111997
112651
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
112652
|
+
/**
|
|
112653
|
+
* The event-to-conversion-action mappings, each with its own value source
|
|
112654
|
+
*/
|
|
111998
112655
|
rules: {
|
|
112656
|
+
/**
|
|
112657
|
+
* Tracked event-name this rule uploads, as listed by tracking_event-names_list
|
|
112658
|
+
*/
|
|
111999
112659
|
event: string
|
|
112660
|
+
/**
|
|
112661
|
+
* What monetary value is reported to Google for each conversion this rule uploads
|
|
112662
|
+
*/
|
|
112000
112663
|
value: ({
|
|
112664
|
+
/**
|
|
112665
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112666
|
+
*/
|
|
112001
112667
|
source: "revenue"
|
|
112002
112668
|
} | {
|
|
112669
|
+
/**
|
|
112670
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112671
|
+
*/
|
|
112003
112672
|
source: "dynamic"
|
|
112004
112673
|
} | {
|
|
112674
|
+
/**
|
|
112675
|
+
* Where the conversion value comes from: `revenue` uses the net revenue of the subscription, `dynamic` reads the amount carried by the occurrence itself, `fixed` always sends the same amount
|
|
112676
|
+
*/
|
|
112005
112677
|
source: "fixed"
|
|
112678
|
+
/**
|
|
112679
|
+
* ISO-4217 currency the fixed amount is denominated in, e.g. USD
|
|
112680
|
+
*/
|
|
112006
112681
|
currency: string
|
|
112682
|
+
/**
|
|
112683
|
+
* The fixed value in minor units (e.g. cents); 0 means a value-less lead conversion
|
|
112684
|
+
*/
|
|
112007
112685
|
amountMinor: number
|
|
112008
112686
|
})
|
|
112687
|
+
/**
|
|
112688
|
+
* Whether this single mapping is live; a disabled rule is kept but uploads nothing
|
|
112689
|
+
*/
|
|
112009
112690
|
enabled: boolean
|
|
112691
|
+
/**
|
|
112692
|
+
* Google conversion action the event is reported as, in the form customers/<cid>/conversionActions/<id>
|
|
112693
|
+
*/
|
|
112010
112694
|
conversionAction: string
|
|
112011
112695
|
}[]
|
|
112696
|
+
/**
|
|
112697
|
+
* Master switch: with it off no rule uploads anything, however the individual rules are set
|
|
112698
|
+
*/
|
|
112012
112699
|
enabled: boolean
|
|
112700
|
+
/**
|
|
112701
|
+
* Product this conversion-feedback config belongs to
|
|
112702
|
+
*/
|
|
112013
112703
|
productId: string
|
|
112704
|
+
/**
|
|
112705
|
+
* How many days back a click may have happened and still be matched to a conversion (max 90)
|
|
112706
|
+
*/
|
|
112014
112707
|
lookbackDays: number
|
|
112708
|
+
/**
|
|
112709
|
+
* The connected Google Ads account's currency, best-effort; null or absent when it could not be read
|
|
112710
|
+
*/
|
|
112015
112711
|
accountCurrency?: (string | null)
|
|
112712
|
+
/**
|
|
112713
|
+
* Whether hashed email and phone are sent alongside gclid as additional match keys, which raises match rates
|
|
112714
|
+
*/
|
|
112016
112715
|
enhancedConversions: boolean
|
|
112017
112716
|
}
|
|
112717
|
+
/**
|
|
112718
|
+
* Plain-language safety notes about what this combination of mode and match keys will do to the connected account
|
|
112719
|
+
*/
|
|
112018
112720
|
guidance: string[]
|
|
112019
112721
|
}
|
|
112020
112722
|
|
|
@@ -112023,15 +112725,48 @@ export interface TrackingGoogleadsFeedbackRunInput {
|
|
|
112023
112725
|
}
|
|
112024
112726
|
|
|
112025
112727
|
export interface TrackingGoogleadsFeedbackRunOutput {
|
|
112728
|
+
/**
|
|
112729
|
+
* This one upload pass. Match the completion event back to this step on it, not on productId: the daily cron pass and a manual run on the same day are two passes of the same product.
|
|
112730
|
+
*/
|
|
112731
|
+
runId: string
|
|
112732
|
+
/**
|
|
112733
|
+
* Rows Google rejected in this pass.
|
|
112734
|
+
*/
|
|
112026
112735
|
failed: number
|
|
112736
|
+
/**
|
|
112737
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
112738
|
+
*/
|
|
112027
112739
|
matched: number
|
|
112740
|
+
/**
|
|
112741
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
112742
|
+
*/
|
|
112028
112743
|
noGclid: number
|
|
112744
|
+
/**
|
|
112745
|
+
* Present only when the pass did no work, and says why: feedback is switched off, no rule is enabled, or no Google Ads account is connected. Absent on a pass that ran.
|
|
112746
|
+
*/
|
|
112029
112747
|
skipped?: ("disabled" | "no_rules" | "not_connected")
|
|
112748
|
+
/**
|
|
112749
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
112750
|
+
*/
|
|
112030
112751
|
selected: number
|
|
112752
|
+
/**
|
|
112753
|
+
* Rows Google accepted in this pass.
|
|
112754
|
+
*/
|
|
112031
112755
|
uploaded: number
|
|
112756
|
+
/**
|
|
112757
|
+
* The tenant whose conversions this pass uploaded.
|
|
112758
|
+
*/
|
|
112032
112759
|
productId: string
|
|
112760
|
+
/**
|
|
112761
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
112762
|
+
*/
|
|
112033
112763
|
zeroValue: number
|
|
112034
|
-
|
|
112764
|
+
/**
|
|
112765
|
+
* Google's own rejection detail, passed through unchanged, when it refused part of the batch. Absent when it accepted everything.
|
|
112766
|
+
*/
|
|
112767
|
+
partialFailureError?: {
|
|
112768
|
+
[k: string]: unknown
|
|
112769
|
+
}
|
|
112035
112770
|
}
|
|
112036
112771
|
|
|
112037
112772
|
export interface TrackingGoogleadsFeedbackStatusInput {
|
|
@@ -112039,25 +112774,82 @@ export interface TrackingGoogleadsFeedbackStatusInput {
|
|
|
112039
112774
|
}
|
|
112040
112775
|
|
|
112041
112776
|
export interface TrackingGoogleadsFeedbackStatusOutput {
|
|
112777
|
+
/**
|
|
112778
|
+
* How the uploads coexist with the account's own tag: existing_pixel means the Google tag also records these conversions; fresh_pixel means these uploads are the only source.
|
|
112779
|
+
*/
|
|
112042
112780
|
mode: ("existing_pixel" | "fresh_pixel")
|
|
112781
|
+
/**
|
|
112782
|
+
* Rows Google has rejected since this product was connected, across every pass.
|
|
112783
|
+
*/
|
|
112043
112784
|
failed: number
|
|
112785
|
+
/**
|
|
112786
|
+
* Whether conversions are being sent to Google Ads at all.
|
|
112787
|
+
*/
|
|
112044
112788
|
enabled: boolean
|
|
112789
|
+
/**
|
|
112790
|
+
* Coverage of the most recent pass. Null when no pass has run for this product yet.
|
|
112791
|
+
*/
|
|
112045
112792
|
lastRun: ({
|
|
112793
|
+
/**
|
|
112794
|
+
* When the last pass finished. Null when the stored summary predates this field.
|
|
112795
|
+
*/
|
|
112046
112796
|
ranAt: (string | null)
|
|
112797
|
+
/**
|
|
112798
|
+
* Rows Google rejected. Anything above zero is what makes the status partial.
|
|
112799
|
+
*/
|
|
112047
112800
|
failed: number
|
|
112801
|
+
/**
|
|
112802
|
+
* How the pass ended: ok is a clean pass, partial means Google rejected some rows and accepted others, not_connected means no Google Ads account was reachable and nothing was sent.
|
|
112803
|
+
*/
|
|
112048
112804
|
status: ("ok" | "partial" | "not_connected")
|
|
112805
|
+
/**
|
|
112806
|
+
* Of those, the ones that had a usable click id and a value, so a payload was actually built for them.
|
|
112807
|
+
*/
|
|
112049
112808
|
matched: number
|
|
112809
|
+
/**
|
|
112810
|
+
* Conversions dropped because no Google click could be tied to the person. A high count here is a tagging problem, not a Google one.
|
|
112811
|
+
*/
|
|
112050
112812
|
noGclid: number
|
|
112813
|
+
/**
|
|
112814
|
+
* Conversions in the lookback window that an enabled rule applied to.
|
|
112815
|
+
*/
|
|
112051
112816
|
selected: number
|
|
112817
|
+
/**
|
|
112818
|
+
* Rows Google accepted.
|
|
112819
|
+
*/
|
|
112052
112820
|
uploaded: number
|
|
112821
|
+
/**
|
|
112822
|
+
* Conversions held back because their money value had not landed yet. They are retried on a later pass.
|
|
112823
|
+
*/
|
|
112053
112824
|
zeroValue: number
|
|
112054
112825
|
} | null)
|
|
112826
|
+
/**
|
|
112827
|
+
* Plain-language warnings about the current setup, such as double counting when the Google tag already records the same conversion. Empty when nothing needs saying.
|
|
112828
|
+
*/
|
|
112055
112829
|
guidance: string[]
|
|
112830
|
+
/**
|
|
112831
|
+
* Rows Google has accepted since this product was connected, across every pass.
|
|
112832
|
+
*/
|
|
112056
112833
|
uploaded: number
|
|
112834
|
+
/**
|
|
112835
|
+
* How many event-to-conversion-action rules are configured, enabled or not.
|
|
112836
|
+
*/
|
|
112057
112837
|
ruleCount: number
|
|
112838
|
+
/**
|
|
112839
|
+
* How many days back each pass looks for conversions to send, and how far back a click may be matched.
|
|
112840
|
+
*/
|
|
112058
112841
|
lookbackDays: number
|
|
112842
|
+
/**
|
|
112843
|
+
* Currency of the connected Google Ads account, as a three-letter ISO 4217 code such as EUR. Null when the account could not be read.
|
|
112844
|
+
*/
|
|
112059
112845
|
accountCurrency: (string | null)
|
|
112846
|
+
/**
|
|
112847
|
+
* The event names that may use the Dynamic value source, because revenue is known for them.
|
|
112848
|
+
*/
|
|
112060
112849
|
dynamicValueEvents: string[]
|
|
112850
|
+
/**
|
|
112851
|
+
* Whether a stored email or phone number is sent alongside the click, so Google can match conversions the click id alone would miss.
|
|
112852
|
+
*/
|
|
112061
112853
|
enhancedConversions: boolean
|
|
112062
112854
|
}
|
|
112063
112855
|
|
|
@@ -112079,65 +112871,228 @@ conversionDatetime: string
|
|
|
112079
112871
|
}[]
|
|
112080
112872
|
|
|
112081
112873
|
export interface TrackingGoogleadsRoasReportInput {
|
|
112082
|
-
|
|
112083
|
-
|
|
112874
|
+
/**
|
|
112875
|
+
* End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
|
|
112876
|
+
*/
|
|
112877
|
+
to?: string
|
|
112878
|
+
/**
|
|
112879
|
+
* Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
|
|
112880
|
+
*/
|
|
112881
|
+
from?: string
|
|
112882
|
+
/**
|
|
112883
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
112884
|
+
*/
|
|
112084
112885
|
model?: ("last_click" | "first_click")
|
|
112886
|
+
/**
|
|
112887
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
112888
|
+
*/
|
|
112085
112889
|
domain?: string
|
|
112890
|
+
/**
|
|
112891
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
112892
|
+
*/
|
|
112086
112893
|
customerId?: string
|
|
112894
|
+
/**
|
|
112895
|
+
* How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
|
|
112896
|
+
*/
|
|
112087
112897
|
lookbackDays?: number
|
|
112088
112898
|
}
|
|
112089
112899
|
|
|
112090
112900
|
export interface TrackingGoogleadsRoasReportOutput {
|
|
112901
|
+
/**
|
|
112902
|
+
* End of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
112903
|
+
*/
|
|
112091
112904
|
to: string
|
|
112905
|
+
/**
|
|
112906
|
+
* Start of the window this report covers, echoed back as an ISO-8601 UTC timestamp.
|
|
112907
|
+
*/
|
|
112092
112908
|
from: string
|
|
112909
|
+
/**
|
|
112910
|
+
* Which touchpoint earned the credit in these numbers: the last paid click before the conversion, or the first.
|
|
112911
|
+
*/
|
|
112093
112912
|
model: ("last_click" | "first_click")
|
|
112913
|
+
/**
|
|
112914
|
+
* True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
|
|
112915
|
+
*/
|
|
112916
|
+
stale: boolean
|
|
112917
|
+
/**
|
|
112918
|
+
* The installed site this report was restricted to; null when it covers every domain of the product.
|
|
112919
|
+
*/
|
|
112094
112920
|
domain: (string | null)
|
|
112921
|
+
/**
|
|
112922
|
+
* One entry per Google Ads account and currency. Kept apart on purpose: amounts in different currencies are never added together.
|
|
112923
|
+
*/
|
|
112095
112924
|
accounts: {
|
|
112925
|
+
/**
|
|
112926
|
+
* True when this account's cost is older than the freshness threshold, or was never pulled — the ROAS below is then built on outdated spend.
|
|
112927
|
+
*/
|
|
112096
112928
|
stale: boolean
|
|
112929
|
+
/**
|
|
112930
|
+
* ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
|
|
112931
|
+
*/
|
|
112097
112932
|
currency: string
|
|
112933
|
+
/**
|
|
112934
|
+
* This account's campaigns, each with its ad groups and ads nested underneath.
|
|
112935
|
+
*/
|
|
112098
112936
|
campaigns: TrackingGoogleadsRoasReportOutputItems[]
|
|
112937
|
+
/**
|
|
112938
|
+
* Google Ads account these campaigns belong to, by customer id without dashes.
|
|
112939
|
+
*/
|
|
112099
112940
|
customerId: string
|
|
112941
|
+
/**
|
|
112942
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
112943
|
+
*/
|
|
112100
112944
|
costLastSyncedAt: (string | null)
|
|
112101
112945
|
}[]
|
|
112946
|
+
/**
|
|
112947
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
112948
|
+
*/
|
|
112949
|
+
currency: (string | null)
|
|
112950
|
+
/**
|
|
112951
|
+
* When this report was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
112952
|
+
*/
|
|
112102
112953
|
computedAt: string
|
|
112954
|
+
/**
|
|
112955
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
112956
|
+
*/
|
|
112957
|
+
customerId: (string | null)
|
|
112958
|
+
/**
|
|
112959
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit, in days.
|
|
112960
|
+
*/
|
|
112103
112961
|
lookbackDays: number
|
|
112962
|
+
/**
|
|
112963
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
112964
|
+
*/
|
|
112965
|
+
costLastSyncedAt: (string | null)
|
|
112966
|
+
/**
|
|
112967
|
+
* Revenue we tracked but could not tie to any Google Ads campaign, grouped by the utm_campaign we saw. A long list here means the ad tagging needs fixing, not that the ads failed.
|
|
112968
|
+
*/
|
|
112104
112969
|
unmatchedAttributed: {
|
|
112970
|
+
/**
|
|
112971
|
+
* Revenue that stayed outside every campaign, one row per currency. Never cross-summed.
|
|
112972
|
+
*/
|
|
112105
112973
|
revenue: TrackingGoogleadsRoasReportOutputItems1[]
|
|
112974
|
+
/**
|
|
112975
|
+
* How many distinct customers paid but could not be traced to any Google Ads campaign.
|
|
112976
|
+
*/
|
|
112106
112977
|
conversions: number
|
|
112978
|
+
/**
|
|
112979
|
+
* The utm_campaign value we saw on the visit, which matched no Google Ads campaign; null when the visit carried none. This is the diagnostic: fix the tagging and the revenue moves into a campaign.
|
|
112980
|
+
*/
|
|
112107
112981
|
utmCampaign: (string | null)
|
|
112108
112982
|
}[]
|
|
112109
112983
|
}
|
|
112110
112984
|
export interface TrackingGoogleadsRoasReportOutputItems {
|
|
112985
|
+
/**
|
|
112986
|
+
* What one attributed customer cost: cost divided by attributed conversions, in minor units of the account currency. null when there were no attributed conversions.
|
|
112987
|
+
*/
|
|
112111
112988
|
cpa: (number | null)
|
|
112989
|
+
/**
|
|
112990
|
+
* Google Ads ad this node is, by its numeric id; null on a campaign or ad group node.
|
|
112991
|
+
*/
|
|
112112
112992
|
adId: (string | null)
|
|
112993
|
+
/**
|
|
112994
|
+
* What Google charged and what Google itself counted for this node over the window.
|
|
112995
|
+
*/
|
|
112113
112996
|
cost: {
|
|
112997
|
+
/**
|
|
112998
|
+
* How many times someone clicked through from Google over the window.
|
|
112999
|
+
*/
|
|
112114
113000
|
clicks: number
|
|
113001
|
+
/**
|
|
113002
|
+
* ISO-4217 code of the Google Ads account these numbers come from, e.g. USD. Fixed per account.
|
|
113003
|
+
*/
|
|
112115
113004
|
currency: string
|
|
113005
|
+
/**
|
|
113006
|
+
* What Google charged for this campaign, ad group or ad over the window, in minor units (1250 = 12.50).
|
|
113007
|
+
*/
|
|
112116
113008
|
costMinor: number
|
|
113009
|
+
/**
|
|
113010
|
+
* How many times Google showed this ad over the window.
|
|
113011
|
+
*/
|
|
112117
113012
|
impressions: number
|
|
113013
|
+
/**
|
|
113014
|
+
* Conversions GOOGLE counted for this node — its own attribution, not ours. May be fractional, because Google splits credit across touchpoints.
|
|
113015
|
+
*/
|
|
112118
113016
|
platformConversions: number
|
|
113017
|
+
/**
|
|
113018
|
+
* Conversion value GOOGLE reports for this node, in minor units of the account currency. Compare it with our attributed revenue; the two rarely agree.
|
|
113019
|
+
*/
|
|
112119
113020
|
platformConversionsValueMinor: number
|
|
112120
113021
|
}
|
|
113022
|
+
/**
|
|
113023
|
+
* What this campaign, ad group or ad is called in Google Ads; null when the name has not been synced.
|
|
113024
|
+
*/
|
|
112121
113025
|
name: (string | null)
|
|
113026
|
+
/**
|
|
113027
|
+
* Return on ad spend: our net attributed revenue divided by cost, both in the account currency. A plain ratio, not a percentage — 2.4 means 2.40 back per 1.00 spent. null when cost is 0 or nothing was attributed.
|
|
113028
|
+
*/
|
|
112122
113029
|
roas: (number | null)
|
|
113030
|
+
/**
|
|
113031
|
+
* How deep in the Google Ads hierarchy this node sits. Attributed revenue, ROAS and CPA exist at campaign level only; cost exists at all three.
|
|
113032
|
+
*/
|
|
112123
113033
|
level: ("campaign" | "ad_group" | "ad")
|
|
113034
|
+
/**
|
|
113035
|
+
* Google Ads campaign state, passed through raw: ENABLED, PAUSED, REMOVED. Present on campaign nodes only — the key is absent below.
|
|
113036
|
+
*/
|
|
112124
113037
|
status?: string
|
|
113038
|
+
/**
|
|
113039
|
+
* The level below this one: ad groups under a campaign, ads under an ad group, empty on an ad.
|
|
113040
|
+
*/
|
|
112125
113041
|
children: TrackingGoogleadsRoasReportOutputItems[]
|
|
113042
|
+
/**
|
|
113043
|
+
* Google Ads ad group this node belongs to, by its numeric id; null on a campaign node.
|
|
113044
|
+
*/
|
|
112126
113045
|
adGroupId: (string | null)
|
|
113046
|
+
/**
|
|
113047
|
+
* What WE traced back to this node from our own tracking. null below campaign level, and null on a campaign nothing was traced to.
|
|
113048
|
+
*/
|
|
112127
113049
|
attributed: ({
|
|
113050
|
+
/**
|
|
113051
|
+
* What WE traced back to this campaign, one row per currency the customers paid in. Never cross-summed — use accountCurrencyNetMinor for a single figure.
|
|
113052
|
+
*/
|
|
112128
113053
|
revenue: TrackingGoogleadsRoasReportOutputItems1[]
|
|
112129
|
-
|
|
113054
|
+
/**
|
|
113055
|
+
* Which key actually joined this revenue to the Google campaign, strongest first: lt_campaign_id (the id our own tracking template stamps on the landing URL), campaign_id (the id inside utm_campaign), campaign_name (the campaign name inside utm_campaign, a guess), gclid (the click id). null means the join key is unknown; treat campaign_name as the weakest evidence.
|
|
113056
|
+
*/
|
|
113057
|
+
matchedBy: (("lt_campaign_id" | "campaign_id" | "campaign_name" | "gclid") | null)
|
|
113058
|
+
/**
|
|
113059
|
+
* How many distinct customers we traced back to this campaign over the window. Whole numbers: we give a conversion to one campaign, we never split it.
|
|
113060
|
+
*/
|
|
112130
113061
|
conversions: number
|
|
113062
|
+
/**
|
|
113063
|
+
* Our net attributed revenue in the account currency alone, in minor units. 0 when nobody paid in that currency. This is the ROAS numerator, and the single-value answer beside the revenue list.
|
|
113064
|
+
*/
|
|
112131
113065
|
accountCurrencyNetMinor: number
|
|
112132
113066
|
} | null)
|
|
113067
|
+
/**
|
|
113068
|
+
* Google Ads campaign this node belongs to, by its numeric id. Set at every level.
|
|
113069
|
+
*/
|
|
112133
113070
|
campaignId: string
|
|
113071
|
+
/**
|
|
113072
|
+
* Google Ads account this node belongs to, by customer id without dashes.
|
|
113073
|
+
*/
|
|
112134
113074
|
customerId: string
|
|
113075
|
+
/**
|
|
113076
|
+
* Where Google ran the campaign, passed through raw: SEARCH, DISPLAY, VIDEO, PERFORMANCE_MAX and so on. Present on campaign nodes only, and may be null there.
|
|
113077
|
+
*/
|
|
112135
113078
|
channelType?: (string | null)
|
|
112136
113079
|
}
|
|
112137
113080
|
export interface TrackingGoogleadsRoasReportOutputItems1 {
|
|
113081
|
+
/**
|
|
113082
|
+
* ISO-4217 code the three amounts on this row are denominated in, e.g. USD. One row per currency; rows are never added together.
|
|
113083
|
+
*/
|
|
112138
113084
|
currency: string
|
|
113085
|
+
/**
|
|
113086
|
+
* Money kept after refunds (gross minus refunded), in minor units of this row's currency. This is what ROAS is calculated from.
|
|
113087
|
+
*/
|
|
112139
113088
|
netMinor: number
|
|
113089
|
+
/**
|
|
113090
|
+
* Money taken before refunds, in minor units of this row's currency (1250 = 12.50).
|
|
113091
|
+
*/
|
|
112140
113092
|
grossMinor: number
|
|
113093
|
+
/**
|
|
113094
|
+
* Money given back within the window, in minor units of this row's currency; already subtracted from netMinor.
|
|
113095
|
+
*/
|
|
112141
113096
|
refundedMinor: number
|
|
112142
113097
|
}
|
|
112143
113098
|
|
|
@@ -112146,21 +113101,67 @@ export interface TrackingGoogleadsSyncNowInput {
|
|
|
112146
113101
|
}
|
|
112147
113102
|
|
|
112148
113103
|
export interface TrackingGoogleadsSyncNowOutput {
|
|
113104
|
+
/**
|
|
113105
|
+
* How much this sweep wrote, split by what it wrote. Re-running the same window updates rows in place rather than adding, so these are rows touched, not rows gained. All zero when the status is skipped.
|
|
113106
|
+
*/
|
|
112149
113107
|
rows: {
|
|
113108
|
+
/**
|
|
113109
|
+
* Ads written.
|
|
113110
|
+
*/
|
|
112150
113111
|
ads: number
|
|
113112
|
+
/**
|
|
113113
|
+
* Day-by-day ad spend and metric rows written.
|
|
113114
|
+
*/
|
|
112151
113115
|
adDaily: number
|
|
113116
|
+
/**
|
|
113117
|
+
* Ad groups written.
|
|
113118
|
+
*/
|
|
112152
113119
|
adGroups: number
|
|
113120
|
+
/**
|
|
113121
|
+
* Campaigns written, names and status included.
|
|
113122
|
+
*/
|
|
112153
113123
|
campaigns: number
|
|
113124
|
+
/**
|
|
113125
|
+
* Day-by-day ad-group spend and metric rows written.
|
|
113126
|
+
*/
|
|
112154
113127
|
adGroupDaily: number
|
|
113128
|
+
/**
|
|
113129
|
+
* Day-by-day campaign spend and metric rows written.
|
|
113130
|
+
*/
|
|
112155
113131
|
campaignDaily: number
|
|
112156
113132
|
}
|
|
113133
|
+
/**
|
|
113134
|
+
* This one sync run. Match the completion event back to this step on it, not on productId: a product syncs many times, and the daily cron run and a manual one are different runs.
|
|
113135
|
+
*/
|
|
113136
|
+
runId: string
|
|
113137
|
+
/**
|
|
113138
|
+
* Why nothing was written, when the status is skipped: the account is not chosen yet, the authorisation expired, or Google was unavailable. Absent on a sweep that ran.
|
|
113139
|
+
*/
|
|
112157
113140
|
reason?: string
|
|
113141
|
+
/**
|
|
113142
|
+
* Whether the sweep ran. skipped means the Google Ads account could not be reached and nothing at all was written.
|
|
113143
|
+
*/
|
|
112158
113144
|
status: ("ok" | "skipped")
|
|
113145
|
+
/**
|
|
113146
|
+
* The range of days this sweep read spend and metrics for.
|
|
113147
|
+
*/
|
|
112159
113148
|
window: {
|
|
113149
|
+
/**
|
|
113150
|
+
* Last day covered, inclusive, as YYYY-MM-DD.
|
|
113151
|
+
*/
|
|
112160
113152
|
end: string
|
|
113153
|
+
/**
|
|
113154
|
+
* First day covered, inclusive, as YYYY-MM-DD.
|
|
113155
|
+
*/
|
|
112161
113156
|
start: string
|
|
112162
113157
|
}
|
|
113158
|
+
/**
|
|
113159
|
+
* The tenant whose Google Ads account was swept.
|
|
113160
|
+
*/
|
|
112163
113161
|
productId: string
|
|
113162
|
+
/**
|
|
113163
|
+
* When the sweep finished. Null when nothing was written.
|
|
113164
|
+
*/
|
|
112164
113165
|
lastSyncedAt: (string | null)
|
|
112165
113166
|
}
|
|
112166
113167
|
|
|
@@ -112176,54 +113177,187 @@ from?: string
|
|
|
112176
113177
|
}
|
|
112177
113178
|
|
|
112178
113179
|
export interface TrackingGoogleadsTrackingHealthOutput {
|
|
113180
|
+
/**
|
|
113181
|
+
* End of the range these figures cover, as an instant.
|
|
113182
|
+
*/
|
|
112179
113183
|
to: string
|
|
113184
|
+
/**
|
|
113185
|
+
* Start of the range these figures cover, as an instant. Echoes back the range that was asked for.
|
|
113186
|
+
*/
|
|
112180
113187
|
from: string
|
|
113188
|
+
/**
|
|
113189
|
+
* Whether the tracking template has been seen working live: true once at least one tagged click has arrived.
|
|
113190
|
+
*/
|
|
112181
113191
|
installed: boolean
|
|
113192
|
+
/**
|
|
113193
|
+
* Whether the sample above was cut short. True means more untagged URLs exist than are listed.
|
|
113194
|
+
*/
|
|
112182
113195
|
truncated: boolean
|
|
113196
|
+
/**
|
|
113197
|
+
* Google paid clicks that arrived on the site in this range. The denominator for everything below.
|
|
113198
|
+
*/
|
|
112183
113199
|
paidClicks: number
|
|
113200
|
+
/**
|
|
113201
|
+
* How complete the figures above are. Holds no metric of its own — it exists so the breakage rate is not read as one uniform population.
|
|
113202
|
+
*/
|
|
112184
113203
|
dataQuality: {
|
|
113204
|
+
/**
|
|
113205
|
+
* Paid clicks from visitors who declined consent. Counted inside paidClicks, never added to it — a cookieless click is a real click. Clicks from sites running no consent banner are not counted here: nobody was asked, which is not the same as being told no.
|
|
113206
|
+
*/
|
|
112185
113207
|
cookielessPaidClicks: number
|
|
112186
113208
|
}
|
|
113209
|
+
/**
|
|
113210
|
+
* Share of paid clicks that arrived untagged, between 0 and 1. Anything much above zero means the tracking template needs fixing.
|
|
113211
|
+
*/
|
|
112187
113212
|
breakageRate: number
|
|
113213
|
+
/**
|
|
113214
|
+
* Of those, the ones that arrived carrying our URL tracking parameters, so the campaign behind them is known.
|
|
113215
|
+
*/
|
|
112188
113216
|
taggedClicks: number
|
|
113217
|
+
/**
|
|
113218
|
+
* When the most recent untagged click arrived. Close to now means the breakage is still live. Null when none did.
|
|
113219
|
+
*/
|
|
112189
113220
|
lastUntaggedAt: (string | null)
|
|
113221
|
+
/**
|
|
113222
|
+
* Of those, the ones that arrived without our parameters, so the money spent on them cannot be attributed. This is what the tracking template being missing or broken looks like.
|
|
113223
|
+
*/
|
|
112190
113224
|
untaggedClicks: number
|
|
113225
|
+
/**
|
|
113226
|
+
* When the first untagged click of the range arrived — roughly when the breakage started. Null when none did.
|
|
113227
|
+
*/
|
|
112191
113228
|
firstUntaggedAt: (string | null)
|
|
113229
|
+
/**
|
|
113230
|
+
* A handful of the actual landing URLs that arrived untagged, to paste into a browser while fixing the template. Real customer URLs, query strings included.
|
|
113231
|
+
*/
|
|
112192
113232
|
sampleUntaggedUrls: string[]
|
|
112193
113233
|
}
|
|
112194
113234
|
|
|
112195
113235
|
export interface TrackingGoogleadsUsVsPlatformInput {
|
|
112196
|
-
|
|
112197
|
-
|
|
113236
|
+
/**
|
|
113237
|
+
* End of the reporting window, inclusive. ISO-8601 date or timestamp; a date-only value covers that whole day, so revenue after midnight is not cut off. Omit to end now.
|
|
113238
|
+
*/
|
|
113239
|
+
to?: string
|
|
113240
|
+
/**
|
|
113241
|
+
* Start of the reporting window, inclusive. ISO-8601 date or timestamp, e.g. 2026-01-01. Omit to start 30 days before the end of the window.
|
|
113242
|
+
*/
|
|
113243
|
+
from?: string
|
|
113244
|
+
/**
|
|
113245
|
+
* Which touchpoint gets the credit for a conversion: the last paid click before it, or the first. Defaults to last_click.
|
|
113246
|
+
*/
|
|
112198
113247
|
model?: ("last_click" | "first_click")
|
|
113248
|
+
/**
|
|
113249
|
+
* Restrict to conversions tracked on this installed site, e.g. acme.com. Omit to cover every domain of the product.
|
|
113250
|
+
*/
|
|
112199
113251
|
domain?: string
|
|
113252
|
+
/**
|
|
113253
|
+
* Restrict to one Google Ads account, by its customer id without dashes. Omit to cover every connected account.
|
|
113254
|
+
*/
|
|
112200
113255
|
customerId?: string
|
|
113256
|
+
/**
|
|
113257
|
+
* How far back before a conversion a paid click may sit and still earn the credit, in days. 1-365, silently clamped into that range; defaults to 30.
|
|
113258
|
+
*/
|
|
112201
113259
|
lookbackDays?: number
|
|
112202
113260
|
}
|
|
112203
113261
|
|
|
112204
113262
|
export interface TrackingGoogleadsUsVsPlatformOutput {
|
|
113263
|
+
/**
|
|
113264
|
+
* End of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113265
|
+
*/
|
|
112205
113266
|
to: string
|
|
113267
|
+
/**
|
|
113268
|
+
* Start of the window this comparison covers, echoed back as an ISO-8601 UTC timestamp.
|
|
113269
|
+
*/
|
|
112206
113270
|
from: string
|
|
113271
|
+
/**
|
|
113272
|
+
* Which touchpoint earned the credit on OUR side of the comparison: the last paid click before the conversion, or the first. Google always uses its own model.
|
|
113273
|
+
*/
|
|
112207
113274
|
model: ("last_click" | "first_click")
|
|
113275
|
+
/**
|
|
113276
|
+
* True when any account below is running on cost older than the freshness threshold, or on no cost at all — read this before acting on the numbers.
|
|
113277
|
+
*/
|
|
113278
|
+
stale: boolean
|
|
113279
|
+
/**
|
|
113280
|
+
* The installed site this comparison was restricted to; null when it covers every domain of the product.
|
|
113281
|
+
*/
|
|
112208
113282
|
domain: (string | null)
|
|
113283
|
+
/**
|
|
113284
|
+
* One entry per Google Ads account and currency, each holding its per-campaign comparison rows. Currencies are never added together.
|
|
113285
|
+
*/
|
|
112209
113286
|
accounts: {
|
|
113287
|
+
/**
|
|
113288
|
+
* One row per campaign in this account, ours beside Google's.
|
|
113289
|
+
*/
|
|
112210
113290
|
rows: {
|
|
113291
|
+
/**
|
|
113292
|
+
* What this campaign is called in Google Ads; null when the name has not been synced.
|
|
113293
|
+
*/
|
|
112211
113294
|
name: (string | null)
|
|
113295
|
+
/**
|
|
113296
|
+
* ISO-4217 code both sides of this comparison are expressed in, e.g. USD. Ours and Google's are never converted.
|
|
113297
|
+
*/
|
|
112212
113298
|
currency: string
|
|
113299
|
+
/**
|
|
113300
|
+
* The Google Ads campaign this row compares, by its numeric id.
|
|
113301
|
+
*/
|
|
112213
113302
|
campaignId: string
|
|
113303
|
+
/**
|
|
113304
|
+
* Google Ads account this campaign belongs to, by customer id without dashes.
|
|
113305
|
+
*/
|
|
112214
113306
|
customerId: string
|
|
113307
|
+
/**
|
|
113308
|
+
* How many distinct customers WE traced to this campaign. A whole number: we never split a customer across campaigns.
|
|
113309
|
+
*/
|
|
112215
113310
|
ourConversions: number
|
|
113311
|
+
/**
|
|
113312
|
+
* Net revenue WE traced to this campaign, in minor units of the account currency (1250 = 12.50). 0 when we traced none.
|
|
113313
|
+
*/
|
|
112216
113314
|
ourRevenueNetMinor: number
|
|
113315
|
+
/**
|
|
113316
|
+
* Conversions GOOGLE counted for the same campaign. May be fractional, because Google splits credit across touchpoints — which is the usual reason the two sides disagree.
|
|
113317
|
+
*/
|
|
112217
113318
|
platformConversions: number
|
|
113319
|
+
/**
|
|
113320
|
+
* Conversion value GOOGLE reports for the same campaign, in minor units of the account currency. The counterpart of ourRevenueNetMinor.
|
|
113321
|
+
*/
|
|
112218
113322
|
platformConversionsValueMinor: number
|
|
112219
113323
|
}[]
|
|
113324
|
+
/**
|
|
113325
|
+
* True when this account's Google-side numbers are older than the freshness threshold, or were never pulled — the comparison is then unfair to one side.
|
|
113326
|
+
*/
|
|
112220
113327
|
stale: boolean
|
|
113328
|
+
/**
|
|
113329
|
+
* ISO-4217 code every amount under this account is expressed in, e.g. USD. One account appears once per currency its cost was booked in.
|
|
113330
|
+
*/
|
|
112221
113331
|
currency: string
|
|
113332
|
+
/**
|
|
113333
|
+
* Google Ads account these comparison rows belong to, by customer id without dashes.
|
|
113334
|
+
*/
|
|
112222
113335
|
customerId: string
|
|
113336
|
+
/**
|
|
113337
|
+
* When cost was last pulled from Google Ads for this account (ISO-8601 UTC); null when it has never been pulled.
|
|
113338
|
+
*/
|
|
112223
113339
|
costLastSyncedAt: (string | null)
|
|
112224
113340
|
}[]
|
|
113341
|
+
/**
|
|
113342
|
+
* ISO-4217 code every amount in this report is expressed in, when all accounts share one; null when the report spans several currencies.
|
|
113343
|
+
*/
|
|
113344
|
+
currency: (string | null)
|
|
113345
|
+
/**
|
|
113346
|
+
* When this comparison was calculated (ISO-8601 UTC). The figures are a snapshot at this moment, not live.
|
|
113347
|
+
*/
|
|
112225
113348
|
computedAt: string
|
|
113349
|
+
/**
|
|
113350
|
+
* Google Ads account this whole report covers, when it covers exactly one; null when it spans several accounts.
|
|
113351
|
+
*/
|
|
113352
|
+
customerId: (string | null)
|
|
113353
|
+
/**
|
|
113354
|
+
* How far back before a conversion a paid click was allowed to sit and still earn the credit on our side, in days.
|
|
113355
|
+
*/
|
|
112226
113356
|
lookbackDays: number
|
|
113357
|
+
/**
|
|
113358
|
+
* Oldest moment cost was pulled from Google Ads across the accounts below (ISO-8601 UTC); null when any account has never synced.
|
|
113359
|
+
*/
|
|
113360
|
+
costLastSyncedAt: (string | null)
|
|
112227
113361
|
}
|
|
112228
113362
|
|
|
112229
113363
|
export interface TrackingIdentityHealthInput {
|
|
@@ -112231,11 +113365,29 @@ export interface TrackingIdentityHealthInput {
|
|
|
112231
113365
|
}
|
|
112232
113366
|
|
|
112233
113367
|
export interface TrackingIdentityHealthOutput {
|
|
113368
|
+
/**
|
|
113369
|
+
* When these numbers were computed, ISO 8601 UTC. They are a live count, so this is effectively the moment of the call.
|
|
113370
|
+
*/
|
|
112234
113371
|
computedAt: string
|
|
113372
|
+
/**
|
|
113373
|
+
* How many people the product holds in total, anonymous ones included. The denominator of both rates below.
|
|
113374
|
+
*/
|
|
112235
113375
|
totalProfiles: number
|
|
113376
|
+
/**
|
|
113377
|
+
* Identified people as a share of the total, normally 0 to 1 (0.42 is 42%). A drop here usually means a broken identify() call, not fewer visitors.
|
|
113378
|
+
*/
|
|
112236
113379
|
identifiedRate: number
|
|
113380
|
+
/**
|
|
113381
|
+
* People with an ad touchpoint as a share of the total, normally 0 to 1. It counts click-id identifiers, so an identifier outliving its profile can push it just above 1 — read it as an indicator, not as a proportion to assert on.
|
|
113382
|
+
*/
|
|
112237
113383
|
adTouchpointRate: number
|
|
113384
|
+
/**
|
|
113385
|
+
* How many of them an email or phone is known for — the people a message can actually be sent to.
|
|
113386
|
+
*/
|
|
112238
113387
|
identifiedProfiles: number
|
|
113388
|
+
/**
|
|
113389
|
+
* How many people arrived carrying an ad click id. A proxy for paid reach: it counts anyone with at least one click id on record.
|
|
113390
|
+
*/
|
|
112239
113391
|
adTouchpointProfiles: number
|
|
112240
113392
|
}
|
|
112241
113393
|
|
|
@@ -112247,6 +113399,9 @@ domain: string
|
|
|
112247
113399
|
}
|
|
112248
113400
|
|
|
112249
113401
|
export interface TrackingInstallDomainsCreateOutput {
|
|
113402
|
+
/**
|
|
113403
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
113404
|
+
*/
|
|
112250
113405
|
domain: string
|
|
112251
113406
|
}
|
|
112252
113407
|
|
|
@@ -112258,6 +113413,9 @@ domain: string
|
|
|
112258
113413
|
}
|
|
112259
113414
|
|
|
112260
113415
|
export interface TrackingInstallDomainsDeleteOutput {
|
|
113416
|
+
/**
|
|
113417
|
+
* Always true — the domain was removed; a failure arrives as an error, not as false
|
|
113418
|
+
*/
|
|
112261
113419
|
ok: true
|
|
112262
113420
|
}
|
|
112263
113421
|
|
|
@@ -112266,14 +113424,35 @@ export interface TrackingInstallDomainsListInput {
|
|
|
112266
113424
|
}
|
|
112267
113425
|
|
|
112268
113426
|
export interface TrackingInstallDomainsListOutput {
|
|
113427
|
+
/**
|
|
113428
|
+
* Domains sending events that nobody registered — usually a staging host, a typo, or an install worth adding
|
|
113429
|
+
*/
|
|
112269
113430
|
discovered: TrackingInstallDomainsListOutputItems[]
|
|
113431
|
+
/**
|
|
113432
|
+
* Domains deliberately put on the install checklist, each with whether its script has been seen
|
|
113433
|
+
*/
|
|
112270
113434
|
registered: TrackingInstallDomainsListOutputItems[]
|
|
113435
|
+
/**
|
|
113436
|
+
* Length in days of the lookback window the `seen` and `lastSeen` figures are measured over
|
|
113437
|
+
*/
|
|
112271
113438
|
windowDays: number
|
|
112272
113439
|
}
|
|
112273
113440
|
export interface TrackingInstallDomainsListOutputItems {
|
|
113441
|
+
/**
|
|
113442
|
+
* Whether the tracking script actually sent an event from this domain inside the lookback window
|
|
113443
|
+
*/
|
|
112274
113444
|
seen: boolean
|
|
113445
|
+
/**
|
|
113446
|
+
* Normalised domain name the status is reported for
|
|
113447
|
+
*/
|
|
112275
113448
|
domain: string
|
|
113449
|
+
/**
|
|
113450
|
+
* ISO-8601 timestamp of the most recent event from this domain, or null if none arrived in the window
|
|
113451
|
+
*/
|
|
112276
113452
|
lastSeen: (string | null)
|
|
113453
|
+
/**
|
|
113454
|
+
* Whether the domain is on the install checklist on purpose, as opposed to merely observed sending events
|
|
113455
|
+
*/
|
|
112277
113456
|
registered: boolean
|
|
112278
113457
|
}
|
|
112279
113458
|
|
|
@@ -112285,6 +113464,9 @@ domain: string
|
|
|
112285
113464
|
}
|
|
112286
113465
|
|
|
112287
113466
|
export interface TrackingLinkDomainsCreateOutput {
|
|
113467
|
+
/**
|
|
113468
|
+
* The domain as stored after normalisation, which may differ from what was submitted
|
|
113469
|
+
*/
|
|
112288
113470
|
domain: string
|
|
112289
113471
|
}
|
|
112290
113472
|
|
|
@@ -112296,6 +113478,9 @@ domain: string
|
|
|
112296
113478
|
}
|
|
112297
113479
|
|
|
112298
113480
|
export interface TrackingLinkDomainsDeleteOutput {
|
|
113481
|
+
/**
|
|
113482
|
+
* Always true — the domain left the linking group; a failure arrives as an error, not as false
|
|
113483
|
+
*/
|
|
112299
113484
|
ok: true
|
|
112300
113485
|
}
|
|
112301
113486
|
|
|
@@ -112304,6 +113489,9 @@ export interface TrackingLinkDomainsListInput {
|
|
|
112304
113489
|
}
|
|
112305
113490
|
|
|
112306
113491
|
export interface TrackingLinkDomainsListOutput {
|
|
113492
|
+
/**
|
|
113493
|
+
* Root domains in the linking group; the tracking script decorates links between any two of them so one visitor stays one visitor
|
|
113494
|
+
*/
|
|
112307
113495
|
domains: string[]
|
|
112308
113496
|
}
|
|
112309
113497
|
|
|
@@ -112323,22 +113511,70 @@ domain?: string
|
|
|
112323
113511
|
}
|
|
112324
113512
|
|
|
112325
113513
|
export interface TrackingLiveEventsListOutput {
|
|
113514
|
+
/**
|
|
113515
|
+
* Pass back as `since` to fetch what arrived after this page. Null when there is nothing older to page into.
|
|
113516
|
+
*/
|
|
112326
113517
|
cursor: (string | null)
|
|
113518
|
+
/**
|
|
113519
|
+
* The page of events, newest first.
|
|
113520
|
+
*/
|
|
112327
113521
|
events: {
|
|
113522
|
+
/**
|
|
113523
|
+
* Stable identifier of this single event; unique within the product and safe to deduplicate on across polls.
|
|
113524
|
+
*/
|
|
112328
113525
|
id: string
|
|
113526
|
+
/**
|
|
113527
|
+
* When the event happened, as reported by the tracker (ISO 8601, UTC).
|
|
113528
|
+
*/
|
|
112329
113529
|
ts: string
|
|
113530
|
+
/**
|
|
113531
|
+
* Page address the event fired on, query string included. Free text from the customer site, so it can carry personal data.
|
|
113532
|
+
*/
|
|
112330
113533
|
url: (string | null)
|
|
113534
|
+
/**
|
|
113535
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
113536
|
+
*/
|
|
112331
113537
|
name: string
|
|
113538
|
+
/**
|
|
113539
|
+
* Document title of that page at the time. Free text from the customer site, so it can carry personal data.
|
|
113540
|
+
*/
|
|
112332
113541
|
title: (string | null)
|
|
113542
|
+
/**
|
|
113543
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
113544
|
+
*/
|
|
112333
113545
|
domain: (string | null)
|
|
113546
|
+
/**
|
|
113547
|
+
* Where this visit came from, as read off the landing URL and referrer. Every field is null when the visit carried nothing.
|
|
113548
|
+
*/
|
|
112334
113549
|
source: {
|
|
113550
|
+
/**
|
|
113551
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
113552
|
+
*/
|
|
112335
113553
|
referrer: (string | null)
|
|
113554
|
+
/**
|
|
113555
|
+
* utm_medium of the landing URL, e.g. cpc; null when absent.
|
|
113556
|
+
*/
|
|
112336
113557
|
utmMedium: (string | null)
|
|
113558
|
+
/**
|
|
113559
|
+
* utm_source of the landing URL, e.g. newsletter; null when absent.
|
|
113560
|
+
*/
|
|
112337
113561
|
utmSource: (string | null)
|
|
113562
|
+
/**
|
|
113563
|
+
* Which ad-network click id was present on the landing URL, e.g. 'gclid'. Null when the visit carried none.
|
|
113564
|
+
*/
|
|
112338
113565
|
clickIdType: (string | null)
|
|
113566
|
+
/**
|
|
113567
|
+
* utm_campaign of the landing URL; null when absent.
|
|
113568
|
+
*/
|
|
112339
113569
|
utmCampaign: (string | null)
|
|
112340
113570
|
}
|
|
113571
|
+
/**
|
|
113572
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
113573
|
+
*/
|
|
112341
113574
|
country: (string | null)
|
|
113575
|
+
/**
|
|
113576
|
+
* Pseudonymous visitor id the person graph joins on. Null for a visitor who declined statistics consent or was never asked — those events arrive cookieless and carry no identifier at all.
|
|
113577
|
+
*/
|
|
112342
113578
|
anonymousId: (string | null)
|
|
112343
113579
|
}[]
|
|
112344
113580
|
}
|
|
@@ -112351,18 +113587,52 @@ profileId: string
|
|
|
112351
113587
|
}
|
|
112352
113588
|
|
|
112353
113589
|
export interface TrackingProfilesDeleteOutput {
|
|
113590
|
+
/**
|
|
113591
|
+
* Always true: the response only exists when the erasure ran. A failure arrives as an error, not as ok=false.
|
|
113592
|
+
*/
|
|
112354
113593
|
ok: true
|
|
113594
|
+
/**
|
|
113595
|
+
* What happened to the archived copy of the events. Postgres is erased synchronously; the archive is not, and this says so out loud.
|
|
113596
|
+
*/
|
|
112355
113597
|
archive: {
|
|
113598
|
+
/**
|
|
113599
|
+
* Plain-language reason the archived copy could not be deleted in the same breath — text meant to be quoted into a compliance record.
|
|
113600
|
+
*/
|
|
112356
113601
|
note: string
|
|
113602
|
+
/**
|
|
113603
|
+
* Always gap_flagged: the archived copy is known to still hold this person and the gap has been recorded rather than silently ignored.
|
|
113604
|
+
*/
|
|
112357
113605
|
status: "gap_flagged"
|
|
112358
113606
|
}
|
|
113607
|
+
/**
|
|
113608
|
+
* How much was actually destroyed, by kind. Worth recording: it is the evidence that the erasure did something.
|
|
113609
|
+
*/
|
|
112359
113610
|
deleted: {
|
|
113611
|
+
/**
|
|
113612
|
+
* Tracked events removed, found through the anonymous ids this person browsed under.
|
|
113613
|
+
*/
|
|
112360
113614
|
events: number
|
|
113615
|
+
/**
|
|
113616
|
+
* Merge records removed — the history of this person having been joined with another.
|
|
113617
|
+
*/
|
|
112361
113618
|
merges: number
|
|
113619
|
+
/**
|
|
113620
|
+
* Profile rows removed: 1 in practice, and 0 only if the row vanished between the lookup and the delete.
|
|
113621
|
+
*/
|
|
112362
113622
|
profile: number
|
|
113623
|
+
/**
|
|
113624
|
+
* Emails, phones, anonymous ids and click ids removed for this person.
|
|
113625
|
+
*/
|
|
112363
113626
|
identifiers: number
|
|
112364
113627
|
}
|
|
113628
|
+
/**
|
|
113629
|
+
* The person who was erased. Nothing else of them remains, so this is all there is left to name them by.
|
|
113630
|
+
*/
|
|
112365
113631
|
profileId: string
|
|
113632
|
+
/**
|
|
113633
|
+
* This erasure attempt. The completion event carries the same value under the same name, so a step recognises its own completion even when another workflow is erasing the same person at the same moment.
|
|
113634
|
+
*/
|
|
113635
|
+
requestId: string
|
|
112366
113636
|
}
|
|
112367
113637
|
|
|
112368
113638
|
export interface TrackingProfilesExportInput {
|
|
@@ -112373,52 +113643,172 @@ profileId: string
|
|
|
112373
113643
|
}
|
|
112374
113644
|
|
|
112375
113645
|
export interface TrackingProfilesExportOutput {
|
|
113646
|
+
/**
|
|
113647
|
+
* The complete history, newest event first, capped at 50000 events — check `truncated` before treating it as complete.
|
|
113648
|
+
*/
|
|
112376
113649
|
journey: {
|
|
113650
|
+
/**
|
|
113651
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
113652
|
+
*/
|
|
112377
113653
|
ts: string
|
|
113654
|
+
/**
|
|
113655
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
113656
|
+
*/
|
|
112378
113657
|
ref: string
|
|
113658
|
+
/**
|
|
113659
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
113660
|
+
*/
|
|
112379
113661
|
url: (string | null)
|
|
113662
|
+
/**
|
|
113663
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
113664
|
+
*/
|
|
112380
113665
|
name: string
|
|
113666
|
+
/**
|
|
113667
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
113668
|
+
*/
|
|
112381
113669
|
props: {
|
|
112382
113670
|
[k: string]: unknown
|
|
112383
113671
|
}
|
|
113672
|
+
/**
|
|
113673
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
113674
|
+
*/
|
|
112384
113675
|
title: (string | null)
|
|
113676
|
+
/**
|
|
113677
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
113678
|
+
*/
|
|
112385
113679
|
domain: (string | null)
|
|
113680
|
+
/**
|
|
113681
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
113682
|
+
*/
|
|
112386
113683
|
source: {
|
|
113684
|
+
/**
|
|
113685
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
113686
|
+
*/
|
|
112387
113687
|
clickId: (string | null)
|
|
113688
|
+
/**
|
|
113689
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
113690
|
+
*/
|
|
112388
113691
|
utmTerm: (string | null)
|
|
113692
|
+
/**
|
|
113693
|
+
* utm_medium on the URL of this event.
|
|
113694
|
+
*/
|
|
112389
113695
|
utmMedium: (string | null)
|
|
113696
|
+
/**
|
|
113697
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
113698
|
+
*/
|
|
112390
113699
|
utmSource: (string | null)
|
|
113700
|
+
/**
|
|
113701
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
113702
|
+
*/
|
|
112391
113703
|
utmContent: (string | null)
|
|
113704
|
+
/**
|
|
113705
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
113706
|
+
*/
|
|
112392
113707
|
clickIdType: (string | null)
|
|
113708
|
+
/**
|
|
113709
|
+
* utm_campaign on the URL of this event.
|
|
113710
|
+
*/
|
|
112393
113711
|
utmCampaign: (string | null)
|
|
112394
113712
|
}
|
|
113713
|
+
/**
|
|
113714
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
113715
|
+
*/
|
|
112395
113716
|
country: (string | null)
|
|
113717
|
+
/**
|
|
113718
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
113719
|
+
*/
|
|
112396
113720
|
referrer: (string | null)
|
|
113721
|
+
/**
|
|
113722
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
113723
|
+
*/
|
|
112397
113724
|
sessionId: (string | null)
|
|
112398
113725
|
}[]
|
|
113726
|
+
/**
|
|
113727
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
113728
|
+
*/
|
|
112399
113729
|
profile: {
|
|
113730
|
+
/**
|
|
113731
|
+
* How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
|
|
113732
|
+
*/
|
|
112400
113733
|
status: ("anonymous" | "identified" | "customer")
|
|
113734
|
+
/**
|
|
113735
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
113736
|
+
*/
|
|
112401
113737
|
createdAt: string
|
|
113738
|
+
/**
|
|
113739
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
113740
|
+
*/
|
|
112402
113741
|
profileId: string
|
|
113742
|
+
/**
|
|
113743
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
113744
|
+
*/
|
|
112403
113745
|
lastSeenAt: string
|
|
113746
|
+
/**
|
|
113747
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
113748
|
+
*/
|
|
112404
113749
|
firstSeenAt: string
|
|
112405
113750
|
}
|
|
113751
|
+
/**
|
|
113752
|
+
* Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
|
|
113753
|
+
*/
|
|
112406
113754
|
signals: {
|
|
113755
|
+
/**
|
|
113756
|
+
* Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
|
|
113757
|
+
*/
|
|
112407
113758
|
emails: string[]
|
|
113759
|
+
/**
|
|
113760
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
113761
|
+
*/
|
|
112408
113762
|
phones: string[]
|
|
113763
|
+
/**
|
|
113764
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
113765
|
+
*/
|
|
112409
113766
|
domains: string[]
|
|
113767
|
+
/**
|
|
113768
|
+
* Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
|
|
113769
|
+
*/
|
|
112410
113770
|
clickIds: {
|
|
113771
|
+
/**
|
|
113772
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
113773
|
+
*/
|
|
112411
113774
|
type: string
|
|
113775
|
+
/**
|
|
113776
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
113777
|
+
*/
|
|
112412
113778
|
value: string
|
|
112413
113779
|
}[]
|
|
112414
113780
|
}
|
|
113781
|
+
/**
|
|
113782
|
+
* True when the history hit the 50000-event cap and older events were left out. False means this export is everything held.
|
|
113783
|
+
*/
|
|
112415
113784
|
truncated: boolean
|
|
113785
|
+
/**
|
|
113786
|
+
* When this export was produced, ISO 8601 UTC — the as-of date to put on a subject-access response.
|
|
113787
|
+
*/
|
|
112416
113788
|
exportedAt: string
|
|
113789
|
+
/**
|
|
113790
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
113791
|
+
*/
|
|
112417
113792
|
acquisition: ({
|
|
113793
|
+
/**
|
|
113794
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
113795
|
+
*/
|
|
112418
113796
|
utmMedium: (string | null)
|
|
113797
|
+
/**
|
|
113798
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
113799
|
+
*/
|
|
112419
113800
|
utmSource: (string | null)
|
|
113801
|
+
/**
|
|
113802
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
113803
|
+
*/
|
|
112420
113804
|
clickIdType: (string | null)
|
|
113805
|
+
/**
|
|
113806
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
113807
|
+
*/
|
|
112421
113808
|
firstSeenAt: string
|
|
113809
|
+
/**
|
|
113810
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
113811
|
+
*/
|
|
112422
113812
|
utmCampaign: (string | null)
|
|
112423
113813
|
} | null)
|
|
112424
113814
|
}
|
|
@@ -112433,78 +113823,228 @@ profileId: string
|
|
|
112433
113823
|
*/
|
|
112434
113824
|
journeyLimit?: number
|
|
112435
113825
|
/**
|
|
112436
|
-
*
|
|
113826
|
+
* Continue paging back through the journey: pass the cursor the previous page returned. Omit to start at the most recent event.
|
|
112437
113827
|
*/
|
|
112438
113828
|
journeyCursor?: string
|
|
112439
113829
|
}
|
|
112440
113830
|
|
|
112441
113831
|
export interface TrackingProfilesGetOutput {
|
|
113832
|
+
/**
|
|
113833
|
+
* Lifetime value of this person, per currency. Null when revenue tracking is not in use for the product.
|
|
113834
|
+
*/
|
|
112442
113835
|
ltv: ({
|
|
113836
|
+
/**
|
|
113837
|
+
* One row per currency this person has paid in. Empty for someone who never paid; there is no cross-currency total, because converting would need a rate this toolkit does not hold.
|
|
113838
|
+
*/
|
|
112443
113839
|
entries: {
|
|
113840
|
+
/**
|
|
113841
|
+
* ISO 4217 code the amounts beside it are denominated in, e.g. EUR. One entry per code the person ever paid in.
|
|
113842
|
+
*/
|
|
112444
113843
|
currency: string
|
|
113844
|
+
/**
|
|
113845
|
+
* What the business actually kept: gross minus refunded, in minor units. This is the number to rank customers by.
|
|
113846
|
+
*/
|
|
112445
113847
|
netMinor: number
|
|
113848
|
+
/**
|
|
113849
|
+
* Everything the person was ever charged, in minor units (1250 = 12.50 EUR). Refunds are not subtracted here.
|
|
113850
|
+
*/
|
|
112446
113851
|
grossMinor: number
|
|
113852
|
+
/**
|
|
113853
|
+
* Their most recent payment in this currency, ISO 8601 UTC — how live the relationship is.
|
|
113854
|
+
*/
|
|
112447
113855
|
lastPaymentAt: (string | null)
|
|
113856
|
+
/**
|
|
113857
|
+
* How much of the gross went back to them, in minor units. Zero for a person who never had a refund.
|
|
113858
|
+
*/
|
|
112448
113859
|
refundedMinor: number
|
|
113860
|
+
/**
|
|
113861
|
+
* When this person first paid in this currency, ISO 8601 UTC. Null when the totals were computed without a dated payment.
|
|
113862
|
+
*/
|
|
112449
113863
|
firstPaymentAt: (string | null)
|
|
112450
113864
|
}[]
|
|
113865
|
+
/**
|
|
113866
|
+
* The person these totals belong to — the same handle as profile.profileId.
|
|
113867
|
+
*/
|
|
112451
113868
|
profileId: string
|
|
113869
|
+
/**
|
|
113870
|
+
* When these totals were last recomputed, ISO 8601 UTC. Null when they have never been computed.
|
|
113871
|
+
*/
|
|
112452
113872
|
computedAt: (string | null)
|
|
112453
113873
|
} | null)
|
|
113874
|
+
/**
|
|
113875
|
+
* What this person did, newest first, one page at a time. Use the export step instead when the whole history is wanted in one go.
|
|
113876
|
+
*/
|
|
112454
113877
|
journey: {
|
|
113878
|
+
/**
|
|
113879
|
+
* Pass back as `journeyCursor` to page further back in time. Null once the journey is exhausted.
|
|
113880
|
+
*/
|
|
112455
113881
|
cursor: (string | null)
|
|
113882
|
+
/**
|
|
113883
|
+
* This page of the journey, newest event first.
|
|
113884
|
+
*/
|
|
112456
113885
|
events: {
|
|
113886
|
+
/**
|
|
113887
|
+
* When the event happened, ISO 8601 UTC. The journey is ordered by this, newest first.
|
|
113888
|
+
*/
|
|
112457
113889
|
ts: string
|
|
113890
|
+
/**
|
|
113891
|
+
* Opaque handle for this one event, unique inside the product. Use it to deduplicate, not to sort — it carries no order.
|
|
113892
|
+
*/
|
|
112458
113893
|
ref: string
|
|
113894
|
+
/**
|
|
113895
|
+
* Full address of the page, query string included. Personal data — it can carry an email in a link. Null off-page.
|
|
113896
|
+
*/
|
|
112459
113897
|
url: (string | null)
|
|
113898
|
+
/**
|
|
113899
|
+
* What happened, as the tracking snippet named it: page_view, signup, purchase, or any custom name the product sends.
|
|
113900
|
+
*/
|
|
112460
113901
|
name: string
|
|
113902
|
+
/**
|
|
113903
|
+
* Custom properties the product attached to this event. Free-form: the keys are whatever the snippet sent, and they differ by event name.
|
|
113904
|
+
*/
|
|
112461
113905
|
props: {
|
|
112462
113906
|
[k: string]: unknown
|
|
112463
113907
|
}
|
|
113908
|
+
/**
|
|
113909
|
+
* Title of the page as the browser reported it. Null off-page.
|
|
113910
|
+
*/
|
|
112464
113911
|
title: (string | null)
|
|
113912
|
+
/**
|
|
113913
|
+
* Hostname the event was sent from. Null for an event with no page behind it, such as a server-side call.
|
|
113914
|
+
*/
|
|
112465
113915
|
domain: (string | null)
|
|
113916
|
+
/**
|
|
113917
|
+
* Campaign tags and ad click carried by this event, as they were on the URL at the time.
|
|
113918
|
+
*/
|
|
112466
113919
|
source: {
|
|
113920
|
+
/**
|
|
113921
|
+
* The ad click identifier on this URL, raw. Personal data: it resolves to one individual inside the ad network.
|
|
113922
|
+
*/
|
|
112467
113923
|
clickId: (string | null)
|
|
113924
|
+
/**
|
|
113925
|
+
* utm_term on the URL of this event — the keyword bought, on a paid-search arrival.
|
|
113926
|
+
*/
|
|
112468
113927
|
utmTerm: (string | null)
|
|
113928
|
+
/**
|
|
113929
|
+
* utm_medium on the URL of this event.
|
|
113930
|
+
*/
|
|
112469
113931
|
utmMedium: (string | null)
|
|
113932
|
+
/**
|
|
113933
|
+
* utm_source on the URL of THIS event — the campaign at this moment, not the one that first acquired the person.
|
|
113934
|
+
*/
|
|
112470
113935
|
utmSource: (string | null)
|
|
113936
|
+
/**
|
|
113937
|
+
* utm_content on the URL of this event — which creative or link variant was clicked.
|
|
113938
|
+
*/
|
|
112471
113939
|
utmContent: (string | null)
|
|
113940
|
+
/**
|
|
113941
|
+
* Which ad network stamped the click id below: gclid for Google Ads, fbclid for Meta. Null on a non-ad arrival.
|
|
113942
|
+
*/
|
|
112472
113943
|
clickIdType: (string | null)
|
|
113944
|
+
/**
|
|
113945
|
+
* utm_campaign on the URL of this event.
|
|
113946
|
+
*/
|
|
112473
113947
|
utmCampaign: (string | null)
|
|
112474
113948
|
}
|
|
113949
|
+
/**
|
|
113950
|
+
* Two-letter ISO 3166-1 country the request came from, resolved from the IP at collection time. Null when it could not be resolved.
|
|
113951
|
+
*/
|
|
112475
113952
|
country: (string | null)
|
|
113953
|
+
/**
|
|
113954
|
+
* Where the person came from immediately before this event. Null on a direct arrival or off-page.
|
|
113955
|
+
*/
|
|
112476
113956
|
referrer: (string | null)
|
|
113957
|
+
/**
|
|
113958
|
+
* Handle for the browsing session this event belongs to; events sharing it happened in one sitting. Null for an event collected outside a session.
|
|
113959
|
+
*/
|
|
112477
113960
|
sessionId: (string | null)
|
|
112478
113961
|
}[]
|
|
112479
113962
|
}
|
|
113963
|
+
/**
|
|
113964
|
+
* The person themselves: their handle, how far they have come, and when they were seen.
|
|
113965
|
+
*/
|
|
112480
113966
|
profile: {
|
|
113967
|
+
/**
|
|
113968
|
+
* How far the person has come: anonymous = only a browser behind them, identified = an email or phone is known, customer = they have paid at least once.
|
|
113969
|
+
*/
|
|
112481
113970
|
status: ("anonymous" | "identified" | "customer")
|
|
113971
|
+
/**
|
|
113972
|
+
* When this product first created the profile row, ISO 8601 UTC. Later than firstSeenAt when events were backfilled.
|
|
113973
|
+
*/
|
|
112482
113974
|
createdAt: string
|
|
113975
|
+
/**
|
|
113976
|
+
* Stable handle for this person inside the product. Pass it to any other people step; it survives identity merges.
|
|
113977
|
+
*/
|
|
112483
113978
|
profileId: string
|
|
113979
|
+
/**
|
|
113980
|
+
* Timestamp of their most recent event, ISO 8601 UTC — the freshness of everything else here.
|
|
113981
|
+
*/
|
|
112484
113982
|
lastSeenAt: string
|
|
113983
|
+
/**
|
|
113984
|
+
* Timestamp of the earliest event on record for this person, ISO 8601 UTC.
|
|
113985
|
+
*/
|
|
112485
113986
|
firstSeenAt: string
|
|
112486
113987
|
}
|
|
113988
|
+
/**
|
|
113989
|
+
* Everything known about who this person is: the addresses they have been identified by, the ad clicks they arrived by, and the sites they were seen on. Every part of it is a list, and none of the lists names a primary.
|
|
113990
|
+
*/
|
|
112487
113991
|
signals: {
|
|
113992
|
+
/**
|
|
113993
|
+
* Every email this person has ever been identified by. Stably ordered for display and diffing — the position of an address says NOTHING about which one to contact, and this toolkit holds no primary. Usually one entry; a person who signed up twice has several.
|
|
113994
|
+
*/
|
|
112488
113995
|
emails: string[]
|
|
113996
|
+
/**
|
|
113997
|
+
* Every phone number this person has been identified by. Stably ordered for display and diffing only, with no primary among them.
|
|
113998
|
+
*/
|
|
112489
113999
|
phones: string[]
|
|
114000
|
+
/**
|
|
114001
|
+
* Distinct hostnames this person browsed, taken from their events — not an identifier type, just where they were.
|
|
114002
|
+
*/
|
|
112490
114003
|
domains: string[]
|
|
114004
|
+
/**
|
|
114005
|
+
* Every ad click this person arrived by, stably ordered and with no primary among them. Personal data: a click id resolves to one individual inside the ad network.
|
|
114006
|
+
*/
|
|
112491
114007
|
clickIds: {
|
|
114008
|
+
/**
|
|
114009
|
+
* Which ad network the click came from — gclid for Google Ads, fbclid for Meta. Open set.
|
|
114010
|
+
*/
|
|
112492
114011
|
type: string
|
|
114012
|
+
/**
|
|
114013
|
+
* The click identifier itself, raw, as the network stamped it on the landing URL.
|
|
114014
|
+
*/
|
|
112493
114015
|
value: string
|
|
112494
114016
|
}[]
|
|
112495
114017
|
}
|
|
114018
|
+
/**
|
|
114019
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
114020
|
+
*/
|
|
112496
114021
|
acquisition: ({
|
|
114022
|
+
/**
|
|
114023
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
114024
|
+
*/
|
|
112497
114025
|
utmMedium: (string | null)
|
|
114026
|
+
/**
|
|
114027
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
114028
|
+
*/
|
|
112498
114029
|
utmSource: (string | null)
|
|
114030
|
+
/**
|
|
114031
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
114032
|
+
*/
|
|
112499
114033
|
clickIdType: (string | null)
|
|
114034
|
+
/**
|
|
114035
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
114036
|
+
*/
|
|
112500
114037
|
firstSeenAt: string
|
|
114038
|
+
/**
|
|
114039
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
114040
|
+
*/
|
|
112501
114041
|
utmCampaign: (string | null)
|
|
112502
114042
|
} | null)
|
|
112503
114043
|
}
|
|
112504
114044
|
|
|
112505
114045
|
export interface TrackingProfilesListInput {
|
|
112506
114046
|
/**
|
|
112507
|
-
*
|
|
114047
|
+
* Email to search people by — the whole address by default, or its beginning when emailMatch is prefix. Omit to search across everyone.
|
|
112508
114048
|
*/
|
|
112509
114049
|
email?: string
|
|
112510
114050
|
/**
|
|
@@ -112512,132 +114052,363 @@ email?: string
|
|
|
112512
114052
|
*/
|
|
112513
114053
|
limit?: number
|
|
112514
114054
|
/**
|
|
112515
|
-
*
|
|
114055
|
+
* Continue a previous page: pass the cursor that page returned. Omit to start from the most recently seen person.
|
|
112516
114056
|
*/
|
|
112517
114057
|
cursor?: string
|
|
112518
114058
|
/**
|
|
112519
|
-
*
|
|
114059
|
+
* Keep only people at this stage — anonymous, identified or customer. Omit to get all three.
|
|
112520
114060
|
*/
|
|
112521
114061
|
status?: ("anonymous" | "identified" | "customer")
|
|
112522
114062
|
/**
|
|
112523
|
-
* How
|
|
114063
|
+
* How the email filter is matched: exact (default) compares the whole address case-insensitively, prefix matches everyone whose address starts with what you typed.
|
|
112524
114064
|
*/
|
|
112525
114065
|
emailMatch?: ("exact" | "prefix")
|
|
112526
114066
|
}
|
|
112527
114067
|
|
|
112528
114068
|
export interface TrackingProfilesListOutput {
|
|
114069
|
+
/**
|
|
114070
|
+
* Pass this back as `cursor` to fetch the next page. Null on the last page — that null is how a loop knows to stop.
|
|
114071
|
+
*/
|
|
112529
114072
|
cursor: (string | null)
|
|
114073
|
+
/**
|
|
114074
|
+
* The page of people, most recently seen first. Shorter than the requested limit on the last page.
|
|
114075
|
+
*/
|
|
112530
114076
|
profiles: {
|
|
114077
|
+
/**
|
|
114078
|
+
* Every email this person has been identified by. Stably ordered for display, with no primary among them — position 0 is not the address to contact.
|
|
114079
|
+
*/
|
|
112531
114080
|
emails: string[]
|
|
114081
|
+
/**
|
|
114082
|
+
* How far this person has come: anonymous = only a browser, identified = an email or phone is known, customer = they have paid.
|
|
114083
|
+
*/
|
|
112532
114084
|
status: ("anonymous" | "identified" | "customer")
|
|
114085
|
+
/**
|
|
114086
|
+
* Stable handle for this person. Feed it to a get, export or erase step.
|
|
114087
|
+
*/
|
|
112533
114088
|
profileId: string
|
|
114089
|
+
/**
|
|
114090
|
+
* Timestamp of their most recent event, ISO 8601 UTC. The page is ordered by this, newest first.
|
|
114091
|
+
*/
|
|
112534
114092
|
lastSeenAt: string
|
|
114093
|
+
/**
|
|
114094
|
+
* First touch: the campaign that brought this person in, frozen at their earliest event and never overwritten by later visits. Null for a person with no events at all.
|
|
114095
|
+
*/
|
|
112535
114096
|
acquisition: ({
|
|
114097
|
+
/**
|
|
114098
|
+
* Channel of that same first visit (utm_medium): cpc, email, social, and so on. Null when untagged.
|
|
114099
|
+
*/
|
|
112536
114100
|
utmMedium: (string | null)
|
|
114101
|
+
/**
|
|
114102
|
+
* Where the person came from on their very first visit — the utm_source of their earliest event. Null when they arrived with no campaign tags.
|
|
114103
|
+
*/
|
|
112537
114104
|
utmSource: (string | null)
|
|
114105
|
+
/**
|
|
114106
|
+
* Which ad network stamped the click that brought them in — gclid for Google Ads, fbclid for Meta. Null for a non-ad arrival. Open set: new networks appear without a release here.
|
|
114107
|
+
*/
|
|
112538
114108
|
clickIdType: (string | null)
|
|
114109
|
+
/**
|
|
114110
|
+
* When that first visit happened, ISO 8601 UTC. This is the timestamp of the earliest event, not when the profile row was written.
|
|
114111
|
+
*/
|
|
112539
114112
|
firstSeenAt: string
|
|
114113
|
+
/**
|
|
114114
|
+
* Campaign of that same first visit (utm_campaign). Null when untagged.
|
|
114115
|
+
*/
|
|
112540
114116
|
utmCampaign: (string | null)
|
|
112541
114117
|
} | null)
|
|
114118
|
+
/**
|
|
114119
|
+
* Timestamp of their earliest event, ISO 8601 UTC.
|
|
114120
|
+
*/
|
|
112542
114121
|
firstSeenAt: string
|
|
112543
114122
|
}[]
|
|
112544
114123
|
}
|
|
112545
114124
|
|
|
112546
114125
|
export interface TrackingReportsAttributedJourneyInput {
|
|
114126
|
+
/**
|
|
114127
|
+
* Show only journey events at or before this instant (ISO). Omit for the whole history.
|
|
114128
|
+
*/
|
|
112547
114129
|
to?: string
|
|
114130
|
+
/**
|
|
114131
|
+
* Show only journey events at or after this instant (ISO). Omit for the whole history.
|
|
114132
|
+
*/
|
|
112548
114133
|
from?: string
|
|
114134
|
+
/**
|
|
114135
|
+
* Attribution model to explain the decision under; re-reads the same history, so switching it is free (default 'last_click').
|
|
114136
|
+
*/
|
|
112549
114137
|
model?: ("last_click" | "first_click")
|
|
112550
114138
|
/**
|
|
112551
114139
|
* The profile id (uuid)
|
|
112552
114140
|
*/
|
|
112553
114141
|
profileId: string
|
|
114142
|
+
/**
|
|
114143
|
+
* How far back before the conversion a touchpoint may be credited, in days (default 30).
|
|
114144
|
+
*/
|
|
112554
114145
|
lookbackDays?: number
|
|
112555
114146
|
}
|
|
112556
114147
|
|
|
112557
114148
|
export interface TrackingReportsAttributedJourneyOutput {
|
|
114149
|
+
/**
|
|
114150
|
+
* What this person actually did, in order.
|
|
114151
|
+
*/
|
|
112558
114152
|
journey: {
|
|
114153
|
+
/**
|
|
114154
|
+
* Every tracked event for this person inside the requested window, oldest first.
|
|
114155
|
+
*/
|
|
112559
114156
|
events: {
|
|
114157
|
+
/**
|
|
114158
|
+
* When the event happened (ISO 8601, UTC). Events are ordered oldest first.
|
|
114159
|
+
*/
|
|
112560
114160
|
ts: string
|
|
114161
|
+
/**
|
|
114162
|
+
* Handle for this event within the journey; `decisions[].winnerRef` points back at one of these to name the winning touchpoint.
|
|
114163
|
+
*/
|
|
112561
114164
|
ref: string
|
|
114165
|
+
/**
|
|
114166
|
+
* Page address the event fired on. Free text from the customer site, so it can carry personal data.
|
|
114167
|
+
*/
|
|
112562
114168
|
url: (string | null)
|
|
114169
|
+
/**
|
|
114170
|
+
* Event name as sent by the site, e.g. 'pageview' or a custom conversion name.
|
|
114171
|
+
*/
|
|
112563
114172
|
name: string
|
|
114173
|
+
/**
|
|
114174
|
+
* Custom properties the site attached to this event. Shape is the customer's, so it can carry anything, personal data included.
|
|
114175
|
+
*/
|
|
112564
114176
|
props: {
|
|
112565
114177
|
[k: string]: unknown
|
|
112566
114178
|
}
|
|
114179
|
+
/**
|
|
114180
|
+
* Document title of that page. Free text from the customer site, so it can carry personal data.
|
|
114181
|
+
*/
|
|
112567
114182
|
title: (string | null)
|
|
114183
|
+
/**
|
|
114184
|
+
* Site the event came from; null when the tracker could not determine one.
|
|
114185
|
+
*/
|
|
112568
114186
|
domain: (string | null)
|
|
114187
|
+
/**
|
|
114188
|
+
* Where this event's visit came from, as read off the landing URL. Every field is null when the visit carried nothing.
|
|
114189
|
+
*/
|
|
112569
114190
|
source: {
|
|
114191
|
+
/**
|
|
114192
|
+
* The click id value itself. Identifies one ad click by this person, so treat it as personal data.
|
|
114193
|
+
*/
|
|
112570
114194
|
clickId: (string | null)
|
|
114195
|
+
/**
|
|
114196
|
+
* utm_term of the landing URL, the paid keyword; null when absent.
|
|
114197
|
+
*/
|
|
112571
114198
|
utmTerm: (string | null)
|
|
114199
|
+
/**
|
|
114200
|
+
* utm_medium of the landing URL; null when absent.
|
|
114201
|
+
*/
|
|
112572
114202
|
utmMedium: (string | null)
|
|
114203
|
+
/**
|
|
114204
|
+
* utm_source of the landing URL; null when absent.
|
|
114205
|
+
*/
|
|
112573
114206
|
utmSource: (string | null)
|
|
114207
|
+
/**
|
|
114208
|
+
* utm_content of the landing URL, the creative variant; null when absent.
|
|
114209
|
+
*/
|
|
112574
114210
|
utmContent: (string | null)
|
|
114211
|
+
/**
|
|
114212
|
+
* Which ad-network click id was present, e.g. 'gclid'; null when the visit carried none.
|
|
114213
|
+
*/
|
|
112575
114214
|
clickIdType: (string | null)
|
|
114215
|
+
/**
|
|
114216
|
+
* utm_campaign of the landing URL; null when absent.
|
|
114217
|
+
*/
|
|
112576
114218
|
utmCampaign: (string | null)
|
|
112577
114219
|
}
|
|
114220
|
+
/**
|
|
114221
|
+
* Two-letter ISO 3166-1 alpha-2 country resolved from the request, e.g. DE; null when it could not be resolved.
|
|
114222
|
+
*/
|
|
112578
114223
|
country: (string | null)
|
|
114224
|
+
/**
|
|
114225
|
+
* Address the visitor arrived from; null on a direct visit. Free text from the customer site, so it can carry personal data.
|
|
114226
|
+
*/
|
|
112579
114227
|
referrer: (string | null)
|
|
114228
|
+
/**
|
|
114229
|
+
* Visit this event belongs to; events sharing one happened in the same sitting. Null when no session could be established.
|
|
114230
|
+
*/
|
|
112580
114231
|
sessionId: (string | null)
|
|
112581
114232
|
}[]
|
|
112582
114233
|
}
|
|
112583
|
-
|
|
114234
|
+
/**
|
|
114235
|
+
* Holds at most one entry: the decision for this person's originating conversion, present only when that conversion falls inside the requested window. Kept as a list for callers that already read it; `originatingDecision` is the same value at a bindable path.
|
|
114236
|
+
*/
|
|
114237
|
+
decisions: TrackingReportsAttributedJourneyOutputItems[]
|
|
114238
|
+
/**
|
|
114239
|
+
* The person this journey belongs to, echoed back from the request.
|
|
114240
|
+
*/
|
|
114241
|
+
profileId: string
|
|
114242
|
+
/**
|
|
114243
|
+
* The attribution decision for this person's originating conversion — the same value as `decisions[0]`, at a path a workflow can bind. Null means the decision is not in THIS window, not that the person never converted: a conversion before `from` or after `to` is excluded here while still being their originating one. Widen the window to see it.
|
|
114244
|
+
*/
|
|
114245
|
+
originatingDecision: (TrackingReportsAttributedJourneyOutputItems | null)
|
|
114246
|
+
}
|
|
114247
|
+
export interface TrackingReportsAttributedJourneyOutputItems {
|
|
114248
|
+
/**
|
|
114249
|
+
* Attribution model the winner was picked under, echoed back from the request.
|
|
114250
|
+
*/
|
|
112584
114251
|
model: ("last_click" | "first_click")
|
|
114252
|
+
/**
|
|
114253
|
+
* Why this touchpoint won, or why nothing did, in a sentence a person can read.
|
|
114254
|
+
*/
|
|
112585
114255
|
reason: string
|
|
114256
|
+
/**
|
|
114257
|
+
* Revenue of that conversion, one row per currency.
|
|
114258
|
+
*/
|
|
112586
114259
|
revenue: {
|
|
114260
|
+
/**
|
|
114261
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
114262
|
+
*/
|
|
112587
114263
|
currency: string
|
|
114264
|
+
/**
|
|
114265
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
114266
|
+
*/
|
|
112588
114267
|
netMinor: number
|
|
114268
|
+
/**
|
|
114269
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
114270
|
+
*/
|
|
112589
114271
|
grossMinor: number
|
|
114272
|
+
/**
|
|
114273
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
114274
|
+
*/
|
|
112590
114275
|
refundedMinor: number
|
|
112591
114276
|
}[]
|
|
114277
|
+
/**
|
|
114278
|
+
* `journey.events[].ref` of the touchpoint that won the credit. Null when nothing inside the window qualified.
|
|
114279
|
+
*/
|
|
112592
114280
|
winnerRef: (string | null)
|
|
114281
|
+
/**
|
|
114282
|
+
* When the conversion this decision explains happened (ISO 8601, UTC).
|
|
114283
|
+
*/
|
|
112593
114284
|
conversionTs: string
|
|
114285
|
+
/**
|
|
114286
|
+
* How far back before `conversionTs` a touchpoint was allowed to be credited, in days; echoed back.
|
|
114287
|
+
*/
|
|
112594
114288
|
lookbackDays: number
|
|
114289
|
+
/**
|
|
114290
|
+
* The winning touchpoint spelled out, so a reader need not resolve `winnerRef`. Null exactly when `winnerRef` is null.
|
|
114291
|
+
*/
|
|
112595
114292
|
winningTouchpoint: ({
|
|
114293
|
+
/**
|
|
114294
|
+
* When the winning touchpoint happened (ISO 8601, UTC).
|
|
114295
|
+
*/
|
|
112596
114296
|
ts: string
|
|
114297
|
+
/**
|
|
114298
|
+
* Channel the winning touchpoint belongs to.
|
|
114299
|
+
*/
|
|
112597
114300
|
channel: ("paid" | "organic" | "direct" | "email")
|
|
114301
|
+
/**
|
|
114302
|
+
* utm_medium of the winning touchpoint; null when it carried none.
|
|
114303
|
+
*/
|
|
112598
114304
|
utmMedium: (string | null)
|
|
114305
|
+
/**
|
|
114306
|
+
* utm_source of the winning touchpoint; null when it carried none.
|
|
114307
|
+
*/
|
|
112599
114308
|
utmSource: (string | null)
|
|
114309
|
+
/**
|
|
114310
|
+
* Campaign id carried by our own `_lt_campaign` landing-URL parameter; null when the visit carried none.
|
|
114311
|
+
*/
|
|
114312
|
+
ltCampaign?: (string | null)
|
|
114313
|
+
/**
|
|
114314
|
+
* Ad-network click id present on the winning touchpoint, e.g. 'gclid'; null when it carried none.
|
|
114315
|
+
*/
|
|
112600
114316
|
clickIdType: (string | null)
|
|
114317
|
+
/**
|
|
114318
|
+
* utm_campaign of the winning touchpoint; null when it carried none.
|
|
114319
|
+
*/
|
|
112601
114320
|
utmCampaign: (string | null)
|
|
112602
114321
|
} | null)
|
|
112603
|
-
}[]
|
|
112604
|
-
profileId: string
|
|
112605
114322
|
}
|
|
112606
114323
|
|
|
112607
114324
|
export interface TrackingReportsEventVolumeInput {
|
|
112608
|
-
|
|
112609
|
-
|
|
114325
|
+
/**
|
|
114326
|
+
* End of the range to count, inclusive (ISO 8601). Optional — defaults to the moment of the call.
|
|
114327
|
+
*/
|
|
114328
|
+
to?: string
|
|
114329
|
+
/**
|
|
114330
|
+
* Start of the range to count, inclusive (ISO 8601). Optional — defaults to 30 days back, the start of that UTC day.
|
|
114331
|
+
*/
|
|
114332
|
+
from?: string
|
|
114333
|
+
/**
|
|
114334
|
+
* Count only this site. Omit to count every site the product sends from.
|
|
114335
|
+
*/
|
|
112610
114336
|
domain?: string
|
|
112611
114337
|
}
|
|
112612
114338
|
|
|
112613
114339
|
export interface TrackingReportsEventVolumeOutput {
|
|
114340
|
+
/**
|
|
114341
|
+
* End of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
114342
|
+
*/
|
|
112614
114343
|
to: string
|
|
114344
|
+
/**
|
|
114345
|
+
* Start of the range the figures cover, echoed back (ISO 8601, UTC).
|
|
114346
|
+
*/
|
|
112615
114347
|
from: string
|
|
114348
|
+
/**
|
|
114349
|
+
* Site the figures were restricted to; null when every site of the product is included.
|
|
114350
|
+
*/
|
|
112616
114351
|
domain: (string | null)
|
|
114352
|
+
/**
|
|
114353
|
+
* When this report was computed (ISO 8601, UTC).
|
|
114354
|
+
*/
|
|
112617
114355
|
computedAt: string
|
|
114356
|
+
/**
|
|
114357
|
+
* How COMPLETE the two headline figures above are. Contains no metric of its own — never present a field of it as a headline number and never add it to anything. consentGrantedEvents + cookielessEvents + noBannerEvents = totalEvents.
|
|
114358
|
+
*/
|
|
112618
114359
|
dataQuality: {
|
|
114360
|
+
/**
|
|
114361
|
+
* Fraction of `totalEvents` (0..1) that came from sites running no consent banner, where nobody was ever asked.
|
|
114362
|
+
*/
|
|
112619
114363
|
noBannerShare: number
|
|
114364
|
+
/**
|
|
114365
|
+
* Events from sites with no consent banner. Kept apart from `cookielessEvents` on purpose: nobody refused here, nobody was asked.
|
|
114366
|
+
*/
|
|
112620
114367
|
noBannerEvents: number
|
|
114368
|
+
/**
|
|
114369
|
+
* How many UTC days the range spans; each one re-counts a returning declining visitor.
|
|
114370
|
+
*/
|
|
112621
114371
|
utcDaysInRange: number
|
|
114372
|
+
/**
|
|
114373
|
+
* Fraction of `totalEvents` (0..1) that came from visitors who declined statistics consent.
|
|
114374
|
+
*/
|
|
112622
114375
|
cookielessShare: number
|
|
114376
|
+
/**
|
|
114377
|
+
* Events from visitors who declined; no cookie was written and no identifier sent.
|
|
114378
|
+
*/
|
|
112623
114379
|
cookielessEvents: number
|
|
114380
|
+
/**
|
|
114381
|
+
* Events carrying an anonymous id. A different cut that overlaps the three consent buckets — it is not the complement of `cookielessEvents` and must never be added to it.
|
|
114382
|
+
*/
|
|
112624
114383
|
identifiedEvents: number
|
|
114384
|
+
/**
|
|
114385
|
+
* True when `visitorsDeduplicatedPerUtcDay` over-counts for this range: the range spans more than one UTC day and there is declining traffic in it.
|
|
114386
|
+
*/
|
|
112625
114387
|
visitorsOverstated: boolean
|
|
114388
|
+
/**
|
|
114389
|
+
* Events from visitors who granted statistics consent.
|
|
114390
|
+
*/
|
|
112626
114391
|
consentGrantedEvents: number
|
|
112627
114392
|
}
|
|
114393
|
+
/**
|
|
114394
|
+
* How many events arrived in the range, across every consent state.
|
|
114395
|
+
*/
|
|
112628
114396
|
totalEvents: number
|
|
114397
|
+
/**
|
|
114398
|
+
* How many PEOPLE those events came from: one COUNT DISTINCT over consenting visitors (by anonymous id) and declining visitors (by a daily key destroyed each UTC midnight) at once. Over a range longer than one UTC day this is an OVER-count of the declining half — read `dataQuality.visitorsOverstated` before reporting it.
|
|
114399
|
+
*/
|
|
112629
114400
|
visitorsDeduplicatedPerUtcDay: number
|
|
112630
114401
|
}
|
|
112631
114402
|
|
|
112632
114403
|
export interface TrackingReportsRevenueBySourceInput {
|
|
112633
114404
|
/**
|
|
112634
|
-
* Cohort window end (ISO)
|
|
114405
|
+
* Cohort window end (ISO). Optional — defaults to the moment of the call.
|
|
112635
114406
|
*/
|
|
112636
|
-
to
|
|
114407
|
+
to?: string
|
|
112637
114408
|
/**
|
|
112638
|
-
* Cohort window start (ISO); selects conversions by subscription start
|
|
114409
|
+
* Cohort window start (ISO); selects conversions by subscription start. Optional — defaults to 30 days back, the start of that UTC day.
|
|
112639
114410
|
*/
|
|
112640
|
-
from
|
|
114411
|
+
from?: string
|
|
112641
114412
|
/**
|
|
112642
114413
|
* Attribution model
|
|
112643
114414
|
*/
|
|
@@ -112653,54 +114424,150 @@ lookbackDays?: number
|
|
|
112653
114424
|
}
|
|
112654
114425
|
|
|
112655
114426
|
export interface TrackingReportsRevenueBySourceOutput {
|
|
114427
|
+
/**
|
|
114428
|
+
* End of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
114429
|
+
*/
|
|
112656
114430
|
to: string
|
|
114431
|
+
/**
|
|
114432
|
+
* Start of the cohort window the figures cover, echoed back (ISO 8601, UTC).
|
|
114433
|
+
*/
|
|
112657
114434
|
from: string
|
|
114435
|
+
/**
|
|
114436
|
+
* Attribution model the credit was assigned under, echoed back. Pass the same value to `tracking_reports_source_people` to drill into a row.
|
|
114437
|
+
*/
|
|
112658
114438
|
model: ("last_click" | "first_click")
|
|
114439
|
+
/**
|
|
114440
|
+
* Site touchpoints were restricted to; null when every site of the product was considered.
|
|
114441
|
+
*/
|
|
112659
114442
|
domain: (string | null)
|
|
114443
|
+
/**
|
|
114444
|
+
* Every channel plus `unattributed`. This is the whole window, not the attributed part of it.
|
|
114445
|
+
*/
|
|
112660
114446
|
totals: {
|
|
114447
|
+
/**
|
|
114448
|
+
* Revenue over every channel plus `unattributed`, one row per currency.
|
|
114449
|
+
*/
|
|
112661
114450
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
114451
|
+
/**
|
|
114452
|
+
* Distinct paying people over every channel plus `unattributed`.
|
|
114453
|
+
*/
|
|
112662
114454
|
customers: number
|
|
112663
114455
|
}
|
|
114456
|
+
/**
|
|
114457
|
+
* One row per channel that earned revenue in the window. Channels with none are omitted.
|
|
114458
|
+
*/
|
|
112664
114459
|
channels: {
|
|
114460
|
+
/**
|
|
114461
|
+
* Which acquisition channel this row aggregates.
|
|
114462
|
+
*/
|
|
112665
114463
|
channel: ("paid" | "organic" | "direct" | "email")
|
|
114464
|
+
/**
|
|
114465
|
+
* Revenue credited to this channel, one row per currency, ordered by currency code. Currencies are never summed, so there is no single figure here: a product trading in two currencies has two rows and both must be reported.
|
|
114466
|
+
*/
|
|
112666
114467
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
114468
|
+
/**
|
|
114469
|
+
* Distinct paying people credited to this channel.
|
|
114470
|
+
*/
|
|
112667
114471
|
customers: number
|
|
114472
|
+
/**
|
|
114473
|
+
* The channel split by UTM combination. Each row is a drill-down target for `tracking_reports_source_people`.
|
|
114474
|
+
*/
|
|
112668
114475
|
utmBreakdown: {
|
|
114476
|
+
/**
|
|
114477
|
+
* Revenue credited to this UTM combination, one row per currency.
|
|
114478
|
+
*/
|
|
112669
114479
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
114480
|
+
/**
|
|
114481
|
+
* Distinct paying people credited to this UTM combination.
|
|
114482
|
+
*/
|
|
112670
114483
|
customers: number
|
|
114484
|
+
/**
|
|
114485
|
+
* utm_medium of this row; null when the visit carried none.
|
|
114486
|
+
*/
|
|
112671
114487
|
utmMedium: (string | null)
|
|
114488
|
+
/**
|
|
114489
|
+
* utm_source of this row; null when the visit carried none.
|
|
114490
|
+
*/
|
|
112672
114491
|
utmSource: (string | null)
|
|
114492
|
+
/**
|
|
114493
|
+
* Ad-network click id present on the visit, e.g. 'gclid'; null when it carried none.
|
|
114494
|
+
*/
|
|
112673
114495
|
clickIdType: (string | null)
|
|
114496
|
+
/**
|
|
114497
|
+
* utm_campaign of this row; null when the visit carried none.
|
|
114498
|
+
*/
|
|
112674
114499
|
utmCampaign: (string | null)
|
|
112675
114500
|
}[]
|
|
112676
114501
|
}[]
|
|
114502
|
+
/**
|
|
114503
|
+
* Fraction of paying people (0..1) a touchpoint could be found for: attributed customers over `totals.customers`. Count-based, never revenue-weighted.
|
|
114504
|
+
*/
|
|
112677
114505
|
matchRate: number
|
|
114506
|
+
/**
|
|
114507
|
+
* When this report was computed (ISO 8601, UTC).
|
|
114508
|
+
*/
|
|
112678
114509
|
computedAt: string
|
|
114510
|
+
/**
|
|
114511
|
+
* How far back before a conversion a touchpoint was allowed to be credited, in days; echoed back.
|
|
114512
|
+
*/
|
|
112679
114513
|
lookbackDays: number
|
|
114514
|
+
/**
|
|
114515
|
+
* Revenue that reached no channel — kept as its own row so the channel rows are never quietly inflated to cover it.
|
|
114516
|
+
*/
|
|
112680
114517
|
unattributed: {
|
|
114518
|
+
/**
|
|
114519
|
+
* Revenue no touchpoint could be credited for, one row per currency.
|
|
114520
|
+
*/
|
|
112681
114521
|
revenue: TrackingReportsRevenueBySourceOutputItems[]
|
|
114522
|
+
/**
|
|
114523
|
+
* Distinct paying people no touchpoint could be credited for.
|
|
114524
|
+
*/
|
|
112682
114525
|
customers: number
|
|
112683
114526
|
}
|
|
112684
114527
|
}
|
|
112685
114528
|
export interface TrackingReportsRevenueBySourceOutputItems {
|
|
114529
|
+
/**
|
|
114530
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
114531
|
+
*/
|
|
112686
114532
|
currency: string
|
|
114533
|
+
/**
|
|
114534
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
114535
|
+
*/
|
|
112687
114536
|
netMinor: number
|
|
114537
|
+
/**
|
|
114538
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
114539
|
+
*/
|
|
112688
114540
|
grossMinor: number
|
|
114541
|
+
/**
|
|
114542
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
114543
|
+
*/
|
|
112689
114544
|
refundedMinor: number
|
|
112690
114545
|
}
|
|
112691
114546
|
|
|
112692
114547
|
export interface TrackingReportsSourcePeopleInput {
|
|
112693
|
-
|
|
112694
|
-
from
|
|
114548
|
+
/**
|
|
114549
|
+
* Cohort window end (ISO); must match the report this row came from. Optional — defaults to the moment of the call.
|
|
114550
|
+
*/
|
|
114551
|
+
to?: string
|
|
114552
|
+
/**
|
|
114553
|
+
* Cohort window start (ISO); must match the report this row came from. Optional — defaults to 30 days back, the start of that UTC day.
|
|
114554
|
+
*/
|
|
114555
|
+
from?: string
|
|
112695
114556
|
/**
|
|
112696
114557
|
* People per page (default 50, max 200)
|
|
112697
114558
|
*/
|
|
112698
114559
|
limit?: number
|
|
114560
|
+
/**
|
|
114561
|
+
* Attribution model to credit the touchpoint under; must match the report this row came from (default 'last_click').
|
|
114562
|
+
*/
|
|
112699
114563
|
model?: ("last_click" | "first_click")
|
|
112700
114564
|
/**
|
|
112701
114565
|
* Opaque keyset cursor from a previous page
|
|
112702
114566
|
*/
|
|
112703
114567
|
cursor?: string
|
|
114568
|
+
/**
|
|
114569
|
+
* Only consider touchpoints on this domain; must match the report this row came from. Omit for no restriction.
|
|
114570
|
+
*/
|
|
112704
114571
|
domain?: string
|
|
112705
114572
|
/**
|
|
112706
114573
|
* Channel to drill into
|
|
@@ -112710,27 +114577,72 @@ channel: ("paid" | "organic" | "direct" | "email")
|
|
|
112710
114577
|
* Comma-separated dimension names (utmSource,utmMedium,utmCampaign,clickIdType) that must be IS NULL
|
|
112711
114578
|
*/
|
|
112712
114579
|
utmNulls?: string
|
|
114580
|
+
/**
|
|
114581
|
+
* utm_medium of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
114582
|
+
*/
|
|
112713
114583
|
utmMedium?: string
|
|
114584
|
+
/**
|
|
114585
|
+
* utm_source of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
114586
|
+
*/
|
|
112714
114587
|
utmSource?: string
|
|
112715
114588
|
/**
|
|
112716
114589
|
* Native click-id type of the breakdown row to drill into (e.g. 'gclid'). Tri-state: omit for no filter (all click ids), pass a value to match it, or list 'clickIdType' in utmNulls to match the IS-NULL row.
|
|
112717
114590
|
*/
|
|
112718
114591
|
clickIdType?: string
|
|
114592
|
+
/**
|
|
114593
|
+
* utm_campaign of the breakdown row to drill into. Omit for no filter; to match the IS-NULL row, list it in utmNulls instead.
|
|
114594
|
+
*/
|
|
112719
114595
|
utmCampaign?: string
|
|
114596
|
+
/**
|
|
114597
|
+
* How far back before a conversion a touchpoint may be credited, in days; must match the report this row came from (default 30).
|
|
114598
|
+
*/
|
|
112720
114599
|
lookbackDays?: number
|
|
112721
114600
|
}
|
|
112722
114601
|
|
|
112723
114602
|
export interface TrackingReportsSourcePeopleOutput {
|
|
114603
|
+
/**
|
|
114604
|
+
* Pass back as `cursor` for the next page. Null on the last page.
|
|
114605
|
+
*/
|
|
112724
114606
|
cursor: (string | null)
|
|
114607
|
+
/**
|
|
114608
|
+
* The page of people behind the requested row, ordered by the keyset the cursor walks.
|
|
114609
|
+
*/
|
|
112725
114610
|
people: {
|
|
114611
|
+
/**
|
|
114612
|
+
* Where this person stands in their subscription lifecycle, e.g. active or churned.
|
|
114613
|
+
*/
|
|
112726
114614
|
status: string
|
|
114615
|
+
/**
|
|
114616
|
+
* Identifier of this person; pass it to `tracking_reports_attributed_journey` to see why they were credited here.
|
|
114617
|
+
*/
|
|
112727
114618
|
profileId: string
|
|
114619
|
+
/**
|
|
114620
|
+
* Most recent tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
114621
|
+
*/
|
|
112728
114622
|
lastSeenAt: (string | null)
|
|
114623
|
+
/**
|
|
114624
|
+
* Earliest tracked activity for this person (ISO 8601, UTC); null when none was recorded.
|
|
114625
|
+
*/
|
|
112729
114626
|
firstSeenAt: (string | null)
|
|
114627
|
+
/**
|
|
114628
|
+
* Lifetime revenue credited to this person under the requested model, one row per currency.
|
|
114629
|
+
*/
|
|
112730
114630
|
attributedRevenue: {
|
|
114631
|
+
/**
|
|
114632
|
+
* ISO 4217 code the amounts below are denominated in, e.g. EUR.
|
|
114633
|
+
*/
|
|
112731
114634
|
currency: string
|
|
114635
|
+
/**
|
|
114636
|
+
* `grossMinor` minus `refundedMinor`, in minor units of `currency`. This is the figure to report.
|
|
114637
|
+
*/
|
|
112732
114638
|
netMinor: number
|
|
114639
|
+
/**
|
|
114640
|
+
* Billed amount before refunds, in minor units of `currency` (cents for EUR).
|
|
114641
|
+
*/
|
|
112733
114642
|
grossMinor: number
|
|
114643
|
+
/**
|
|
114644
|
+
* Amount refunded out of `grossMinor`, in minor units of `currency`.
|
|
114645
|
+
*/
|
|
112734
114646
|
refundedMinor: number
|
|
112735
114647
|
}[]
|
|
112736
114648
|
}[]
|
|
@@ -112741,9 +114653,21 @@ export interface TrackingSnippetsGetInput {
|
|
|
112741
114653
|
}
|
|
112742
114654
|
|
|
112743
114655
|
export interface TrackingSnippetsGetOutput {
|
|
114656
|
+
/**
|
|
114657
|
+
* Tracking host the snippet sends to — the customer-facing domain events and the bundle are served from.
|
|
114658
|
+
*/
|
|
112744
114659
|
host: string
|
|
114660
|
+
/**
|
|
114661
|
+
* The tag to paste into every page, verbatim, before </head>. Includes the consent-aware bootstrap; install it unconditionally rather than behind a consent gate.
|
|
114662
|
+
*/
|
|
112745
114663
|
snippet: string
|
|
114664
|
+
/**
|
|
114665
|
+
* Absolute URL of the tracker bundle the snippet loads; already points at this product's own tracking host.
|
|
114666
|
+
*/
|
|
112746
114667
|
scriptUrl: string
|
|
114668
|
+
/**
|
|
114669
|
+
* The same tag stripped to the bare script element, for tag managers and CMS fields that reject anything else. Behaves identically; use it only when the full snippet will not fit.
|
|
114670
|
+
*/
|
|
112747
114671
|
minimalSnippet: string
|
|
112748
114672
|
}
|
|
112749
114673
|
|