ttd-data 0.2.2__tar.gz → 0.2.4__tar.gz
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.
- {ttd_data-0.2.2/src/ttd_data.egg-info → ttd_data-0.2.4}/PKG-INFO +2 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/pyproject.toml +2 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/types.py +13 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_version.py +3 -3
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/advertiser.py +13 -9
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/deletionoptout.py +31 -19
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdataserverresponseline.py +9 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdsrfailedline.py +14 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/baseadvertiserdataitem.py +5 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/basepartnerdsrdataitem.py +5 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/basethirdpartydataitem.py +5 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/dsrerrorcode.py +1 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/merchantdsrfailedline.py +9 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydataserverresponseline.py +14 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydsrfailedline.py +16 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/offlineconversion.py +21 -13
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/thirdparty.py +13 -9
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/types/base64fileinput.py +4 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/__init__.py +3 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/datetimes.py +15 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/eventstreaming.py +116 -99
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/forms.py +5 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/retries.py +90 -5
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/serializers.py +84 -3
- {ttd_data-0.2.2 → ttd_data-0.2.4/src/ttd_data.egg-info}/PKG-INFO +2 -2
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data.egg-info/requires.txt +1 -1
- {ttd_data-0.2.2 → ttd_data-0.2.4}/LICENSE +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/NOTICES.txt +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/README-PYPI.md +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/README.md +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/setup.cfg +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/data_origins_hook.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/plain_text_error_normalizer.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/registration.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/_hooks/sdkhooks.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/basesdk.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/client.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/advertiserdataserverresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/advertiserdsrresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/apierror.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/dataerror.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/merchantdsrresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/no_response_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/offlineconversiondataserverresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/responsevalidationerror.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/thirdpartydataserverresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/thirdpartydsrresponse_error.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/ttddataerror.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/errors/uid2serviceerror.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/httpclient.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdata.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdatarequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdataresponseerrorcode.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdataserverresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdsrrequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/advertiserdsrresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/baseofflineconversiondataitem.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/dataorigin.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/dataorigintype.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/datasubjectrequestadvertiserdataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/datasubjectrequestmerchantdataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/datasubjectrequestthirdpartydataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/httpmetadata.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/ingestadvertiserdataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/ingestofflineconversiondataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/ingestthirdpartydataop.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/merchantdsrrequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/merchantdsrresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/offlineconversiondatarequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/offlineconversiondataresponseerrorcode.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/offlineconversiondataserverresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/offlineconversiondataserverresponseline.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/partnerdsrrequesttype.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/realtimeconversioneventlineitem.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/realtimeconversioneventsprivacysetting.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydata.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydatarequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydataresponseerrorcode.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydataserverresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydsrrequest.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/models/thirdpartydsrresponse.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/py.typed +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/sdk.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/sdkconfiguration.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/types/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/types/basemodel.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/uid2/__init__.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/uid2/config.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/uid2/models.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/uid2/resolver.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/annotations.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/dynamic_imports.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/enums.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/headers.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/logger.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/metadata.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/queryparams.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/requestbodies.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/security.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/unmarshal_json_response.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/url.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data/utils/values.py +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data.egg-info/SOURCES.txt +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data.egg-info/dependency_links.txt +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data.egg-info/top_level.txt +0 -0
- {ttd_data-0.2.2 → ttd_data-0.2.4}/src/ttd_data_python/_hooks/registration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ttd-data
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Python Client SDK for TTD Data API.
|
|
5
5
|
Author: Speakeasy
|
|
6
6
|
License: map[name:Apache License 2.0 shortName:Apache-2.0 url:https://www.apache.org/licenses/LICENSE-2.0]
|
|
@@ -11,7 +11,7 @@ License-File: LICENSE
|
|
|
11
11
|
License-File: NOTICES.txt
|
|
12
12
|
Requires-Dist: httpcore>=1.0.9
|
|
13
13
|
Requires-Dist: httpx>=0.28.1
|
|
14
|
-
Requires-Dist: pydantic
|
|
14
|
+
Requires-Dist: pydantic<2.13,>=2.11.2
|
|
15
15
|
Requires-Dist: uid2-client<3.0.0,>=2.9.0
|
|
16
16
|
Dynamic: license-file
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "ttd-data"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.4"
|
|
4
4
|
description = "Python Client SDK for TTD Data API."
|
|
5
5
|
authors = [{ name = "Speakeasy" },]
|
|
6
6
|
readme = "README-PYPI.md"
|
|
@@ -8,7 +8,7 @@ requires-python = ">=3.10"
|
|
|
8
8
|
dependencies = [
|
|
9
9
|
"httpcore >=1.0.9",
|
|
10
10
|
"httpx >=0.28.1",
|
|
11
|
-
"pydantic >=2.11.2",
|
|
11
|
+
"pydantic >=2.11.2,<2.13",
|
|
12
12
|
"uid2-client >=2.9.0,<3.0.0",
|
|
13
13
|
]
|
|
14
14
|
urls.repository = "https://github.com/thetradedesk/ttd-data-python.git"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
from abc import ABC, abstractmethod
|
|
5
5
|
import httpx
|
|
6
6
|
from ttd_data.sdkconfiguration import SDKConfiguration
|
|
7
|
-
from typing import Any, Callable, List, Optional, Tuple, Union
|
|
7
|
+
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class HookContext:
|
|
@@ -13,6 +13,8 @@ class HookContext:
|
|
|
13
13
|
operation_id: str
|
|
14
14
|
oauth2_scopes: Optional[List[str]] = None
|
|
15
15
|
security_source: Optional[Union[Any, Callable[[], Any]]] = None
|
|
16
|
+
tags: Optional[List[str]] = None
|
|
17
|
+
extensions: Optional[Dict[str, Any]] = None
|
|
16
18
|
|
|
17
19
|
def __init__(
|
|
18
20
|
self,
|
|
@@ -21,12 +23,16 @@ class HookContext:
|
|
|
21
23
|
operation_id: str,
|
|
22
24
|
oauth2_scopes: Optional[List[str]],
|
|
23
25
|
security_source: Optional[Union[Any, Callable[[], Any]]],
|
|
26
|
+
tags: Optional[List[str]],
|
|
27
|
+
extensions: Optional[Dict[str, Any]],
|
|
24
28
|
):
|
|
25
29
|
self.config = config
|
|
26
30
|
self.base_url = base_url
|
|
27
31
|
self.operation_id = operation_id
|
|
28
32
|
self.oauth2_scopes = oauth2_scopes
|
|
29
33
|
self.security_source = security_source
|
|
34
|
+
self.tags = tags
|
|
35
|
+
self.extensions = extensions
|
|
30
36
|
|
|
31
37
|
|
|
32
38
|
class BeforeRequestContext(HookContext):
|
|
@@ -37,6 +43,8 @@ class BeforeRequestContext(HookContext):
|
|
|
37
43
|
hook_ctx.operation_id,
|
|
38
44
|
hook_ctx.oauth2_scopes,
|
|
39
45
|
hook_ctx.security_source,
|
|
46
|
+
hook_ctx.tags,
|
|
47
|
+
hook_ctx.extensions,
|
|
40
48
|
)
|
|
41
49
|
|
|
42
50
|
|
|
@@ -48,6 +56,8 @@ class AfterSuccessContext(HookContext):
|
|
|
48
56
|
hook_ctx.operation_id,
|
|
49
57
|
hook_ctx.oauth2_scopes,
|
|
50
58
|
hook_ctx.security_source,
|
|
59
|
+
hook_ctx.tags,
|
|
60
|
+
hook_ctx.extensions,
|
|
51
61
|
)
|
|
52
62
|
|
|
53
63
|
|
|
@@ -59,6 +69,8 @@ class AfterErrorContext(HookContext):
|
|
|
59
69
|
hook_ctx.operation_id,
|
|
60
70
|
hook_ctx.oauth2_scopes,
|
|
61
71
|
hook_ctx.security_source,
|
|
72
|
+
hook_ctx.tags,
|
|
73
|
+
hook_ctx.extensions,
|
|
62
74
|
)
|
|
63
75
|
|
|
64
76
|
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import importlib.metadata
|
|
5
5
|
|
|
6
6
|
__title__: str = "ttd-data"
|
|
7
|
-
__version__: str = "0.2.
|
|
7
|
+
__version__: str = "0.2.4"
|
|
8
8
|
__openapi_doc_version__: str = "v0.1"
|
|
9
|
-
__gen_version__: str = "2.
|
|
10
|
-
__user_agent__: str = "speakeasy-sdk/python 0.2.
|
|
9
|
+
__gen_version__: str = "2.916.2"
|
|
10
|
+
__user_agent__: str = "speakeasy-sdk/python 0.2.4 2.916.2 v0.1 ttd-data"
|
|
11
11
|
|
|
12
12
|
try:
|
|
13
13
|
if __package__ is not None:
|
|
@@ -6,7 +6,7 @@ from ttd_data import errors, models, utils
|
|
|
6
6
|
from ttd_data._hooks import HookContext
|
|
7
7
|
from ttd_data.types import OptionalNullable, UNSET
|
|
8
8
|
from ttd_data.utils.unmarshal_json_response import unmarshal_json_response
|
|
9
|
-
from typing import Any, List, Mapping, Optional, Union
|
|
9
|
+
from typing import Any, Iterable, List, Mapping, Optional, Union
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Advertiser(BaseSDK):
|
|
@@ -18,13 +18,13 @@ class Advertiser(BaseSDK):
|
|
|
18
18
|
data_provider_id: OptionalNullable[str] = UNSET,
|
|
19
19
|
items: OptionalNullable[
|
|
20
20
|
Union[
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
Iterable[models.BaseAdvertiserDataItem],
|
|
22
|
+
Iterable[models.BaseAdvertiserDataItemTypedDict],
|
|
23
23
|
]
|
|
24
24
|
] = UNSET,
|
|
25
25
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
26
26
|
data_origins: OptionalNullable[
|
|
27
|
-
Union[
|
|
27
|
+
Union[Iterable[models.DataOrigin], Iterable[models.DataOriginTypedDict]]
|
|
28
28
|
] = UNSET,
|
|
29
29
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
30
30
|
server_url: Optional[str] = None,
|
|
@@ -103,6 +103,8 @@ class Advertiser(BaseSDK):
|
|
|
103
103
|
operation_id="IngestAdvertiserData",
|
|
104
104
|
oauth2_scopes=None,
|
|
105
105
|
security_source=None,
|
|
106
|
+
tags=["Advertiser"],
|
|
107
|
+
extensions=None,
|
|
106
108
|
),
|
|
107
109
|
request=req,
|
|
108
110
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -125,7 +127,7 @@ class Advertiser(BaseSDK):
|
|
|
125
127
|
request=req, response=http_res
|
|
126
128
|
)
|
|
127
129
|
raise errors.AdvertiserDataServerResponseError(response_data, http_res)
|
|
128
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
130
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
129
131
|
http_res_text = utils.stream_to_text(http_res)
|
|
130
132
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
131
133
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -142,13 +144,13 @@ class Advertiser(BaseSDK):
|
|
|
142
144
|
data_provider_id: OptionalNullable[str] = UNSET,
|
|
143
145
|
items: OptionalNullable[
|
|
144
146
|
Union[
|
|
145
|
-
|
|
146
|
-
|
|
147
|
+
Iterable[models.BaseAdvertiserDataItem],
|
|
148
|
+
Iterable[models.BaseAdvertiserDataItemTypedDict],
|
|
147
149
|
]
|
|
148
150
|
] = UNSET,
|
|
149
151
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
150
152
|
data_origins: OptionalNullable[
|
|
151
|
-
Union[
|
|
153
|
+
Union[Iterable[models.DataOrigin], Iterable[models.DataOriginTypedDict]]
|
|
152
154
|
] = UNSET,
|
|
153
155
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
154
156
|
server_url: Optional[str] = None,
|
|
@@ -227,6 +229,8 @@ class Advertiser(BaseSDK):
|
|
|
227
229
|
operation_id="IngestAdvertiserData",
|
|
228
230
|
oauth2_scopes=None,
|
|
229
231
|
security_source=None,
|
|
232
|
+
tags=["Advertiser"],
|
|
233
|
+
extensions=None,
|
|
230
234
|
),
|
|
231
235
|
request=req,
|
|
232
236
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -249,7 +253,7 @@ class Advertiser(BaseSDK):
|
|
|
249
253
|
request=req, response=http_res
|
|
250
254
|
)
|
|
251
255
|
raise errors.AdvertiserDataServerResponseError(response_data, http_res)
|
|
252
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
256
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
253
257
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
254
258
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
255
259
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -6,7 +6,7 @@ from ttd_data import errors, models, utils
|
|
|
6
6
|
from ttd_data._hooks import HookContext
|
|
7
7
|
from ttd_data.types import OptionalNullable, UNSET
|
|
8
8
|
from ttd_data.utils.unmarshal_json_response import unmarshal_json_response
|
|
9
|
-
from typing import Any, List, Mapping, Optional, Union
|
|
9
|
+
from typing import Any, Iterable, List, Mapping, Optional, Union
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class DeletionOptOut(BaseSDK):
|
|
@@ -18,8 +18,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
18
18
|
data_provider_id: OptionalNullable[str] = UNSET,
|
|
19
19
|
items: OptionalNullable[
|
|
20
20
|
Union[
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
22
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
23
23
|
]
|
|
24
24
|
] = UNSET,
|
|
25
25
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -99,6 +99,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
99
99
|
operation_id="DataSubjectRequestAdvertiserData",
|
|
100
100
|
oauth2_scopes=None,
|
|
101
101
|
security_source=None,
|
|
102
|
+
tags=["DeletionOptOut"],
|
|
103
|
+
extensions=None,
|
|
102
104
|
),
|
|
103
105
|
request=req,
|
|
104
106
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -121,7 +123,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
121
123
|
request=req, response=http_res
|
|
122
124
|
)
|
|
123
125
|
raise errors.AdvertiserDsrResponseError(response_data, http_res)
|
|
124
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
126
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
125
127
|
http_res_text = utils.stream_to_text(http_res)
|
|
126
128
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
127
129
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -138,8 +140,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
138
140
|
data_provider_id: OptionalNullable[str] = UNSET,
|
|
139
141
|
items: OptionalNullable[
|
|
140
142
|
Union[
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
144
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
143
145
|
]
|
|
144
146
|
] = UNSET,
|
|
145
147
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -219,6 +221,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
219
221
|
operation_id="DataSubjectRequestAdvertiserData",
|
|
220
222
|
oauth2_scopes=None,
|
|
221
223
|
security_source=None,
|
|
224
|
+
tags=["DeletionOptOut"],
|
|
225
|
+
extensions=None,
|
|
222
226
|
),
|
|
223
227
|
request=req,
|
|
224
228
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -241,7 +245,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
241
245
|
request=req, response=http_res
|
|
242
246
|
)
|
|
243
247
|
raise errors.AdvertiserDsrResponseError(response_data, http_res)
|
|
244
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
248
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
245
249
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
246
250
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
247
251
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -257,8 +261,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
257
261
|
merchant_id: OptionalNullable[int] = UNSET,
|
|
258
262
|
items: OptionalNullable[
|
|
259
263
|
Union[
|
|
260
|
-
|
|
261
|
-
|
|
264
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
265
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
262
266
|
]
|
|
263
267
|
] = UNSET,
|
|
264
268
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -336,6 +340,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
336
340
|
operation_id="DataSubjectRequestMerchantData",
|
|
337
341
|
oauth2_scopes=None,
|
|
338
342
|
security_source=None,
|
|
343
|
+
tags=["DeletionOptOut"],
|
|
344
|
+
extensions=None,
|
|
339
345
|
),
|
|
340
346
|
request=req,
|
|
341
347
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -358,7 +364,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
358
364
|
request=req, response=http_res
|
|
359
365
|
)
|
|
360
366
|
raise errors.MerchantDsrResponseError(response_data, http_res)
|
|
361
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
367
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
362
368
|
http_res_text = utils.stream_to_text(http_res)
|
|
363
369
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
364
370
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -374,8 +380,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
374
380
|
merchant_id: OptionalNullable[int] = UNSET,
|
|
375
381
|
items: OptionalNullable[
|
|
376
382
|
Union[
|
|
377
|
-
|
|
378
|
-
|
|
383
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
384
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
379
385
|
]
|
|
380
386
|
] = UNSET,
|
|
381
387
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -453,6 +459,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
453
459
|
operation_id="DataSubjectRequestMerchantData",
|
|
454
460
|
oauth2_scopes=None,
|
|
455
461
|
security_source=None,
|
|
462
|
+
tags=["DeletionOptOut"],
|
|
463
|
+
extensions=None,
|
|
456
464
|
),
|
|
457
465
|
request=req,
|
|
458
466
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -475,7 +483,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
475
483
|
request=req, response=http_res
|
|
476
484
|
)
|
|
477
485
|
raise errors.MerchantDsrResponseError(response_data, http_res)
|
|
478
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
486
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
479
487
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
480
488
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
481
489
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -492,8 +500,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
492
500
|
brand_id: OptionalNullable[str] = UNSET,
|
|
493
501
|
items: OptionalNullable[
|
|
494
502
|
Union[
|
|
495
|
-
|
|
496
|
-
|
|
503
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
504
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
497
505
|
]
|
|
498
506
|
] = UNSET,
|
|
499
507
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -573,6 +581,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
573
581
|
operation_id="DataSubjectRequestThirdPartyData",
|
|
574
582
|
oauth2_scopes=None,
|
|
575
583
|
security_source=None,
|
|
584
|
+
tags=["DeletionOptOut"],
|
|
585
|
+
extensions=None,
|
|
576
586
|
),
|
|
577
587
|
request=req,
|
|
578
588
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -595,7 +605,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
595
605
|
request=req, response=http_res
|
|
596
606
|
)
|
|
597
607
|
raise errors.ThirdPartyDsrResponseError(response_data, http_res)
|
|
598
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
608
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
599
609
|
http_res_text = utils.stream_to_text(http_res)
|
|
600
610
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
601
611
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -612,8 +622,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
612
622
|
brand_id: OptionalNullable[str] = UNSET,
|
|
613
623
|
items: OptionalNullable[
|
|
614
624
|
Union[
|
|
615
|
-
|
|
616
|
-
|
|
625
|
+
Iterable[models.BasePartnerDsrDataItem],
|
|
626
|
+
Iterable[models.BasePartnerDsrDataItemTypedDict],
|
|
617
627
|
]
|
|
618
628
|
] = UNSET,
|
|
619
629
|
data_load_trace_id: OptionalNullable[str] = UNSET,
|
|
@@ -693,6 +703,8 @@ class DeletionOptOut(BaseSDK):
|
|
|
693
703
|
operation_id="DataSubjectRequestThirdPartyData",
|
|
694
704
|
oauth2_scopes=None,
|
|
695
705
|
security_source=None,
|
|
706
|
+
tags=["DeletionOptOut"],
|
|
707
|
+
extensions=None,
|
|
696
708
|
),
|
|
697
709
|
request=req,
|
|
698
710
|
is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
|
|
@@ -715,7 +727,7 @@ class DeletionOptOut(BaseSDK):
|
|
|
715
727
|
request=req, response=http_res
|
|
716
728
|
)
|
|
717
729
|
raise errors.ThirdPartyDsrResponseError(response_data, http_res)
|
|
718
|
-
if utils.match_response(http_res, ["403", "413", "4XX"], "*"):
|
|
730
|
+
if utils.match_response(http_res, ["401", "403", "413", "4XX"], "*"):
|
|
719
731
|
http_res_text = await utils.stream_to_text_async(http_res)
|
|
720
732
|
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
721
733
|
if utils.match_response(http_res, ["500", "503", "5XX"], "*"):
|
|
@@ -16,6 +16,7 @@ class AdvertiserDataServerResponseLineTypedDict(TypedDict):
|
|
|
16
16
|
error_code: NotRequired[AdvertiserDataResponseErrorCode]
|
|
17
17
|
message: NotRequired[Nullable[str]]
|
|
18
18
|
item_number: NotRequired[Nullable[str]]
|
|
19
|
+
data_number: NotRequired[Nullable[str]]
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class AdvertiserDataServerResponseLine(BaseModel):
|
|
@@ -35,12 +36,18 @@ class AdvertiserDataServerResponseLine(BaseModel):
|
|
|
35
36
|
OptionalNullable[str], pydantic.Field(alias="ItemNumber")
|
|
36
37
|
] = UNSET
|
|
37
38
|
|
|
39
|
+
data_number: Annotated[
|
|
40
|
+
OptionalNullable[str], pydantic.Field(alias="DataNumber")
|
|
41
|
+
] = UNSET
|
|
42
|
+
|
|
38
43
|
@model_serializer(mode="wrap")
|
|
39
44
|
def serialize_model(self, handler):
|
|
40
45
|
optional_fields = set(
|
|
41
|
-
["TDID", "DataName", "ErrorCode", "Message", "ItemNumber"]
|
|
46
|
+
["TDID", "DataName", "ErrorCode", "Message", "ItemNumber", "DataNumber"]
|
|
47
|
+
)
|
|
48
|
+
nullable_fields = set(
|
|
49
|
+
["TDID", "DataName", "Message", "ItemNumber", "DataNumber"]
|
|
42
50
|
)
|
|
43
|
-
nullable_fields = set(["TDID", "DataName", "Message", "ItemNumber"])
|
|
44
51
|
serialized = handler(self)
|
|
45
52
|
m = {}
|
|
46
53
|
|
|
@@ -17,6 +17,7 @@ class AdvertiserDsrFailedLineTypedDict(TypedDict):
|
|
|
17
17
|
error_code: NotRequired[DsrErrorCode]
|
|
18
18
|
message: NotRequired[Nullable[str]]
|
|
19
19
|
item_number: NotRequired[Nullable[str]]
|
|
20
|
+
data_number: NotRequired[Nullable[str]]
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class AdvertiserDsrFailedLine(BaseModel):
|
|
@@ -40,6 +41,10 @@ class AdvertiserDsrFailedLine(BaseModel):
|
|
|
40
41
|
OptionalNullable[str], pydantic.Field(alias="ItemNumber")
|
|
41
42
|
] = UNSET
|
|
42
43
|
|
|
44
|
+
data_number: Annotated[
|
|
45
|
+
OptionalNullable[str], pydantic.Field(alias="DataNumber")
|
|
46
|
+
] = UNSET
|
|
47
|
+
|
|
43
48
|
@model_serializer(mode="wrap")
|
|
44
49
|
def serialize_model(self, handler):
|
|
45
50
|
optional_fields = set(
|
|
@@ -50,10 +55,18 @@ class AdvertiserDsrFailedLine(BaseModel):
|
|
|
50
55
|
"ErrorCode",
|
|
51
56
|
"Message",
|
|
52
57
|
"ItemNumber",
|
|
58
|
+
"DataNumber",
|
|
53
59
|
]
|
|
54
60
|
)
|
|
55
61
|
nullable_fields = set(
|
|
56
|
-
[
|
|
62
|
+
[
|
|
63
|
+
"AdvertiserId",
|
|
64
|
+
"DataProviderId",
|
|
65
|
+
"TDID",
|
|
66
|
+
"Message",
|
|
67
|
+
"ItemNumber",
|
|
68
|
+
"DataNumber",
|
|
69
|
+
]
|
|
57
70
|
)
|
|
58
71
|
serialized = handler(self)
|
|
59
72
|
m = {}
|
|
@@ -23,6 +23,7 @@ class BaseAdvertiserDataItemTypedDict(TypedDict):
|
|
|
23
23
|
id5: NotRequired[Nullable[str]]
|
|
24
24
|
net_id: NotRequired[Nullable[str]]
|
|
25
25
|
first_id: NotRequired[Nullable[str]]
|
|
26
|
+
utiq_id: NotRequired[Nullable[str]]
|
|
26
27
|
merkury_id: NotRequired[Nullable[str]]
|
|
27
28
|
iqvia_ppid: NotRequired[Nullable[str]]
|
|
28
29
|
cookie_mapping_partner_id: NotRequired[Nullable[str]]
|
|
@@ -57,6 +58,8 @@ class BaseAdvertiserDataItem(BaseModel):
|
|
|
57
58
|
|
|
58
59
|
first_id: Annotated[OptionalNullable[str], pydantic.Field(alias="FirstID")] = UNSET
|
|
59
60
|
|
|
61
|
+
utiq_id: Annotated[OptionalNullable[str], pydantic.Field(alias="UtiqID")] = UNSET
|
|
62
|
+
|
|
60
63
|
merkury_id: Annotated[OptionalNullable[str], pydantic.Field(alias="MerkuryID")] = (
|
|
61
64
|
UNSET
|
|
62
65
|
)
|
|
@@ -84,6 +87,7 @@ class BaseAdvertiserDataItem(BaseModel):
|
|
|
84
87
|
"ID5",
|
|
85
88
|
"NetID",
|
|
86
89
|
"FirstID",
|
|
90
|
+
"UtiqID",
|
|
87
91
|
"MerkuryID",
|
|
88
92
|
"IqviaPPID",
|
|
89
93
|
"CookieMappingPartnerId",
|
|
@@ -102,6 +106,7 @@ class BaseAdvertiserDataItem(BaseModel):
|
|
|
102
106
|
"ID5",
|
|
103
107
|
"NetID",
|
|
104
108
|
"FirstID",
|
|
109
|
+
"UtiqID",
|
|
105
110
|
"MerkuryID",
|
|
106
111
|
"IqviaPPID",
|
|
107
112
|
"CookieMappingPartnerId",
|
|
@@ -20,6 +20,7 @@ class BasePartnerDsrDataItemTypedDict(TypedDict):
|
|
|
20
20
|
id5: NotRequired[Nullable[str]]
|
|
21
21
|
net_id: NotRequired[Nullable[str]]
|
|
22
22
|
first_id: NotRequired[Nullable[str]]
|
|
23
|
+
utiq_id: NotRequired[Nullable[str]]
|
|
23
24
|
merkury_id: NotRequired[Nullable[str]]
|
|
24
25
|
iqvia_ppid: NotRequired[Nullable[str]]
|
|
25
26
|
|
|
@@ -51,6 +52,8 @@ class BasePartnerDsrDataItem(BaseModel):
|
|
|
51
52
|
|
|
52
53
|
first_id: Annotated[OptionalNullable[str], pydantic.Field(alias="FirstID")] = UNSET
|
|
53
54
|
|
|
55
|
+
utiq_id: Annotated[OptionalNullable[str], pydantic.Field(alias="UtiqID")] = UNSET
|
|
56
|
+
|
|
54
57
|
merkury_id: Annotated[OptionalNullable[str], pydantic.Field(alias="MerkuryID")] = (
|
|
55
58
|
UNSET
|
|
56
59
|
)
|
|
@@ -74,6 +77,7 @@ class BasePartnerDsrDataItem(BaseModel):
|
|
|
74
77
|
"ID5",
|
|
75
78
|
"NetID",
|
|
76
79
|
"FirstID",
|
|
80
|
+
"UtiqID",
|
|
77
81
|
"MerkuryID",
|
|
78
82
|
"IqviaPPID",
|
|
79
83
|
]
|
|
@@ -91,6 +95,7 @@ class BasePartnerDsrDataItem(BaseModel):
|
|
|
91
95
|
"ID5",
|
|
92
96
|
"NetID",
|
|
93
97
|
"FirstID",
|
|
98
|
+
"UtiqID",
|
|
94
99
|
"MerkuryID",
|
|
95
100
|
"IqviaPPID",
|
|
96
101
|
]
|
|
@@ -24,6 +24,7 @@ class BaseThirdPartyDataItemTypedDict(TypedDict):
|
|
|
24
24
|
id5: NotRequired[Nullable[str]]
|
|
25
25
|
net_id: NotRequired[Nullable[str]]
|
|
26
26
|
first_id: NotRequired[Nullable[str]]
|
|
27
|
+
utiq_id: NotRequired[Nullable[str]]
|
|
27
28
|
merkury_id: NotRequired[Nullable[str]]
|
|
28
29
|
iqvia_ppid: NotRequired[Nullable[str]]
|
|
29
30
|
cookie_mapping_partner_id: NotRequired[Nullable[str]]
|
|
@@ -62,6 +63,8 @@ class BaseThirdPartyDataItem(BaseModel):
|
|
|
62
63
|
|
|
63
64
|
first_id: Annotated[OptionalNullable[str], pydantic.Field(alias="FirstID")] = UNSET
|
|
64
65
|
|
|
66
|
+
utiq_id: Annotated[OptionalNullable[str], pydantic.Field(alias="UtiqID")] = UNSET
|
|
67
|
+
|
|
65
68
|
merkury_id: Annotated[OptionalNullable[str], pydantic.Field(alias="MerkuryID")] = (
|
|
66
69
|
UNSET
|
|
67
70
|
)
|
|
@@ -90,6 +93,7 @@ class BaseThirdPartyDataItem(BaseModel):
|
|
|
90
93
|
"ID5",
|
|
91
94
|
"NetID",
|
|
92
95
|
"FirstID",
|
|
96
|
+
"UtiqID",
|
|
93
97
|
"MerkuryID",
|
|
94
98
|
"IqviaPPID",
|
|
95
99
|
"CookieMappingPartnerId",
|
|
@@ -109,6 +113,7 @@ class BaseThirdPartyDataItem(BaseModel):
|
|
|
109
113
|
"ID5",
|
|
110
114
|
"NetID",
|
|
111
115
|
"FirstID",
|
|
116
|
+
"UtiqID",
|
|
112
117
|
"MerkuryID",
|
|
113
118
|
"IqviaPPID",
|
|
114
119
|
"CookieMappingPartnerId",
|
|
@@ -16,6 +16,7 @@ class MerchantDsrFailedLineTypedDict(TypedDict):
|
|
|
16
16
|
error_code: NotRequired[DsrErrorCode]
|
|
17
17
|
message: NotRequired[Nullable[str]]
|
|
18
18
|
item_number: NotRequired[Nullable[str]]
|
|
19
|
+
data_number: NotRequired[Nullable[str]]
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class MerchantDsrFailedLine(BaseModel):
|
|
@@ -35,12 +36,18 @@ class MerchantDsrFailedLine(BaseModel):
|
|
|
35
36
|
OptionalNullable[str], pydantic.Field(alias="ItemNumber")
|
|
36
37
|
] = UNSET
|
|
37
38
|
|
|
39
|
+
data_number: Annotated[
|
|
40
|
+
OptionalNullable[str], pydantic.Field(alias="DataNumber")
|
|
41
|
+
] = UNSET
|
|
42
|
+
|
|
38
43
|
@model_serializer(mode="wrap")
|
|
39
44
|
def serialize_model(self, handler):
|
|
40
45
|
optional_fields = set(
|
|
41
|
-
["MerchantId", "TDID", "ErrorCode", "Message", "ItemNumber"]
|
|
46
|
+
["MerchantId", "TDID", "ErrorCode", "Message", "ItemNumber", "DataNumber"]
|
|
47
|
+
)
|
|
48
|
+
nullable_fields = set(
|
|
49
|
+
["MerchantId", "TDID", "Message", "ItemNumber", "DataNumber"]
|
|
42
50
|
)
|
|
43
|
-
nullable_fields = set(["MerchantId", "TDID", "Message", "ItemNumber"])
|
|
44
51
|
serialized = handler(self)
|
|
45
52
|
m = {}
|
|
46
53
|
|
|
@@ -17,6 +17,7 @@ class ThirdPartyDataServerResponseLineTypedDict(TypedDict):
|
|
|
17
17
|
error_code: NotRequired[ThirdPartyDataResponseErrorCode]
|
|
18
18
|
message: NotRequired[Nullable[str]]
|
|
19
19
|
item_number: NotRequired[Nullable[str]]
|
|
20
|
+
data_number: NotRequired[Nullable[str]]
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class ThirdPartyDataServerResponseLine(BaseModel):
|
|
@@ -40,6 +41,10 @@ class ThirdPartyDataServerResponseLine(BaseModel):
|
|
|
40
41
|
OptionalNullable[str], pydantic.Field(alias="ItemNumber")
|
|
41
42
|
] = UNSET
|
|
42
43
|
|
|
44
|
+
data_number: Annotated[
|
|
45
|
+
OptionalNullable[str], pydantic.Field(alias="DataNumber")
|
|
46
|
+
] = UNSET
|
|
47
|
+
|
|
43
48
|
@model_serializer(mode="wrap")
|
|
44
49
|
def serialize_model(self, handler):
|
|
45
50
|
optional_fields = set(
|
|
@@ -50,10 +55,18 @@ class ThirdPartyDataServerResponseLine(BaseModel):
|
|
|
50
55
|
"ErrorCode",
|
|
51
56
|
"Message",
|
|
52
57
|
"ItemNumber",
|
|
58
|
+
"DataNumber",
|
|
53
59
|
]
|
|
54
60
|
)
|
|
55
61
|
nullable_fields = set(
|
|
56
|
-
[
|
|
62
|
+
[
|
|
63
|
+
"DataProviderUserId",
|
|
64
|
+
"TDID",
|
|
65
|
+
"DataName",
|
|
66
|
+
"Message",
|
|
67
|
+
"ItemNumber",
|
|
68
|
+
"DataNumber",
|
|
69
|
+
]
|
|
57
70
|
)
|
|
58
71
|
serialized = handler(self)
|
|
59
72
|
m = {}
|
|
@@ -16,6 +16,7 @@ class ThirdPartyDsrFailedLineTypedDict(TypedDict):
|
|
|
16
16
|
error_code: NotRequired[DsrErrorCode]
|
|
17
17
|
message: NotRequired[Nullable[str]]
|
|
18
18
|
item_number: NotRequired[Nullable[str]]
|
|
19
|
+
data_number: NotRequired[Nullable[str]]
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class ThirdPartyDsrFailedLine(BaseModel):
|
|
@@ -35,12 +36,25 @@ class ThirdPartyDsrFailedLine(BaseModel):
|
|
|
35
36
|
OptionalNullable[str], pydantic.Field(alias="ItemNumber")
|
|
36
37
|
] = UNSET
|
|
37
38
|
|
|
39
|
+
data_number: Annotated[
|
|
40
|
+
OptionalNullable[str], pydantic.Field(alias="DataNumber")
|
|
41
|
+
] = UNSET
|
|
42
|
+
|
|
38
43
|
@model_serializer(mode="wrap")
|
|
39
44
|
def serialize_model(self, handler):
|
|
40
45
|
optional_fields = set(
|
|
41
|
-
[
|
|
46
|
+
[
|
|
47
|
+
"DataProviderId",
|
|
48
|
+
"TDID",
|
|
49
|
+
"ErrorCode",
|
|
50
|
+
"Message",
|
|
51
|
+
"ItemNumber",
|
|
52
|
+
"DataNumber",
|
|
53
|
+
]
|
|
54
|
+
)
|
|
55
|
+
nullable_fields = set(
|
|
56
|
+
["DataProviderId", "TDID", "Message", "ItemNumber", "DataNumber"]
|
|
42
57
|
)
|
|
43
|
-
nullable_fields = set(["DataProviderId", "TDID", "Message", "ItemNumber"])
|
|
44
58
|
serialized = handler(self)
|
|
45
59
|
m = {}
|
|
46
60
|
|