dub 0.27.2__py3-none-any.whl → 0.27.4__py3-none-any.whl
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.
- dub/_version.py +3 -3
- dub/models/components/__init__.py +3 -2
- dub/models/components/clickevent.py +92 -47
- dub/models/components/domainschema.py +42 -0
- dub/models/components/leadcreatedevent.py +66 -21
- dub/models/components/leadevent.py +126 -48
- dub/models/components/linkclickedevent.py +66 -21
- dub/models/components/linkschema.py +26 -20
- dub/models/components/linkwebhookevent.py +33 -21
- dub/models/components/partnerenrolledevent.py +6 -6
- dub/models/components/salecreatedevent.py +66 -21
- dub/models/components/saleevent.py +206 -123
- dub/models/errors/__init__.py +3 -2
- dub/models/operations/__init__.py +3 -2
- dub/models/operations/bulkcreatelinks.py +25 -25
- dub/models/operations/bulkupdatelinks.py +25 -25
- dub/models/operations/createlink.py +25 -25
- dub/models/operations/createpartner.py +6 -6
- dub/models/operations/getlinks.py +2 -2
- dub/models/operations/getlinkscount.py +2 -2
- dub/models/operations/listevents.py +31 -22
- dub/models/operations/listpartners.py +6 -6
- dub/models/operations/retrieveanalytics.py +31 -22
- dub/models/operations/retrievelinks.py +6 -6
- dub/models/operations/updatelink.py +25 -25
- dub/models/operations/upsertlink.py +25 -25
- dub/sdk.py +1 -1
- dub/utils/__init__.py +3 -2
- {dub-0.27.2.dist-info → dub-0.27.4.dist-info}/METADATA +2 -2
- {dub-0.27.2.dist-info → dub-0.27.4.dist-info}/RECORD +32 -32
- {dub-0.27.2.dist-info → dub-0.27.4.dist-info}/LICENSE +0 -0
- {dub-0.27.2.dist-info → dub-0.27.4.dist-info}/WHEEL +0 -0
|
@@ -69,10 +69,6 @@ class RequestBodyTypedDict(TypedDict):
|
|
|
69
69
|
r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
|
|
70
70
|
archived: NotRequired[bool]
|
|
71
71
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
72
|
-
public_stats: NotRequired[bool]
|
|
73
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
74
|
-
tag_id: NotRequired[Nullable[str]]
|
|
75
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
76
72
|
tag_ids: NotRequired[BulkCreateLinksTagIdsTypedDict]
|
|
77
73
|
r"""The unique IDs of the tags assigned to the short link."""
|
|
78
74
|
tag_names: NotRequired[BulkCreateLinksTagNamesTypedDict]
|
|
@@ -127,6 +123,10 @@ class RequestBodyTypedDict(TypedDict):
|
|
|
127
123
|
r"""The date and time when the tests started."""
|
|
128
124
|
test_completed_at: NotRequired[Nullable[str]]
|
|
129
125
|
r"""The date and time when the tests were or will be completed."""
|
|
126
|
+
public_stats: NotRequired[bool]
|
|
127
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
128
|
+
tag_id: NotRequired[Nullable[str]]
|
|
129
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
class RequestBody(BaseModel):
|
|
@@ -173,24 +173,6 @@ class RequestBody(BaseModel):
|
|
|
173
173
|
archived: Optional[bool] = None
|
|
174
174
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
175
175
|
|
|
176
|
-
public_stats: Annotated[
|
|
177
|
-
Optional[bool],
|
|
178
|
-
pydantic.Field(
|
|
179
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
180
|
-
alias="publicStats",
|
|
181
|
-
),
|
|
182
|
-
] = None
|
|
183
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
184
|
-
|
|
185
|
-
tag_id: Annotated[
|
|
186
|
-
OptionalNullable[str],
|
|
187
|
-
pydantic.Field(
|
|
188
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
189
|
-
alias="tagId",
|
|
190
|
-
),
|
|
191
|
-
] = UNSET
|
|
192
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
193
|
-
|
|
194
176
|
tag_ids: Annotated[
|
|
195
177
|
Optional[BulkCreateLinksTagIds], pydantic.Field(alias="tagIds")
|
|
196
178
|
] = None
|
|
@@ -291,6 +273,24 @@ class RequestBody(BaseModel):
|
|
|
291
273
|
] = UNSET
|
|
292
274
|
r"""The date and time when the tests were or will be completed."""
|
|
293
275
|
|
|
276
|
+
public_stats: Annotated[
|
|
277
|
+
Optional[bool],
|
|
278
|
+
pydantic.Field(
|
|
279
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
280
|
+
alias="publicStats",
|
|
281
|
+
),
|
|
282
|
+
] = None
|
|
283
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
284
|
+
|
|
285
|
+
tag_id: Annotated[
|
|
286
|
+
OptionalNullable[str],
|
|
287
|
+
pydantic.Field(
|
|
288
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
289
|
+
alias="tagId",
|
|
290
|
+
),
|
|
291
|
+
] = UNSET
|
|
292
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
293
|
+
|
|
294
294
|
@model_serializer(mode="wrap")
|
|
295
295
|
def serialize_model(self, handler):
|
|
296
296
|
optional_fields = [
|
|
@@ -304,8 +304,6 @@ class RequestBody(BaseModel):
|
|
|
304
304
|
"prefix",
|
|
305
305
|
"trackConversion",
|
|
306
306
|
"archived",
|
|
307
|
-
"publicStats",
|
|
308
|
-
"tagId",
|
|
309
307
|
"tagIds",
|
|
310
308
|
"tagNames",
|
|
311
309
|
"folderId",
|
|
@@ -333,13 +331,14 @@ class RequestBody(BaseModel):
|
|
|
333
331
|
"testVariants",
|
|
334
332
|
"testStartedAt",
|
|
335
333
|
"testCompletedAt",
|
|
334
|
+
"publicStats",
|
|
335
|
+
"tagId",
|
|
336
336
|
]
|
|
337
337
|
nullable_fields = [
|
|
338
338
|
"externalId",
|
|
339
339
|
"tenantId",
|
|
340
340
|
"programId",
|
|
341
341
|
"partnerId",
|
|
342
|
-
"tagId",
|
|
343
342
|
"folderId",
|
|
344
343
|
"comments",
|
|
345
344
|
"expiresAt",
|
|
@@ -362,6 +361,7 @@ class RequestBody(BaseModel):
|
|
|
362
361
|
"testVariants",
|
|
363
362
|
"testStartedAt",
|
|
364
363
|
"testCompletedAt",
|
|
364
|
+
"tagId",
|
|
365
365
|
]
|
|
366
366
|
null_default_fields = []
|
|
367
367
|
|
|
@@ -55,10 +55,6 @@ class DataTypedDict(TypedDict):
|
|
|
55
55
|
r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
|
|
56
56
|
archived: NotRequired[bool]
|
|
57
57
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
58
|
-
public_stats: NotRequired[bool]
|
|
59
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
60
|
-
tag_id: NotRequired[Nullable[str]]
|
|
61
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
62
58
|
tag_ids: NotRequired[BulkUpdateLinksTagIdsTypedDict]
|
|
63
59
|
r"""The unique IDs of the tags assigned to the short link."""
|
|
64
60
|
tag_names: NotRequired[BulkUpdateLinksTagNamesTypedDict]
|
|
@@ -113,6 +109,10 @@ class DataTypedDict(TypedDict):
|
|
|
113
109
|
r"""The date and time when the tests started."""
|
|
114
110
|
test_completed_at: NotRequired[Nullable[str]]
|
|
115
111
|
r"""The date and time when the tests were or will be completed."""
|
|
112
|
+
public_stats: NotRequired[bool]
|
|
113
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
114
|
+
tag_id: NotRequired[Nullable[str]]
|
|
115
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
class Data(BaseModel):
|
|
@@ -142,24 +142,6 @@ class Data(BaseModel):
|
|
|
142
142
|
archived: Optional[bool] = None
|
|
143
143
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
144
144
|
|
|
145
|
-
public_stats: Annotated[
|
|
146
|
-
Optional[bool],
|
|
147
|
-
pydantic.Field(
|
|
148
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
149
|
-
alias="publicStats",
|
|
150
|
-
),
|
|
151
|
-
] = None
|
|
152
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
153
|
-
|
|
154
|
-
tag_id: Annotated[
|
|
155
|
-
OptionalNullable[str],
|
|
156
|
-
pydantic.Field(
|
|
157
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
158
|
-
alias="tagId",
|
|
159
|
-
),
|
|
160
|
-
] = UNSET
|
|
161
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
162
|
-
|
|
163
145
|
tag_ids: Annotated[
|
|
164
146
|
Optional[BulkUpdateLinksTagIds], pydantic.Field(alias="tagIds")
|
|
165
147
|
] = None
|
|
@@ -260,6 +242,24 @@ class Data(BaseModel):
|
|
|
260
242
|
] = UNSET
|
|
261
243
|
r"""The date and time when the tests were or will be completed."""
|
|
262
244
|
|
|
245
|
+
public_stats: Annotated[
|
|
246
|
+
Optional[bool],
|
|
247
|
+
pydantic.Field(
|
|
248
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
249
|
+
alias="publicStats",
|
|
250
|
+
),
|
|
251
|
+
] = None
|
|
252
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
253
|
+
|
|
254
|
+
tag_id: Annotated[
|
|
255
|
+
OptionalNullable[str],
|
|
256
|
+
pydantic.Field(
|
|
257
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
258
|
+
alias="tagId",
|
|
259
|
+
),
|
|
260
|
+
] = UNSET
|
|
261
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
262
|
+
|
|
263
263
|
@model_serializer(mode="wrap")
|
|
264
264
|
def serialize_model(self, handler):
|
|
265
265
|
optional_fields = [
|
|
@@ -269,8 +269,6 @@ class Data(BaseModel):
|
|
|
269
269
|
"partnerId",
|
|
270
270
|
"trackConversion",
|
|
271
271
|
"archived",
|
|
272
|
-
"publicStats",
|
|
273
|
-
"tagId",
|
|
274
272
|
"tagIds",
|
|
275
273
|
"tagNames",
|
|
276
274
|
"folderId",
|
|
@@ -298,12 +296,13 @@ class Data(BaseModel):
|
|
|
298
296
|
"testVariants",
|
|
299
297
|
"testStartedAt",
|
|
300
298
|
"testCompletedAt",
|
|
299
|
+
"publicStats",
|
|
300
|
+
"tagId",
|
|
301
301
|
]
|
|
302
302
|
nullable_fields = [
|
|
303
303
|
"tenantId",
|
|
304
304
|
"programId",
|
|
305
305
|
"partnerId",
|
|
306
|
-
"tagId",
|
|
307
306
|
"folderId",
|
|
308
307
|
"comments",
|
|
309
308
|
"expiresAt",
|
|
@@ -326,6 +325,7 @@ class Data(BaseModel):
|
|
|
326
325
|
"testVariants",
|
|
327
326
|
"testStartedAt",
|
|
328
327
|
"testCompletedAt",
|
|
328
|
+
"tagId",
|
|
329
329
|
]
|
|
330
330
|
null_default_fields = []
|
|
331
331
|
|
|
@@ -63,10 +63,6 @@ class CreateLinkRequestBodyTypedDict(TypedDict):
|
|
|
63
63
|
r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
|
|
64
64
|
archived: NotRequired[bool]
|
|
65
65
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
66
|
-
public_stats: NotRequired[bool]
|
|
67
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
68
|
-
tag_id: NotRequired[Nullable[str]]
|
|
69
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
70
66
|
tag_ids: NotRequired[TagIdsTypedDict]
|
|
71
67
|
r"""The unique IDs of the tags assigned to the short link."""
|
|
72
68
|
tag_names: NotRequired[TagNamesTypedDict]
|
|
@@ -121,6 +117,10 @@ class CreateLinkRequestBodyTypedDict(TypedDict):
|
|
|
121
117
|
r"""The date and time when the tests started."""
|
|
122
118
|
test_completed_at: NotRequired[Nullable[str]]
|
|
123
119
|
r"""The date and time when the tests were or will be completed."""
|
|
120
|
+
public_stats: NotRequired[bool]
|
|
121
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
122
|
+
tag_id: NotRequired[Nullable[str]]
|
|
123
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
class CreateLinkRequestBody(BaseModel):
|
|
@@ -167,24 +167,6 @@ class CreateLinkRequestBody(BaseModel):
|
|
|
167
167
|
archived: Optional[bool] = None
|
|
168
168
|
r"""Whether the short link is archived. Defaults to `false` if not provided."""
|
|
169
169
|
|
|
170
|
-
public_stats: Annotated[
|
|
171
|
-
Optional[bool],
|
|
172
|
-
pydantic.Field(
|
|
173
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
174
|
-
alias="publicStats",
|
|
175
|
-
),
|
|
176
|
-
] = None
|
|
177
|
-
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
178
|
-
|
|
179
|
-
tag_id: Annotated[
|
|
180
|
-
OptionalNullable[str],
|
|
181
|
-
pydantic.Field(
|
|
182
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
183
|
-
alias="tagId",
|
|
184
|
-
),
|
|
185
|
-
] = UNSET
|
|
186
|
-
r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
|
|
187
|
-
|
|
188
170
|
tag_ids: Annotated[Optional[TagIds], pydantic.Field(alias="tagIds")] = None
|
|
189
171
|
r"""The unique IDs of the tags assigned to the short link."""
|
|
190
172
|
|
|
@@ -280,6 +262,24 @@ class CreateLinkRequestBody(BaseModel):
|
|
|
280
262
|
] = UNSET
|
|
281
263
|
r"""The date and time when the tests were or will be completed."""
|
|
282
264
|
|
|
265
|
+
public_stats: Annotated[
|
|
266
|
+
Optional[bool],
|
|
267
|
+
pydantic.Field(
|
|
268
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
269
|
+
alias="publicStats",
|
|
270
|
+
),
|
|
271
|
+
] = None
|
|
272
|
+
r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
|
|
273
|
+
|
|
274
|
+
tag_id: Annotated[
|
|
275
|
+
OptionalNullable[str],
|
|
276
|
+
pydantic.Field(
|
|
277
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
|
|
278
|
+
alias="tagId",
|
|
279
|
+
),
|
|
280
|
+
] = UNSET
|
|
281
|
+
r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
|
|
282
|
+
|
|
283
283
|
@model_serializer(mode="wrap")
|
|
284
284
|
def serialize_model(self, handler):
|
|
285
285
|
optional_fields = [
|
|
@@ -293,8 +293,6 @@ class CreateLinkRequestBody(BaseModel):
|
|
|
293
293
|
"prefix",
|
|
294
294
|
"trackConversion",
|
|
295
295
|
"archived",
|
|
296
|
-
"publicStats",
|
|
297
|
-
"tagId",
|
|
298
296
|
"tagIds",
|
|
299
297
|
"tagNames",
|
|
300
298
|
"folderId",
|
|
@@ -322,13 +320,14 @@ class CreateLinkRequestBody(BaseModel):
|
|
|
322
320
|
"testVariants",
|
|
323
321
|
"testStartedAt",
|
|
324
322
|
"testCompletedAt",
|
|
323
|
+
"publicStats",
|
|
324
|
+
"tagId",
|
|
325
325
|
]
|
|
326
326
|
nullable_fields = [
|
|
327
327
|
"externalId",
|
|
328
328
|
"tenantId",
|
|
329
329
|
"programId",
|
|
330
330
|
"partnerId",
|
|
331
|
-
"tagId",
|
|
332
331
|
"folderId",
|
|
333
332
|
"comments",
|
|
334
333
|
"expiresAt",
|
|
@@ -351,6 +350,7 @@ class CreateLinkRequestBody(BaseModel):
|
|
|
351
350
|
"testVariants",
|
|
352
351
|
"testStartedAt",
|
|
353
352
|
"testCompletedAt",
|
|
353
|
+
"tagId",
|
|
354
354
|
]
|
|
355
355
|
null_default_fields = []
|
|
356
356
|
|
|
@@ -668,11 +668,11 @@ class CreatePartnerLinkTypedDict(TypedDict):
|
|
|
668
668
|
clicks: NotRequired[float]
|
|
669
669
|
r"""The number of clicks on the short link."""
|
|
670
670
|
leads: NotRequired[float]
|
|
671
|
-
r"""The number of leads the short
|
|
671
|
+
r"""The number of leads the short link has generated."""
|
|
672
672
|
sales: NotRequired[float]
|
|
673
|
-
r"""The number of sales the short
|
|
673
|
+
r"""The total number of sales (includes recurring sales) generated by the short link."""
|
|
674
674
|
sale_amount: NotRequired[float]
|
|
675
|
-
r"""The total dollar
|
|
675
|
+
r"""The total dollar value of sales (in cents) generated by the short link."""
|
|
676
676
|
|
|
677
677
|
|
|
678
678
|
class CreatePartnerLink(BaseModel):
|
|
@@ -695,13 +695,13 @@ class CreatePartnerLink(BaseModel):
|
|
|
695
695
|
r"""The number of clicks on the short link."""
|
|
696
696
|
|
|
697
697
|
leads: Optional[float] = 0
|
|
698
|
-
r"""The number of leads the short
|
|
698
|
+
r"""The number of leads the short link has generated."""
|
|
699
699
|
|
|
700
700
|
sales: Optional[float] = 0
|
|
701
|
-
r"""The number of sales the short
|
|
701
|
+
r"""The total number of sales (includes recurring sales) generated by the short link."""
|
|
702
702
|
|
|
703
703
|
sale_amount: Annotated[Optional[float], pydantic.Field(alias="saleAmount")] = 0
|
|
704
|
-
r"""The total dollar
|
|
704
|
+
r"""The total dollar value of sales (in cents) generated by the short link."""
|
|
705
705
|
|
|
706
706
|
|
|
707
707
|
class BannedReason(str, Enum):
|
|
@@ -68,7 +68,7 @@ class GetLinksRequestTypedDict(TypedDict):
|
|
|
68
68
|
domain: NotRequired[str]
|
|
69
69
|
r"""The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned."""
|
|
70
70
|
tag_id: NotRequired[str]
|
|
71
|
-
r"""Deprecated
|
|
71
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
|
|
72
72
|
tag_ids: NotRequired[QueryParamTagIdsTypedDict]
|
|
73
73
|
r"""The tag IDs to filter the links by."""
|
|
74
74
|
tag_names: NotRequired[QueryParamTagNamesTypedDict]
|
|
@@ -109,7 +109,7 @@ class GetLinksRequest(BaseModel):
|
|
|
109
109
|
pydantic.Field(alias="tagId"),
|
|
110
110
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
111
111
|
] = None
|
|
112
|
-
r"""Deprecated
|
|
112
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
|
|
113
113
|
|
|
114
114
|
tag_ids: Annotated[
|
|
115
115
|
Optional[QueryParamTagIds],
|
|
@@ -61,7 +61,7 @@ class GetLinksCountRequestTypedDict(TypedDict):
|
|
|
61
61
|
domain: NotRequired[str]
|
|
62
62
|
r"""The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned."""
|
|
63
63
|
tag_id: NotRequired[str]
|
|
64
|
-
r"""Deprecated
|
|
64
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
|
|
65
65
|
tag_ids: NotRequired[GetLinksCountQueryParamTagIdsTypedDict]
|
|
66
66
|
r"""The tag IDs to filter the links by."""
|
|
67
67
|
tag_names: NotRequired[GetLinksCountQueryParamTagNamesTypedDict]
|
|
@@ -94,7 +94,7 @@ class GetLinksCountRequest(BaseModel):
|
|
|
94
94
|
pydantic.Field(alias="tagId"),
|
|
95
95
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
96
96
|
] = None
|
|
97
|
-
r"""Deprecated
|
|
97
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
|
|
98
98
|
|
|
99
99
|
tag_ids: Annotated[
|
|
100
100
|
Optional[GetLinksCountQueryParamTagIds],
|
|
@@ -46,7 +46,7 @@ class QueryParamInterval(str, Enum):
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
class QueryParamTrigger(str, Enum):
|
|
49
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
49
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
50
50
|
|
|
51
51
|
QR = "qr"
|
|
52
52
|
LINK = "link"
|
|
@@ -138,25 +138,27 @@ class ListEventsRequestTypedDict(TypedDict):
|
|
|
138
138
|
os: NotRequired[str]
|
|
139
139
|
r"""The OS to retrieve analytics for."""
|
|
140
140
|
trigger: NotRequired[QueryParamTrigger]
|
|
141
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
141
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
142
142
|
referer: NotRequired[str]
|
|
143
143
|
r"""The referer to retrieve analytics for."""
|
|
144
144
|
referer_url: NotRequired[str]
|
|
145
145
|
r"""The full referer URL to retrieve analytics for."""
|
|
146
146
|
url: NotRequired[str]
|
|
147
147
|
r"""The URL to retrieve analytics for."""
|
|
148
|
-
tag_id: NotRequired[str]
|
|
149
|
-
r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
150
148
|
tag_ids: NotRequired[ListEventsQueryParamTagIdsTypedDict]
|
|
151
149
|
r"""The tag IDs to retrieve analytics for."""
|
|
152
150
|
folder_id: NotRequired[str]
|
|
153
151
|
r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
|
|
154
|
-
qr: NotRequired[bool]
|
|
155
|
-
r"""Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
156
152
|
root: NotRequired[bool]
|
|
157
153
|
r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
|
|
158
154
|
sale_type: NotRequired[QueryParamSaleType]
|
|
159
155
|
r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
|
|
156
|
+
query: NotRequired[str]
|
|
157
|
+
r"""Search the events by a custom metadata value. Only available for lead and sale events."""
|
|
158
|
+
tag_id: NotRequired[str]
|
|
159
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
160
|
+
qr: NotRequired[bool]
|
|
161
|
+
r"""Deprecated: Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
160
162
|
utm_source: NotRequired[Nullable[str]]
|
|
161
163
|
r"""The UTM source of the short link."""
|
|
162
164
|
utm_medium: NotRequired[Nullable[str]]
|
|
@@ -308,7 +310,7 @@ class ListEventsRequest(BaseModel):
|
|
|
308
310
|
Optional[QueryParamTrigger],
|
|
309
311
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
310
312
|
] = None
|
|
311
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
313
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
312
314
|
|
|
313
315
|
referer: Annotated[
|
|
314
316
|
Optional[str],
|
|
@@ -329,13 +331,6 @@ class ListEventsRequest(BaseModel):
|
|
|
329
331
|
] = None
|
|
330
332
|
r"""The URL to retrieve analytics for."""
|
|
331
333
|
|
|
332
|
-
tag_id: Annotated[
|
|
333
|
-
Optional[str],
|
|
334
|
-
pydantic.Field(alias="tagId"),
|
|
335
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
336
|
-
] = None
|
|
337
|
-
r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
338
|
-
|
|
339
334
|
tag_ids: Annotated[
|
|
340
335
|
Optional[ListEventsQueryParamTagIds],
|
|
341
336
|
pydantic.Field(alias="tagIds"),
|
|
@@ -350,12 +345,6 @@ class ListEventsRequest(BaseModel):
|
|
|
350
345
|
] = None
|
|
351
346
|
r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
|
|
352
347
|
|
|
353
|
-
qr: Annotated[
|
|
354
|
-
Optional[bool],
|
|
355
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
356
|
-
] = None
|
|
357
|
-
r"""Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
358
|
-
|
|
359
348
|
root: Annotated[
|
|
360
349
|
Optional[bool],
|
|
361
350
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -369,6 +358,25 @@ class ListEventsRequest(BaseModel):
|
|
|
369
358
|
] = None
|
|
370
359
|
r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
|
|
371
360
|
|
|
361
|
+
query: Annotated[
|
|
362
|
+
Optional[str],
|
|
363
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
364
|
+
] = None
|
|
365
|
+
r"""Search the events by a custom metadata value. Only available for lead and sale events."""
|
|
366
|
+
|
|
367
|
+
tag_id: Annotated[
|
|
368
|
+
Optional[str],
|
|
369
|
+
pydantic.Field(alias="tagId"),
|
|
370
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
371
|
+
] = None
|
|
372
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
373
|
+
|
|
374
|
+
qr: Annotated[
|
|
375
|
+
Optional[bool],
|
|
376
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
377
|
+
] = None
|
|
378
|
+
r"""Deprecated: Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
379
|
+
|
|
372
380
|
utm_source: Annotated[
|
|
373
381
|
OptionalNullable[str],
|
|
374
382
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -456,12 +464,13 @@ class ListEventsRequest(BaseModel):
|
|
|
456
464
|
"referer",
|
|
457
465
|
"refererUrl",
|
|
458
466
|
"url",
|
|
459
|
-
"tagId",
|
|
460
467
|
"tagIds",
|
|
461
468
|
"folderId",
|
|
462
|
-
"qr",
|
|
463
469
|
"root",
|
|
464
470
|
"saleType",
|
|
471
|
+
"query",
|
|
472
|
+
"tagId",
|
|
473
|
+
"qr",
|
|
465
474
|
"utm_source",
|
|
466
475
|
"utm_medium",
|
|
467
476
|
"utm_campaign",
|
|
@@ -149,11 +149,11 @@ class ListPartnersLinkTypedDict(TypedDict):
|
|
|
149
149
|
clicks: NotRequired[float]
|
|
150
150
|
r"""The number of clicks on the short link."""
|
|
151
151
|
leads: NotRequired[float]
|
|
152
|
-
r"""The number of leads the short
|
|
152
|
+
r"""The number of leads the short link has generated."""
|
|
153
153
|
sales: NotRequired[float]
|
|
154
|
-
r"""The number of sales the short
|
|
154
|
+
r"""The total number of sales (includes recurring sales) generated by the short link."""
|
|
155
155
|
sale_amount: NotRequired[float]
|
|
156
|
-
r"""The total dollar
|
|
156
|
+
r"""The total dollar value of sales (in cents) generated by the short link."""
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
class ListPartnersLink(BaseModel):
|
|
@@ -176,13 +176,13 @@ class ListPartnersLink(BaseModel):
|
|
|
176
176
|
r"""The number of clicks on the short link."""
|
|
177
177
|
|
|
178
178
|
leads: Optional[float] = 0
|
|
179
|
-
r"""The number of leads the short
|
|
179
|
+
r"""The number of leads the short link has generated."""
|
|
180
180
|
|
|
181
181
|
sales: Optional[float] = 0
|
|
182
|
-
r"""The number of sales the short
|
|
182
|
+
r"""The total number of sales (includes recurring sales) generated by the short link."""
|
|
183
183
|
|
|
184
184
|
sale_amount: Annotated[Optional[float], pydantic.Field(alias="saleAmount")] = 0
|
|
185
|
-
r"""The total dollar
|
|
185
|
+
r"""The total dollar value of sales (in cents) generated by the short link."""
|
|
186
186
|
|
|
187
187
|
|
|
188
188
|
class ListPartnersBannedReason(str, Enum):
|
|
@@ -78,7 +78,7 @@ class Interval(str, Enum):
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
class Trigger(str, Enum):
|
|
81
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
81
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
82
82
|
|
|
83
83
|
QR = "qr"
|
|
84
84
|
LINK = "link"
|
|
@@ -149,25 +149,27 @@ class RetrieveAnalyticsRequestTypedDict(TypedDict):
|
|
|
149
149
|
os: NotRequired[str]
|
|
150
150
|
r"""The OS to retrieve analytics for."""
|
|
151
151
|
trigger: NotRequired[Trigger]
|
|
152
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
152
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
153
153
|
referer: NotRequired[str]
|
|
154
154
|
r"""The referer to retrieve analytics for."""
|
|
155
155
|
referer_url: NotRequired[str]
|
|
156
156
|
r"""The full referer URL to retrieve analytics for."""
|
|
157
157
|
url: NotRequired[str]
|
|
158
158
|
r"""The URL to retrieve analytics for."""
|
|
159
|
-
tag_id: NotRequired[str]
|
|
160
|
-
r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
161
159
|
tag_ids: NotRequired[RetrieveAnalyticsQueryParamTagIdsTypedDict]
|
|
162
160
|
r"""The tag IDs to retrieve analytics for."""
|
|
163
161
|
folder_id: NotRequired[str]
|
|
164
162
|
r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
|
|
165
|
-
qr: NotRequired[bool]
|
|
166
|
-
r"""Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
167
163
|
root: NotRequired[bool]
|
|
168
164
|
r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
|
|
169
165
|
sale_type: NotRequired[SaleType]
|
|
170
166
|
r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
|
|
167
|
+
query: NotRequired[str]
|
|
168
|
+
r"""Search the events by a custom metadata value. Only available for lead and sale events."""
|
|
169
|
+
tag_id: NotRequired[str]
|
|
170
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
171
|
+
qr: NotRequired[bool]
|
|
172
|
+
r"""Deprecated: Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
171
173
|
utm_source: NotRequired[Nullable[str]]
|
|
172
174
|
r"""The UTM source of the short link."""
|
|
173
175
|
utm_medium: NotRequired[Nullable[str]]
|
|
@@ -318,7 +320,7 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
318
320
|
Optional[Trigger],
|
|
319
321
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
320
322
|
] = None
|
|
321
|
-
r"""The trigger to retrieve analytics for. If undefined,
|
|
323
|
+
r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
|
|
322
324
|
|
|
323
325
|
referer: Annotated[
|
|
324
326
|
Optional[str],
|
|
@@ -339,13 +341,6 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
339
341
|
] = None
|
|
340
342
|
r"""The URL to retrieve analytics for."""
|
|
341
343
|
|
|
342
|
-
tag_id: Annotated[
|
|
343
|
-
Optional[str],
|
|
344
|
-
pydantic.Field(alias="tagId"),
|
|
345
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
346
|
-
] = None
|
|
347
|
-
r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
348
|
-
|
|
349
344
|
tag_ids: Annotated[
|
|
350
345
|
Optional[RetrieveAnalyticsQueryParamTagIds],
|
|
351
346
|
pydantic.Field(alias="tagIds"),
|
|
@@ -360,12 +355,6 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
360
355
|
] = None
|
|
361
356
|
r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
|
|
362
357
|
|
|
363
|
-
qr: Annotated[
|
|
364
|
-
Optional[bool],
|
|
365
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
366
|
-
] = None
|
|
367
|
-
r"""Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
368
|
-
|
|
369
358
|
root: Annotated[
|
|
370
359
|
Optional[bool],
|
|
371
360
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -379,6 +368,25 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
379
368
|
] = None
|
|
380
369
|
r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
|
|
381
370
|
|
|
371
|
+
query: Annotated[
|
|
372
|
+
Optional[str],
|
|
373
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
374
|
+
] = None
|
|
375
|
+
r"""Search the events by a custom metadata value. Only available for lead and sale events."""
|
|
376
|
+
|
|
377
|
+
tag_id: Annotated[
|
|
378
|
+
Optional[str],
|
|
379
|
+
pydantic.Field(alias="tagId"),
|
|
380
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
381
|
+
] = None
|
|
382
|
+
r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
|
|
383
|
+
|
|
384
|
+
qr: Annotated[
|
|
385
|
+
Optional[bool],
|
|
386
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
387
|
+
] = None
|
|
388
|
+
r"""Deprecated: Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
389
|
+
|
|
382
390
|
utm_source: Annotated[
|
|
383
391
|
OptionalNullable[str],
|
|
384
392
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -437,12 +445,13 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
437
445
|
"referer",
|
|
438
446
|
"refererUrl",
|
|
439
447
|
"url",
|
|
440
|
-
"tagId",
|
|
441
448
|
"tagIds",
|
|
442
449
|
"folderId",
|
|
443
|
-
"qr",
|
|
444
450
|
"root",
|
|
445
451
|
"saleType",
|
|
452
|
+
"query",
|
|
453
|
+
"tagId",
|
|
454
|
+
"qr",
|
|
446
455
|
"utm_source",
|
|
447
456
|
"utm_medium",
|
|
448
457
|
"utm_campaign",
|