pluggy-sdk 1.0.0.post38__py3-none-any.whl → 1.0.0.post40__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.
- pluggy_sdk/__init__.py +6 -1
- pluggy_sdk/api_client.py +1 -1
- pluggy_sdk/configuration.py +10 -3
- pluggy_sdk/models/__init__.py +5 -0
- pluggy_sdk/models/create_boleto_boleto.py +15 -3
- pluggy_sdk/models/create_boleto_boleto_fine.py +98 -0
- pluggy_sdk/models/create_boleto_boleto_interest.py +98 -0
- pluggy_sdk/models/investment_transaction.py +3 -1
- pluggy_sdk/models/issued_boleto.py +48 -3
- pluggy_sdk/models/issued_boleto_fine.py +101 -0
- pluggy_sdk/models/issued_boleto_interest.py +101 -0
- pluggy_sdk/models/schedule_payment.py +9 -3
- pluggy_sdk/models/schedule_payment_error_detail.py +92 -0
- pluggy_sdk/models/smart_account.py +4 -2
- pluggy_sdk/models/transaction.py +4 -2
- pluggy_sdk/rest.py +1 -0
- {pluggy_sdk-1.0.0.post38.dist-info → pluggy_sdk-1.0.0.post40.dist-info}/METADATA +10 -5
- {pluggy_sdk-1.0.0.post38.dist-info → pluggy_sdk-1.0.0.post40.dist-info}/RECORD +20 -15
- {pluggy_sdk-1.0.0.post38.dist-info → pluggy_sdk-1.0.0.post40.dist-info}/WHEEL +1 -1
- {pluggy_sdk-1.0.0.post38.dist-info → pluggy_sdk-1.0.0.post40.dist-info}/top_level.txt +0 -0
pluggy_sdk/__init__.py
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
""" # noqa: E501
|
16
16
|
|
17
17
|
|
18
|
-
__version__ = "1.0.0.
|
18
|
+
__version__ = "1.0.0.post40"
|
19
19
|
|
20
20
|
# import apis into sdk package
|
21
21
|
from pluggy_sdk.api.account_api import AccountApi
|
@@ -88,6 +88,8 @@ from pluggy_sdk.models.connector_user_action import ConnectorUserAction
|
|
88
88
|
from pluggy_sdk.models.consent import Consent
|
89
89
|
from pluggy_sdk.models.create_boleto import CreateBoleto
|
90
90
|
from pluggy_sdk.models.create_boleto_boleto import CreateBoletoBoleto
|
91
|
+
from pluggy_sdk.models.create_boleto_boleto_fine import CreateBoletoBoletoFine
|
92
|
+
from pluggy_sdk.models.create_boleto_boleto_interest import CreateBoletoBoletoInterest
|
91
93
|
from pluggy_sdk.models.create_boleto_boleto_payer import CreateBoletoBoletoPayer
|
92
94
|
from pluggy_sdk.models.create_boleto_connection import CreateBoletoConnection
|
93
95
|
from pluggy_sdk.models.create_boleto_connection_from_item import CreateBoletoConnectionFromItem
|
@@ -130,6 +132,8 @@ from pluggy_sdk.models.investment_metadata import InvestmentMetadata
|
|
130
132
|
from pluggy_sdk.models.investment_transaction import InvestmentTransaction
|
131
133
|
from pluggy_sdk.models.investments_list200_response import InvestmentsList200Response
|
132
134
|
from pluggy_sdk.models.issued_boleto import IssuedBoleto
|
135
|
+
from pluggy_sdk.models.issued_boleto_fine import IssuedBoletoFine
|
136
|
+
from pluggy_sdk.models.issued_boleto_interest import IssuedBoletoInterest
|
133
137
|
from pluggy_sdk.models.issued_boleto_payer import IssuedBoletoPayer
|
134
138
|
from pluggy_sdk.models.item import Item
|
135
139
|
from pluggy_sdk.models.item_creation_error_response import ItemCreationErrorResponse
|
@@ -186,6 +190,7 @@ from pluggy_sdk.models.phone_number import PhoneNumber
|
|
186
190
|
from pluggy_sdk.models.pix_data import PixData
|
187
191
|
from pluggy_sdk.models.single import SINGLE
|
188
192
|
from pluggy_sdk.models.schedule_payment import SchedulePayment
|
193
|
+
from pluggy_sdk.models.schedule_payment_error_detail import SchedulePaymentErrorDetail
|
189
194
|
from pluggy_sdk.models.smart_account import SmartAccount
|
190
195
|
from pluggy_sdk.models.smart_account_address import SmartAccountAddress
|
191
196
|
from pluggy_sdk.models.smart_account_balance import SmartAccountBalance
|
pluggy_sdk/api_client.py
CHANGED
@@ -91,7 +91,7 @@ class ApiClient:
|
|
91
91
|
self.default_headers[header_name] = header_value
|
92
92
|
self.cookie = cookie
|
93
93
|
# Set default User-Agent.
|
94
|
-
self.user_agent = 'OpenAPI-Generator/1.0.0.
|
94
|
+
self.user_agent = 'OpenAPI-Generator/1.0.0.post40/python'
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
96
96
|
|
97
97
|
def __enter__(self):
|
pluggy_sdk/configuration.py
CHANGED
@@ -19,7 +19,7 @@ import logging
|
|
19
19
|
from logging import FileHandler
|
20
20
|
import multiprocessing
|
21
21
|
import sys
|
22
|
-
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict
|
22
|
+
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
|
23
23
|
from typing_extensions import NotRequired, Self
|
24
24
|
|
25
25
|
import urllib3
|
@@ -162,6 +162,8 @@ class Configuration:
|
|
162
162
|
:param ssl_ca_cert: str - the path to a file of concatenated CA certificates
|
163
163
|
in PEM format.
|
164
164
|
:param retries: Number of retries for API requests.
|
165
|
+
:param ca_cert_data: verify the peer using concatenated CA certificate data
|
166
|
+
in PEM (str) or DER (bytes) format.
|
165
167
|
|
166
168
|
:Example:
|
167
169
|
|
@@ -195,13 +197,14 @@ conf = pluggy_sdk.Configuration(
|
|
195
197
|
username: Optional[str]=None,
|
196
198
|
password: Optional[str]=None,
|
197
199
|
access_token: Optional[str]=None,
|
198
|
-
server_index: Optional[int]=None,
|
200
|
+
server_index: Optional[int]=None,
|
199
201
|
server_variables: Optional[ServerVariablesT]=None,
|
200
202
|
server_operation_index: Optional[Dict[int, int]]=None,
|
201
203
|
server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
|
202
204
|
ignore_operation_servers: bool=False,
|
203
205
|
ssl_ca_cert: Optional[str]=None,
|
204
206
|
retries: Optional[int] = None,
|
207
|
+
ca_cert_data: Optional[Union[str, bytes]] = None,
|
205
208
|
*,
|
206
209
|
debug: Optional[bool] = None,
|
207
210
|
) -> None:
|
@@ -279,6 +282,10 @@ conf = pluggy_sdk.Configuration(
|
|
279
282
|
self.ssl_ca_cert = ssl_ca_cert
|
280
283
|
"""Set this to customize the certificate file to verify the peer.
|
281
284
|
"""
|
285
|
+
self.ca_cert_data = ca_cert_data
|
286
|
+
"""Set this to verify the peer using PEM (str) or DER (bytes)
|
287
|
+
certificate data.
|
288
|
+
"""
|
282
289
|
self.cert_file = None
|
283
290
|
"""client certificate file
|
284
291
|
"""
|
@@ -525,7 +532,7 @@ conf = pluggy_sdk.Configuration(
|
|
525
532
|
"OS: {env}\n"\
|
526
533
|
"Python Version: {pyversion}\n"\
|
527
534
|
"Version of the API: 1.0.0\n"\
|
528
|
-
"SDK Package Version: 1.0.0.
|
535
|
+
"SDK Package Version: 1.0.0.post40".\
|
529
536
|
format(env=sys.platform, pyversion=sys.version)
|
530
537
|
|
531
538
|
def get_host_settings(self) -> List[HostSetting]:
|
pluggy_sdk/models/__init__.py
CHANGED
@@ -50,6 +50,8 @@ from pluggy_sdk.models.connector_user_action import ConnectorUserAction
|
|
50
50
|
from pluggy_sdk.models.consent import Consent
|
51
51
|
from pluggy_sdk.models.create_boleto import CreateBoleto
|
52
52
|
from pluggy_sdk.models.create_boleto_boleto import CreateBoletoBoleto
|
53
|
+
from pluggy_sdk.models.create_boleto_boleto_fine import CreateBoletoBoletoFine
|
54
|
+
from pluggy_sdk.models.create_boleto_boleto_interest import CreateBoletoBoletoInterest
|
53
55
|
from pluggy_sdk.models.create_boleto_boleto_payer import CreateBoletoBoletoPayer
|
54
56
|
from pluggy_sdk.models.create_boleto_connection import CreateBoletoConnection
|
55
57
|
from pluggy_sdk.models.create_boleto_connection_from_item import CreateBoletoConnectionFromItem
|
@@ -92,6 +94,8 @@ from pluggy_sdk.models.investment_metadata import InvestmentMetadata
|
|
92
94
|
from pluggy_sdk.models.investment_transaction import InvestmentTransaction
|
93
95
|
from pluggy_sdk.models.investments_list200_response import InvestmentsList200Response
|
94
96
|
from pluggy_sdk.models.issued_boleto import IssuedBoleto
|
97
|
+
from pluggy_sdk.models.issued_boleto_fine import IssuedBoletoFine
|
98
|
+
from pluggy_sdk.models.issued_boleto_interest import IssuedBoletoInterest
|
95
99
|
from pluggy_sdk.models.issued_boleto_payer import IssuedBoletoPayer
|
96
100
|
from pluggy_sdk.models.item import Item
|
97
101
|
from pluggy_sdk.models.item_creation_error_response import ItemCreationErrorResponse
|
@@ -148,6 +152,7 @@ from pluggy_sdk.models.phone_number import PhoneNumber
|
|
148
152
|
from pluggy_sdk.models.pix_data import PixData
|
149
153
|
from pluggy_sdk.models.single import SINGLE
|
150
154
|
from pluggy_sdk.models.schedule_payment import SchedulePayment
|
155
|
+
from pluggy_sdk.models.schedule_payment_error_detail import SchedulePaymentErrorDetail
|
151
156
|
from pluggy_sdk.models.smart_account import SmartAccount
|
152
157
|
from pluggy_sdk.models.smart_account_address import SmartAccountAddress
|
153
158
|
from pluggy_sdk.models.smart_account_balance import SmartAccountBalance
|
@@ -20,8 +20,10 @@ import json
|
|
20
20
|
|
21
21
|
from datetime import datetime
|
22
22
|
from pydantic import BaseModel, ConfigDict, Field
|
23
|
-
from typing import Any, ClassVar, Dict, List, Union
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
24
24
|
from typing_extensions import Annotated
|
25
|
+
from pluggy_sdk.models.create_boleto_boleto_fine import CreateBoletoBoletoFine
|
26
|
+
from pluggy_sdk.models.create_boleto_boleto_interest import CreateBoletoBoletoInterest
|
25
27
|
from pluggy_sdk.models.create_boleto_boleto_payer import CreateBoletoBoletoPayer
|
26
28
|
from typing import Optional, Set
|
27
29
|
from typing_extensions import Self
|
@@ -34,7 +36,9 @@ class CreateBoletoBoleto(BaseModel):
|
|
34
36
|
amount: Union[Annotated[float, Field(strict=True, ge=2.5)], Annotated[int, Field(strict=True, ge=3)]] = Field(description="Boleto amount")
|
35
37
|
due_date: datetime = Field(description="Due date for the boleto. Must be today or in the future.", alias="dueDate")
|
36
38
|
payer: CreateBoletoBoletoPayer
|
37
|
-
|
39
|
+
fine: Optional[CreateBoletoBoletoFine] = None
|
40
|
+
interest: Optional[CreateBoletoBoletoInterest] = None
|
41
|
+
__properties: ClassVar[List[str]] = ["seuNumero", "amount", "dueDate", "payer", "fine", "interest"]
|
38
42
|
|
39
43
|
model_config = ConfigDict(
|
40
44
|
populate_by_name=True,
|
@@ -78,6 +82,12 @@ class CreateBoletoBoleto(BaseModel):
|
|
78
82
|
# override the default output from pydantic by calling `to_dict()` of payer
|
79
83
|
if self.payer:
|
80
84
|
_dict['payer'] = self.payer.to_dict()
|
85
|
+
# override the default output from pydantic by calling `to_dict()` of fine
|
86
|
+
if self.fine:
|
87
|
+
_dict['fine'] = self.fine.to_dict()
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of interest
|
89
|
+
if self.interest:
|
90
|
+
_dict['interest'] = self.interest.to_dict()
|
81
91
|
return _dict
|
82
92
|
|
83
93
|
@classmethod
|
@@ -93,7 +103,9 @@ class CreateBoletoBoleto(BaseModel):
|
|
93
103
|
"seuNumero": obj.get("seuNumero"),
|
94
104
|
"amount": obj.get("amount"),
|
95
105
|
"dueDate": obj.get("dueDate"),
|
96
|
-
"payer": CreateBoletoBoletoPayer.from_dict(obj["payer"]) if obj.get("payer") is not None else None
|
106
|
+
"payer": CreateBoletoBoletoPayer.from_dict(obj["payer"]) if obj.get("payer") is not None else None,
|
107
|
+
"fine": CreateBoletoBoletoFine.from_dict(obj["fine"]) if obj.get("fine") is not None else None,
|
108
|
+
"interest": CreateBoletoBoletoInterest.from_dict(obj["interest"]) if obj.get("interest") is not None else None
|
97
109
|
})
|
98
110
|
return _obj
|
99
111
|
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
22
|
+
from typing import Any, ClassVar, Dict, List, Union
|
23
|
+
from typing_extensions import Annotated
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class CreateBoletoBoletoFine(BaseModel):
|
28
|
+
"""
|
29
|
+
Fine information for late payment
|
30
|
+
""" # noqa: E501
|
31
|
+
value: Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]] = Field(description="Fine value")
|
32
|
+
type: StrictStr = Field(description="Type of fine calculation")
|
33
|
+
__properties: ClassVar[List[str]] = ["value", "type"]
|
34
|
+
|
35
|
+
@field_validator('type')
|
36
|
+
def type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in set(['PERCENTAGE', 'FIXED']):
|
39
|
+
raise ValueError("must be one of enum values ('PERCENTAGE', 'FIXED')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
model_config = ConfigDict(
|
43
|
+
populate_by_name=True,
|
44
|
+
validate_assignment=True,
|
45
|
+
protected_namespaces=(),
|
46
|
+
)
|
47
|
+
|
48
|
+
|
49
|
+
def to_str(self) -> str:
|
50
|
+
"""Returns the string representation of the model using alias"""
|
51
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
52
|
+
|
53
|
+
def to_json(self) -> str:
|
54
|
+
"""Returns the JSON representation of the model using alias"""
|
55
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
56
|
+
return json.dumps(self.to_dict())
|
57
|
+
|
58
|
+
@classmethod
|
59
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
60
|
+
"""Create an instance of CreateBoletoBoletoFine from a JSON string"""
|
61
|
+
return cls.from_dict(json.loads(json_str))
|
62
|
+
|
63
|
+
def to_dict(self) -> Dict[str, Any]:
|
64
|
+
"""Return the dictionary representation of the model using alias.
|
65
|
+
|
66
|
+
This has the following differences from calling pydantic's
|
67
|
+
`self.model_dump(by_alias=True)`:
|
68
|
+
|
69
|
+
* `None` is only added to the output dict for nullable fields that
|
70
|
+
were set at model initialization. Other fields with value `None`
|
71
|
+
are ignored.
|
72
|
+
"""
|
73
|
+
excluded_fields: Set[str] = set([
|
74
|
+
])
|
75
|
+
|
76
|
+
_dict = self.model_dump(
|
77
|
+
by_alias=True,
|
78
|
+
exclude=excluded_fields,
|
79
|
+
exclude_none=True,
|
80
|
+
)
|
81
|
+
return _dict
|
82
|
+
|
83
|
+
@classmethod
|
84
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
85
|
+
"""Create an instance of CreateBoletoBoletoFine from a dict"""
|
86
|
+
if obj is None:
|
87
|
+
return None
|
88
|
+
|
89
|
+
if not isinstance(obj, dict):
|
90
|
+
return cls.model_validate(obj)
|
91
|
+
|
92
|
+
_obj = cls.model_validate({
|
93
|
+
"value": obj.get("value"),
|
94
|
+
"type": obj.get("type")
|
95
|
+
})
|
96
|
+
return _obj
|
97
|
+
|
98
|
+
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
22
|
+
from typing import Any, ClassVar, Dict, List, Union
|
23
|
+
from typing_extensions import Annotated
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class CreateBoletoBoletoInterest(BaseModel):
|
28
|
+
"""
|
29
|
+
Interest information for late payment
|
30
|
+
""" # noqa: E501
|
31
|
+
value: Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]] = Field(description="Interest value")
|
32
|
+
type: StrictStr = Field(description="Type of interest calculation")
|
33
|
+
__properties: ClassVar[List[str]] = ["value", "type"]
|
34
|
+
|
35
|
+
@field_validator('type')
|
36
|
+
def type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in set(['PERCENTAGE']):
|
39
|
+
raise ValueError("must be one of enum values ('PERCENTAGE')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
model_config = ConfigDict(
|
43
|
+
populate_by_name=True,
|
44
|
+
validate_assignment=True,
|
45
|
+
protected_namespaces=(),
|
46
|
+
)
|
47
|
+
|
48
|
+
|
49
|
+
def to_str(self) -> str:
|
50
|
+
"""Returns the string representation of the model using alias"""
|
51
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
52
|
+
|
53
|
+
def to_json(self) -> str:
|
54
|
+
"""Returns the JSON representation of the model using alias"""
|
55
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
56
|
+
return json.dumps(self.to_dict())
|
57
|
+
|
58
|
+
@classmethod
|
59
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
60
|
+
"""Create an instance of CreateBoletoBoletoInterest from a JSON string"""
|
61
|
+
return cls.from_dict(json.loads(json_str))
|
62
|
+
|
63
|
+
def to_dict(self) -> Dict[str, Any]:
|
64
|
+
"""Return the dictionary representation of the model using alias.
|
65
|
+
|
66
|
+
This has the following differences from calling pydantic's
|
67
|
+
`self.model_dump(by_alias=True)`:
|
68
|
+
|
69
|
+
* `None` is only added to the output dict for nullable fields that
|
70
|
+
were set at model initialization. Other fields with value `None`
|
71
|
+
are ignored.
|
72
|
+
"""
|
73
|
+
excluded_fields: Set[str] = set([
|
74
|
+
])
|
75
|
+
|
76
|
+
_dict = self.model_dump(
|
77
|
+
by_alias=True,
|
78
|
+
exclude=excluded_fields,
|
79
|
+
exclude_none=True,
|
80
|
+
)
|
81
|
+
return _dict
|
82
|
+
|
83
|
+
@classmethod
|
84
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
85
|
+
"""Create an instance of CreateBoletoBoletoInterest from a dict"""
|
86
|
+
if obj is None:
|
87
|
+
return None
|
88
|
+
|
89
|
+
if not isinstance(obj, dict):
|
90
|
+
return cls.model_validate(obj)
|
91
|
+
|
92
|
+
_obj = cls.model_validate({
|
93
|
+
"value": obj.get("value"),
|
94
|
+
"type": obj.get("type")
|
95
|
+
})
|
96
|
+
return _obj
|
97
|
+
|
98
|
+
|
@@ -29,6 +29,7 @@ class InvestmentTransaction(BaseModel):
|
|
29
29
|
"""
|
30
30
|
Movement of the investment
|
31
31
|
""" # noqa: E501
|
32
|
+
id: StrictStr = Field(description="Primary investment transaction identifier")
|
32
33
|
type: StrictStr = Field(description="Type of transactions")
|
33
34
|
movement_type: Optional[StrictStr] = Field(default=None, description="Type of movement of the transaction", alias="movementType")
|
34
35
|
quantity: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Quantity of the transaction")
|
@@ -38,7 +39,7 @@ class InvestmentTransaction(BaseModel):
|
|
38
39
|
var_date: datetime = Field(description="Date when the transaction was made", alias="date")
|
39
40
|
trade_date: Optional[datetime] = Field(default=None, description="Date when the transaction was confirmed", alias="tradeDate")
|
40
41
|
expenses: Optional[InvestmentExpenses] = None
|
41
|
-
__properties: ClassVar[List[str]] = ["type", "movementType", "quantity", "value", "amount", "agreedRate", "date", "tradeDate", "expenses"]
|
42
|
+
__properties: ClassVar[List[str]] = ["id", "type", "movementType", "quantity", "value", "amount", "agreedRate", "date", "tradeDate", "expenses"]
|
42
43
|
|
43
44
|
@field_validator('type')
|
44
45
|
def type_validate_enum(cls, value):
|
@@ -111,6 +112,7 @@ class InvestmentTransaction(BaseModel):
|
|
111
112
|
return cls.model_validate(obj)
|
112
113
|
|
113
114
|
_obj = cls.model_validate({
|
115
|
+
"id": obj.get("id"),
|
114
116
|
"type": obj.get("type"),
|
115
117
|
"movementType": obj.get("movementType"),
|
116
118
|
"quantity": obj.get("quantity"),
|
@@ -19,9 +19,11 @@ import re # noqa: F401
|
|
19
19
|
import json
|
20
20
|
|
21
21
|
from datetime import datetime
|
22
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
22
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator
|
23
23
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
24
24
|
from typing_extensions import Annotated
|
25
|
+
from pluggy_sdk.models.issued_boleto_fine import IssuedBoletoFine
|
26
|
+
from pluggy_sdk.models.issued_boleto_interest import IssuedBoletoInterest
|
25
27
|
from pluggy_sdk.models.issued_boleto_payer import IssuedBoletoPayer
|
26
28
|
from typing import Optional, Set
|
27
29
|
from typing_extensions import Self
|
@@ -41,7 +43,13 @@ class IssuedBoleto(BaseModel):
|
|
41
43
|
nosso_numero: Optional[StrictStr] = Field(default=None, description="Bank's internal identifier for the boleto", alias="nossoNumero")
|
42
44
|
barcode: StrictStr = Field(description="Boleto barcode")
|
43
45
|
boleto_connection_id: StrictStr = Field(description="ID of the boleto connection used to create this boleto", alias="boletoConnectionId")
|
44
|
-
|
46
|
+
created_at: datetime = Field(description="Date when the boleto was created", alias="createdAt")
|
47
|
+
amount_paid: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount that was paid for this boleto", alias="amountPaid")
|
48
|
+
payment_origin: Optional[StrictStr] = Field(default=None, description="Origin of the payment when the boleto is paid", alias="paymentOrigin")
|
49
|
+
fine: Optional[IssuedBoletoFine] = None
|
50
|
+
interest: Optional[IssuedBoletoInterest] = None
|
51
|
+
paid_at: Optional[datetime] = Field(default=None, description="Date when the boleto was paid", alias="paidAt")
|
52
|
+
__properties: ClassVar[List[str]] = ["id", "amount", "status", "seuNumero", "dueDate", "payer", "pixQr", "digitableLine", "nossoNumero", "barcode", "boletoConnectionId", "createdAt", "amountPaid", "paymentOrigin", "fine", "interest", "paidAt"]
|
45
53
|
|
46
54
|
@field_validator('status')
|
47
55
|
def status_validate_enum(cls, value):
|
@@ -50,6 +58,16 @@ class IssuedBoleto(BaseModel):
|
|
50
58
|
raise ValueError("must be one of enum values ('OPEN', 'PAID', 'OVERDUE', 'CANCELLED')")
|
51
59
|
return value
|
52
60
|
|
61
|
+
@field_validator('payment_origin')
|
62
|
+
def payment_origin_validate_enum(cls, value):
|
63
|
+
"""Validates the enum"""
|
64
|
+
if value is None:
|
65
|
+
return value
|
66
|
+
|
67
|
+
if value not in set(['PIX', 'BOLETO']):
|
68
|
+
raise ValueError("must be one of enum values ('PIX', 'BOLETO')")
|
69
|
+
return value
|
70
|
+
|
53
71
|
model_config = ConfigDict(
|
54
72
|
populate_by_name=True,
|
55
73
|
validate_assignment=True,
|
@@ -92,6 +110,27 @@ class IssuedBoleto(BaseModel):
|
|
92
110
|
# override the default output from pydantic by calling `to_dict()` of payer
|
93
111
|
if self.payer:
|
94
112
|
_dict['payer'] = self.payer.to_dict()
|
113
|
+
# override the default output from pydantic by calling `to_dict()` of fine
|
114
|
+
if self.fine:
|
115
|
+
_dict['fine'] = self.fine.to_dict()
|
116
|
+
# override the default output from pydantic by calling `to_dict()` of interest
|
117
|
+
if self.interest:
|
118
|
+
_dict['interest'] = self.interest.to_dict()
|
119
|
+
# set to None if amount_paid (nullable) is None
|
120
|
+
# and model_fields_set contains the field
|
121
|
+
if self.amount_paid is None and "amount_paid" in self.model_fields_set:
|
122
|
+
_dict['amountPaid'] = None
|
123
|
+
|
124
|
+
# set to None if payment_origin (nullable) is None
|
125
|
+
# and model_fields_set contains the field
|
126
|
+
if self.payment_origin is None and "payment_origin" in self.model_fields_set:
|
127
|
+
_dict['paymentOrigin'] = None
|
128
|
+
|
129
|
+
# set to None if fine (nullable) is None
|
130
|
+
# and model_fields_set contains the field
|
131
|
+
if self.fine is None and "fine" in self.model_fields_set:
|
132
|
+
_dict['fine'] = None
|
133
|
+
|
95
134
|
return _dict
|
96
135
|
|
97
136
|
@classmethod
|
@@ -114,7 +153,13 @@ class IssuedBoleto(BaseModel):
|
|
114
153
|
"digitableLine": obj.get("digitableLine"),
|
115
154
|
"nossoNumero": obj.get("nossoNumero"),
|
116
155
|
"barcode": obj.get("barcode"),
|
117
|
-
"boletoConnectionId": obj.get("boletoConnectionId")
|
156
|
+
"boletoConnectionId": obj.get("boletoConnectionId"),
|
157
|
+
"createdAt": obj.get("createdAt"),
|
158
|
+
"amountPaid": obj.get("amountPaid"),
|
159
|
+
"paymentOrigin": obj.get("paymentOrigin"),
|
160
|
+
"fine": IssuedBoletoFine.from_dict(obj["fine"]) if obj.get("fine") is not None else None,
|
161
|
+
"interest": IssuedBoletoInterest.from_dict(obj["interest"]) if obj.get("interest") is not None else None,
|
162
|
+
"paidAt": obj.get("paidAt")
|
118
163
|
})
|
119
164
|
return _obj
|
120
165
|
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
23
|
+
from typing_extensions import Annotated
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class IssuedBoletoFine(BaseModel):
|
28
|
+
"""
|
29
|
+
Fine information for late payment
|
30
|
+
""" # noqa: E501
|
31
|
+
value: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Fine value")
|
32
|
+
type: Optional[StrictStr] = Field(default=None, description="Type of fine calculation")
|
33
|
+
__properties: ClassVar[List[str]] = ["value", "type"]
|
34
|
+
|
35
|
+
@field_validator('type')
|
36
|
+
def type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value is None:
|
39
|
+
return value
|
40
|
+
|
41
|
+
if value not in set(['PERCENTAGE', 'FIXED']):
|
42
|
+
raise ValueError("must be one of enum values ('PERCENTAGE', 'FIXED')")
|
43
|
+
return value
|
44
|
+
|
45
|
+
model_config = ConfigDict(
|
46
|
+
populate_by_name=True,
|
47
|
+
validate_assignment=True,
|
48
|
+
protected_namespaces=(),
|
49
|
+
)
|
50
|
+
|
51
|
+
|
52
|
+
def to_str(self) -> str:
|
53
|
+
"""Returns the string representation of the model using alias"""
|
54
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
55
|
+
|
56
|
+
def to_json(self) -> str:
|
57
|
+
"""Returns the JSON representation of the model using alias"""
|
58
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
59
|
+
return json.dumps(self.to_dict())
|
60
|
+
|
61
|
+
@classmethod
|
62
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
63
|
+
"""Create an instance of IssuedBoletoFine from a JSON string"""
|
64
|
+
return cls.from_dict(json.loads(json_str))
|
65
|
+
|
66
|
+
def to_dict(self) -> Dict[str, Any]:
|
67
|
+
"""Return the dictionary representation of the model using alias.
|
68
|
+
|
69
|
+
This has the following differences from calling pydantic's
|
70
|
+
`self.model_dump(by_alias=True)`:
|
71
|
+
|
72
|
+
* `None` is only added to the output dict for nullable fields that
|
73
|
+
were set at model initialization. Other fields with value `None`
|
74
|
+
are ignored.
|
75
|
+
"""
|
76
|
+
excluded_fields: Set[str] = set([
|
77
|
+
])
|
78
|
+
|
79
|
+
_dict = self.model_dump(
|
80
|
+
by_alias=True,
|
81
|
+
exclude=excluded_fields,
|
82
|
+
exclude_none=True,
|
83
|
+
)
|
84
|
+
return _dict
|
85
|
+
|
86
|
+
@classmethod
|
87
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
88
|
+
"""Create an instance of IssuedBoletoFine from a dict"""
|
89
|
+
if obj is None:
|
90
|
+
return None
|
91
|
+
|
92
|
+
if not isinstance(obj, dict):
|
93
|
+
return cls.model_validate(obj)
|
94
|
+
|
95
|
+
_obj = cls.model_validate({
|
96
|
+
"value": obj.get("value"),
|
97
|
+
"type": obj.get("type")
|
98
|
+
})
|
99
|
+
return _obj
|
100
|
+
|
101
|
+
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
23
|
+
from typing_extensions import Annotated
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class IssuedBoletoInterest(BaseModel):
|
28
|
+
"""
|
29
|
+
Interest information for late payment
|
30
|
+
""" # noqa: E501
|
31
|
+
value: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Interest value")
|
32
|
+
type: Optional[StrictStr] = Field(default=None, description="Type of interest calculation")
|
33
|
+
__properties: ClassVar[List[str]] = ["value", "type"]
|
34
|
+
|
35
|
+
@field_validator('type')
|
36
|
+
def type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value is None:
|
39
|
+
return value
|
40
|
+
|
41
|
+
if value not in set(['PERCENTAGE']):
|
42
|
+
raise ValueError("must be one of enum values ('PERCENTAGE')")
|
43
|
+
return value
|
44
|
+
|
45
|
+
model_config = ConfigDict(
|
46
|
+
populate_by_name=True,
|
47
|
+
validate_assignment=True,
|
48
|
+
protected_namespaces=(),
|
49
|
+
)
|
50
|
+
|
51
|
+
|
52
|
+
def to_str(self) -> str:
|
53
|
+
"""Returns the string representation of the model using alias"""
|
54
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
55
|
+
|
56
|
+
def to_json(self) -> str:
|
57
|
+
"""Returns the JSON representation of the model using alias"""
|
58
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
59
|
+
return json.dumps(self.to_dict())
|
60
|
+
|
61
|
+
@classmethod
|
62
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
63
|
+
"""Create an instance of IssuedBoletoInterest from a JSON string"""
|
64
|
+
return cls.from_dict(json.loads(json_str))
|
65
|
+
|
66
|
+
def to_dict(self) -> Dict[str, Any]:
|
67
|
+
"""Return the dictionary representation of the model using alias.
|
68
|
+
|
69
|
+
This has the following differences from calling pydantic's
|
70
|
+
`self.model_dump(by_alias=True)`:
|
71
|
+
|
72
|
+
* `None` is only added to the output dict for nullable fields that
|
73
|
+
were set at model initialization. Other fields with value `None`
|
74
|
+
are ignored.
|
75
|
+
"""
|
76
|
+
excluded_fields: Set[str] = set([
|
77
|
+
])
|
78
|
+
|
79
|
+
_dict = self.model_dump(
|
80
|
+
by_alias=True,
|
81
|
+
exclude=excluded_fields,
|
82
|
+
exclude_none=True,
|
83
|
+
)
|
84
|
+
return _dict
|
85
|
+
|
86
|
+
@classmethod
|
87
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
88
|
+
"""Create an instance of IssuedBoletoInterest from a dict"""
|
89
|
+
if obj is None:
|
90
|
+
return None
|
91
|
+
|
92
|
+
if not isinstance(obj, dict):
|
93
|
+
return cls.model_validate(obj)
|
94
|
+
|
95
|
+
_obj = cls.model_validate({
|
96
|
+
"value": obj.get("value"),
|
97
|
+
"type": obj.get("type")
|
98
|
+
})
|
99
|
+
return _obj
|
100
|
+
|
101
|
+
|
@@ -20,7 +20,8 @@ import json
|
|
20
20
|
|
21
21
|
from datetime import date
|
22
22
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
23
|
-
from typing import Any, ClassVar, Dict, List
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
24
|
+
from pluggy_sdk.models.schedule_payment_error_detail import SchedulePaymentErrorDetail
|
24
25
|
from typing import Optional, Set
|
25
26
|
from typing_extensions import Self
|
26
27
|
|
@@ -32,7 +33,8 @@ class SchedulePayment(BaseModel):
|
|
32
33
|
description: StrictStr = Field(description="Scheduled payment description")
|
33
34
|
status: StrictStr = Field(description="Scheduled payment status")
|
34
35
|
scheduled_date: date = Field(description="Date when the payment is scheduled", alias="scheduledDate")
|
35
|
-
|
36
|
+
error_detail: Optional[SchedulePaymentErrorDetail] = Field(default=None, alias="errorDetail")
|
37
|
+
__properties: ClassVar[List[str]] = ["id", "description", "status", "scheduledDate", "errorDetail"]
|
36
38
|
|
37
39
|
@field_validator('status')
|
38
40
|
def status_validate_enum(cls, value):
|
@@ -80,6 +82,9 @@ class SchedulePayment(BaseModel):
|
|
80
82
|
exclude=excluded_fields,
|
81
83
|
exclude_none=True,
|
82
84
|
)
|
85
|
+
# override the default output from pydantic by calling `to_dict()` of error_detail
|
86
|
+
if self.error_detail:
|
87
|
+
_dict['errorDetail'] = self.error_detail.to_dict()
|
83
88
|
return _dict
|
84
89
|
|
85
90
|
@classmethod
|
@@ -95,7 +100,8 @@ class SchedulePayment(BaseModel):
|
|
95
100
|
"id": obj.get("id"),
|
96
101
|
"description": obj.get("description"),
|
97
102
|
"status": obj.get("status"),
|
98
|
-
"scheduledDate": obj.get("scheduledDate")
|
103
|
+
"scheduledDate": obj.get("scheduledDate"),
|
104
|
+
"errorDetail": SchedulePaymentErrorDetail.from_dict(obj["errorDetail"]) if obj.get("errorDetail") is not None else None
|
99
105
|
})
|
100
106
|
return _obj
|
101
107
|
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
23
|
+
from typing import Optional, Set
|
24
|
+
from typing_extensions import Self
|
25
|
+
|
26
|
+
class SchedulePaymentErrorDetail(BaseModel):
|
27
|
+
"""
|
28
|
+
Details about an error that occurred with the scheduled payment
|
29
|
+
""" # noqa: E501
|
30
|
+
code: Optional[StrictStr] = Field(default=None, description="Error code")
|
31
|
+
description: Optional[StrictStr] = Field(default=None, description="Human-readable description of the error")
|
32
|
+
detail: Optional[StrictStr] = Field(default=None, description="Additional details about the error in the provider's language")
|
33
|
+
__properties: ClassVar[List[str]] = ["code", "description", "detail"]
|
34
|
+
|
35
|
+
model_config = ConfigDict(
|
36
|
+
populate_by_name=True,
|
37
|
+
validate_assignment=True,
|
38
|
+
protected_namespaces=(),
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
def to_str(self) -> str:
|
43
|
+
"""Returns the string representation of the model using alias"""
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
45
|
+
|
46
|
+
def to_json(self) -> str:
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
48
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
49
|
+
return json.dumps(self.to_dict())
|
50
|
+
|
51
|
+
@classmethod
|
52
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
53
|
+
"""Create an instance of SchedulePaymentErrorDetail from a JSON string"""
|
54
|
+
return cls.from_dict(json.loads(json_str))
|
55
|
+
|
56
|
+
def to_dict(self) -> Dict[str, Any]:
|
57
|
+
"""Return the dictionary representation of the model using alias.
|
58
|
+
|
59
|
+
This has the following differences from calling pydantic's
|
60
|
+
`self.model_dump(by_alias=True)`:
|
61
|
+
|
62
|
+
* `None` is only added to the output dict for nullable fields that
|
63
|
+
were set at model initialization. Other fields with value `None`
|
64
|
+
are ignored.
|
65
|
+
"""
|
66
|
+
excluded_fields: Set[str] = set([
|
67
|
+
])
|
68
|
+
|
69
|
+
_dict = self.model_dump(
|
70
|
+
by_alias=True,
|
71
|
+
exclude=excluded_fields,
|
72
|
+
exclude_none=True,
|
73
|
+
)
|
74
|
+
return _dict
|
75
|
+
|
76
|
+
@classmethod
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
78
|
+
"""Create an instance of SchedulePaymentErrorDetail from a dict"""
|
79
|
+
if obj is None:
|
80
|
+
return None
|
81
|
+
|
82
|
+
if not isinstance(obj, dict):
|
83
|
+
return cls.model_validate(obj)
|
84
|
+
|
85
|
+
_obj = cls.model_validate({
|
86
|
+
"code": obj.get("code"),
|
87
|
+
"description": obj.get("description"),
|
88
|
+
"detail": obj.get("detail")
|
89
|
+
})
|
90
|
+
return _obj
|
91
|
+
|
92
|
+
|
@@ -34,7 +34,8 @@ class SmartAccount(BaseModel):
|
|
34
34
|
verifying_digit: StrictStr = Field(description="Smart account verifying digit", alias="verifyingDigit")
|
35
35
|
type: StrictStr = Field(description="Smart account type")
|
36
36
|
is_sandbox: StrictBool = Field(description="Indicates if the smart account is a sandbox account", alias="isSandbox")
|
37
|
-
|
37
|
+
pix_key: StrictStr = Field(description="Smart account PIX key", alias="pixKey")
|
38
|
+
__properties: ClassVar[List[str]] = ["id", "ispb", "agency", "number", "verifyingDigit", "type", "isSandbox", "pixKey"]
|
38
39
|
|
39
40
|
@field_validator('type')
|
40
41
|
def type_validate_enum(cls, value):
|
@@ -100,7 +101,8 @@ class SmartAccount(BaseModel):
|
|
100
101
|
"number": obj.get("number"),
|
101
102
|
"verifyingDigit": obj.get("verifyingDigit"),
|
102
103
|
"type": obj.get("type"),
|
103
|
-
"isSandbox": obj.get("isSandbox")
|
104
|
+
"isSandbox": obj.get("isSandbox"),
|
105
|
+
"pixKey": obj.get("pixKey")
|
104
106
|
})
|
105
107
|
return _obj
|
106
108
|
|
pluggy_sdk/models/transaction.py
CHANGED
@@ -47,7 +47,8 @@ class Transaction(BaseModel):
|
|
47
47
|
credit_card_metadata: Optional[CreditCardMetadata] = Field(default=None, alias="creditCardMetadata")
|
48
48
|
merchant: Optional[Merchant] = None
|
49
49
|
operation_type: Optional[StrictStr] = Field(default=None, description="Type of operation classified by the institution.", alias="operationType")
|
50
|
-
|
50
|
+
provider_id: Optional[StrictStr] = Field(default=None, description="Provider's identifier for the transaction. Only returned for Open Finance connectors.", alias="providerId")
|
51
|
+
__properties: ClassVar[List[str]] = ["id", "description", "currencyCode", "amount", "amountInAccountCurrency", "date", "type", "balance", "providerCode", "status", "category", "categoryId", "paymentData", "creditCardMetadata", "merchant", "operationType", "providerId"]
|
51
52
|
|
52
53
|
@field_validator('type')
|
53
54
|
def type_validate_enum(cls, value):
|
@@ -134,7 +135,8 @@ class Transaction(BaseModel):
|
|
134
135
|
"paymentData": PaymentData.from_dict(obj["paymentData"]) if obj.get("paymentData") is not None else None,
|
135
136
|
"creditCardMetadata": CreditCardMetadata.from_dict(obj["creditCardMetadata"]) if obj.get("creditCardMetadata") is not None else None,
|
136
137
|
"merchant": Merchant.from_dict(obj["merchant"]) if obj.get("merchant") is not None else None,
|
137
|
-
"operationType": obj.get("operationType")
|
138
|
+
"operationType": obj.get("operationType"),
|
139
|
+
"providerId": obj.get("providerId")
|
138
140
|
})
|
139
141
|
return _obj
|
140
142
|
|
pluggy_sdk/rest.py
CHANGED
@@ -77,6 +77,7 @@ class RESTClientObject:
|
|
77
77
|
"ca_certs": configuration.ssl_ca_cert,
|
78
78
|
"cert_file": configuration.cert_file,
|
79
79
|
"key_file": configuration.key_file,
|
80
|
+
"ca_cert_data": configuration.ca_cert_data,
|
80
81
|
}
|
81
82
|
if configuration.assert_hostname is not None:
|
82
83
|
pool_args['assert_hostname'] = (
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: pluggy-sdk
|
3
|
-
Version: 1.0.0.
|
3
|
+
Version: 1.0.0.post40
|
4
4
|
Summary: Pluggy API
|
5
5
|
Home-page: https://github.com/diraol/pluggy-python
|
6
6
|
Author: Pluggy
|
@@ -8,7 +8,7 @@ Author-email: hello@pluggy.ai
|
|
8
8
|
License: MIT
|
9
9
|
Keywords: OpenAPI,OpenAPI-Generator,Pluggy API
|
10
10
|
Description-Content-Type: text/markdown
|
11
|
-
Requires-Dist: urllib3<3.0.0,>=1.
|
11
|
+
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
12
12
|
Requires-Dist: python-dateutil>=2.8.2
|
13
13
|
Requires-Dist: pydantic>=2
|
14
14
|
Requires-Dist: typing-extensions>=4.7.1
|
@@ -28,8 +28,8 @@ Pluggy's main API to review data and execute connectors
|
|
28
28
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
29
29
|
|
30
30
|
- API version: 1.0.0
|
31
|
-
- Package version: 1.0.0.
|
32
|
-
- Generator version: 7.
|
31
|
+
- Package version: 1.0.0.post40
|
32
|
+
- Generator version: 7.13.0-SNAPSHOT
|
33
33
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
34
34
|
For more information, please visit [https://pluggy.ai](https://pluggy.ai)
|
35
35
|
|
@@ -246,6 +246,8 @@ Class | Method | HTTP request | Description
|
|
246
246
|
- [Consent](docs/Consent.md)
|
247
247
|
- [CreateBoleto](docs/CreateBoleto.md)
|
248
248
|
- [CreateBoletoBoleto](docs/CreateBoletoBoleto.md)
|
249
|
+
- [CreateBoletoBoletoFine](docs/CreateBoletoBoletoFine.md)
|
250
|
+
- [CreateBoletoBoletoInterest](docs/CreateBoletoBoletoInterest.md)
|
249
251
|
- [CreateBoletoBoletoPayer](docs/CreateBoletoBoletoPayer.md)
|
250
252
|
- [CreateBoletoConnection](docs/CreateBoletoConnection.md)
|
251
253
|
- [CreateBoletoConnectionFromItem](docs/CreateBoletoConnectionFromItem.md)
|
@@ -288,6 +290,8 @@ Class | Method | HTTP request | Description
|
|
288
290
|
- [InvestmentTransaction](docs/InvestmentTransaction.md)
|
289
291
|
- [InvestmentsList200Response](docs/InvestmentsList200Response.md)
|
290
292
|
- [IssuedBoleto](docs/IssuedBoleto.md)
|
293
|
+
- [IssuedBoletoFine](docs/IssuedBoletoFine.md)
|
294
|
+
- [IssuedBoletoInterest](docs/IssuedBoletoInterest.md)
|
291
295
|
- [IssuedBoletoPayer](docs/IssuedBoletoPayer.md)
|
292
296
|
- [Item](docs/Item.md)
|
293
297
|
- [ItemCreationErrorResponse](docs/ItemCreationErrorResponse.md)
|
@@ -344,6 +348,7 @@ Class | Method | HTTP request | Description
|
|
344
348
|
- [PixData](docs/PixData.md)
|
345
349
|
- [SINGLE](docs/SINGLE.md)
|
346
350
|
- [SchedulePayment](docs/SchedulePayment.md)
|
351
|
+
- [SchedulePaymentErrorDetail](docs/SchedulePaymentErrorDetail.md)
|
347
352
|
- [SmartAccount](docs/SmartAccount.md)
|
348
353
|
- [SmartAccountAddress](docs/SmartAccountAddress.md)
|
349
354
|
- [SmartAccountBalance](docs/SmartAccountBalance.md)
|
@@ -1,10 +1,10 @@
|
|
1
|
-
pluggy_sdk/__init__.py,sha256=
|
2
|
-
pluggy_sdk/api_client.py,sha256=
|
1
|
+
pluggy_sdk/__init__.py,sha256=BZAm7LHRbQ9AOgyfkZEpxvXYYKeGIZRHnZ0TXgFwDaU,14046
|
2
|
+
pluggy_sdk/api_client.py,sha256=wv4OkblYI7PD6WocSE847dOVjeXv9qUA-jrx4QhJH8w,27438
|
3
3
|
pluggy_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
4
|
-
pluggy_sdk/configuration.py,sha256=
|
4
|
+
pluggy_sdk/configuration.py,sha256=2bpCfbRItzcq-rp9dBrqyAUoPMxx-0fkIZzq1TXRJdQ,18823
|
5
5
|
pluggy_sdk/exceptions.py,sha256=i3cDTqzBiyuMq9VdCqE6CVVf09vq_TDYL9uOVvFoZis,6452
|
6
6
|
pluggy_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
pluggy_sdk/rest.py,sha256=
|
7
|
+
pluggy_sdk/rest.py,sha256=GHVGUFTXDukPvnXQi5AUNhTb1Ko-ZdZdvJQLnovZlbs,9445
|
8
8
|
pluggy_sdk/api/__init__.py,sha256=w6-OiRjnUPM9FPxcmgsQdoP1W9uLRRa53U3aEEwn2uk,1281
|
9
9
|
pluggy_sdk/api/account_api.py,sha256=mq0js0NSfiGeRHIFR6FSwO7Ng8bUAKNn88Ai58vr5zQ,22315
|
10
10
|
pluggy_sdk/api/acquirer_anticipation_api.py,sha256=bk4FXqDIxttRyIL1ms2GXPR5mFJtc9SbVnD_v5gaGE4,26474
|
@@ -36,7 +36,7 @@ pluggy_sdk/api/smart_account_transfer_api.py,sha256=H-uScNzIIlUzymh8GHKLoypler5T
|
|
36
36
|
pluggy_sdk/api/smart_transfer_api.py,sha256=txy3I7VsD8wlmzPAmKgva7szkTi_2ne3RDMo6zrcj-0,56198
|
37
37
|
pluggy_sdk/api/transaction_api.py,sha256=hJdOkkOB0PEl1eSceLppyaX7Ot1SSSSz7CPWl4JbxRU,41854
|
38
38
|
pluggy_sdk/api/webhook_api.py,sha256=PmwRiQPIvl5vdDqNFdVKJLdBMGMyoccEHYmrxf7A4G4,56195
|
39
|
-
pluggy_sdk/models/__init__.py,sha256=
|
39
|
+
pluggy_sdk/models/__init__.py,sha256=OtRvgm7lbGonqM4z7IiWueRJ65gl3cffkzQJ9r1Eg3Y,12298
|
40
40
|
pluggy_sdk/models/account.py,sha256=olFI5wpLnLLE7OO22B4zlNzSAf5TP8kGPVmYar_VUdg,5536
|
41
41
|
pluggy_sdk/models/accounts_list200_response.py,sha256=B4SakmOjxyOmTHYtTMmYKJo2nnKScnvqCN348JP98aE,3441
|
42
42
|
pluggy_sdk/models/acquirer_anticipation.py,sha256=_z-lkqKpAML1Tr60J8MoGnc3sN0AOXYPJaTk_DVmYNg,4617
|
@@ -85,7 +85,9 @@ pluggy_sdk/models/connector_list_response.py,sha256=PetHjZ1wAJ2k2gacrg9EmM0fnvSZ
|
|
85
85
|
pluggy_sdk/models/connector_user_action.py,sha256=k1Y8DHn5zEVFRmTEVL7Z8J8js3i7G-aRf1zoCF-Vftw,3065
|
86
86
|
pluggy_sdk/models/consent.py,sha256=2iGU-3JCbWzjUsFU1g4UYXz_zm0EziBJgki8XaBz1Kk,5451
|
87
87
|
pluggy_sdk/models/create_boleto.py,sha256=RdxH90W5WtT4CNounAk7_A7Jpgi_a9u4WKmoHwgDf-s,3018
|
88
|
-
pluggy_sdk/models/create_boleto_boleto.py,sha256=
|
88
|
+
pluggy_sdk/models/create_boleto_boleto.py,sha256=Hcl29eZ2u_53s-kgOJhEKybaNVVXfOreYr7sqayU_so,4297
|
89
|
+
pluggy_sdk/models/create_boleto_boleto_fine.py,sha256=EzNMpnTjd_b_PFPB3HSjSaBX0iFHyStZOwC4_-TJEvE,3061
|
90
|
+
pluggy_sdk/models/create_boleto_boleto_interest.py,sha256=hfL0jcAAex5zy5x36h7sMHvl1_X4sNEjx5LmiV7HAAQ,3067
|
89
91
|
pluggy_sdk/models/create_boleto_boleto_payer.py,sha256=9EvWdoc_hDd2MlrqeRlKjj4rk2t8IcTOC__IWABxojA,3386
|
90
92
|
pluggy_sdk/models/create_boleto_connection.py,sha256=ZQodldN2duex0o-SF_klZZyEtzDVGe-YODjWdQlcw0A,3149
|
91
93
|
pluggy_sdk/models/create_boleto_connection_from_item.py,sha256=d5Xq1K6m3uE1FNOZHjTZl_1vl7FPOUzDbEjpngNlh_g,2617
|
@@ -128,9 +130,11 @@ pluggy_sdk/models/income_reports_response.py,sha256=cXTY6QSoXZ5gSzJD2rz992dQRHk0
|
|
128
130
|
pluggy_sdk/models/investment.py,sha256=6ZFQE3_JTw2b5hyKwqvNSuu_9j_dWpFM0UYgJ5WgQEA,10214
|
129
131
|
pluggy_sdk/models/investment_expenses.py,sha256=Tggx0ZhQV-EF1amRK5Qc-qTGMjw1bUkM4bo3re18OCk,5224
|
130
132
|
pluggy_sdk/models/investment_metadata.py,sha256=iPjyP8eP7IM6Yp2angdHGN9ZrRlbIa4m9eO8XDxYQU8,3696
|
131
|
-
pluggy_sdk/models/investment_transaction.py,sha256=
|
133
|
+
pluggy_sdk/models/investment_transaction.py,sha256=v1fEA1fnIc5blphDfJ8QC-D8U-Ft3B2baEVsBiulRHw,5126
|
132
134
|
pluggy_sdk/models/investments_list200_response.py,sha256=JqUTarakPV6yzY162pLugeFudbwj6pHeCJYGdKVz8Js,3458
|
133
|
-
pluggy_sdk/models/issued_boleto.py,sha256=
|
135
|
+
pluggy_sdk/models/issued_boleto.py,sha256=FAYV9i7UrUv5tf9pPK-xklJ0Vx2a4XE0qUIaLE8RhVo,7396
|
136
|
+
pluggy_sdk/models/issued_boleto_fine.py,sha256=O6isBtogPBwg2sPK0n4k2MoT7F_JCXICiT8voDk1HL0,3153
|
137
|
+
pluggy_sdk/models/issued_boleto_interest.py,sha256=MJQ9bwFSzqYtjjn4q0ir6Ywspl1gaa7f7FwEJ8cNt7k,3159
|
134
138
|
pluggy_sdk/models/issued_boleto_payer.py,sha256=rbeI6pMo1lHqsHr3DnTza0eJJYh2qdLa9Ki7J6lcJAk,5424
|
135
139
|
pluggy_sdk/models/item.py,sha256=z__AH74riALcam8VE0U_GPCZPH7JrQydR1QeEHvlQRg,7295
|
136
140
|
pluggy_sdk/models/item_creation_error_response.py,sha256=_zdN0Go6iU2deVKxRrexeYlDxWxYfWhjyrxisyQbjUI,3607
|
@@ -196,14 +200,15 @@ pluggy_sdk/models/payroll_loans_list200_response.py,sha256=zG54rlfMAINvraIn48n-1
|
|
196
200
|
pluggy_sdk/models/percentage_over_index.py,sha256=UMM-sXy36J5X_kfVCCy3glXjEGUXJzZxKQM0Ipt05uE,2861
|
197
201
|
pluggy_sdk/models/phone_number.py,sha256=KtNMYqBE9K7Of-gVId3wV9gN9vf1XGbDnv3R_s-QGco,3087
|
198
202
|
pluggy_sdk/models/pix_data.py,sha256=zygIaWicGwI93-q181yHzPVxKBZ7wpuhN70b_KvPm0c,2602
|
199
|
-
pluggy_sdk/models/schedule_payment.py,sha256=
|
203
|
+
pluggy_sdk/models/schedule_payment.py,sha256=KuVZOx_jK6GXJvfZ-fcEONxPrglfZwwcughJoBhm5OQ,3778
|
204
|
+
pluggy_sdk/models/schedule_payment_error_detail.py,sha256=9bqhCPmKOkIKXE6nnjN72PQ28QE9-jJtQZKB8fET-AA,2975
|
200
205
|
pluggy_sdk/models/schedule_type_custom.py,sha256=OIPS53NFeFbQ3rFR030CEdP1E0XY2bJUP4iHc8Iv-q4,3174
|
201
206
|
pluggy_sdk/models/schedule_type_daily.py,sha256=FWFTMERGd8ma9dVmp5oXm2CoXFX0Mxa81huli9Th83g,3145
|
202
207
|
pluggy_sdk/models/schedule_type_monthly.py,sha256=2sXy5AbY_YYqosEYRAk6GK94BuXITFUyNM2cjkSoYfg,3424
|
203
208
|
pluggy_sdk/models/schedule_type_single.py,sha256=4Z7BxTZLi4U989-EdB1DBzxaz_FLjalA2oHgli9EMvU,2915
|
204
209
|
pluggy_sdk/models/schedule_type_weekly.py,sha256=8e20wK6cSTOkCNr8pC8CvG_aqeZ0BRGjgVP1er4z7HQ,3749
|
205
210
|
pluggy_sdk/models/single.py,sha256=gbYj-8Dzspav04aP3b-J_01jJEi4luacnzm4GVr3Rn8,2879
|
206
|
-
pluggy_sdk/models/smart_account.py,sha256=
|
211
|
+
pluggy_sdk/models/smart_account.py,sha256=PnMgxutND-ezmq7otcEOJG_PqooEZ5UgM41YbBE5xwM,3760
|
207
212
|
pluggy_sdk/models/smart_account_address.py,sha256=iSFjlo01nqtRtfsD24h0gABxmUamPfHcW3hzCiCCM5s,4266
|
208
213
|
pluggy_sdk/models/smart_account_balance.py,sha256=FhPmk52iCQfrhTItJl6XQdV7fFIkxQed3H1vrp8o5o8,3217
|
209
214
|
pluggy_sdk/models/smart_account_transfer.py,sha256=UaOK1DFUJXotRZTpF3fhdEtIVrOXka0ItWp7NtWBsC4,5111
|
@@ -216,7 +221,7 @@ pluggy_sdk/models/smart_transfer_preauthorization_parameter.py,sha256=ZhP5Q_7gZo
|
|
216
221
|
pluggy_sdk/models/status_detail.py,sha256=KBztEwpbCqrhNTvntJrRB7QDQHBq2XHtKKNT6tTOEHA,5728
|
217
222
|
pluggy_sdk/models/status_detail_product.py,sha256=u4ywakAifpyDli36JZAUGurLRdN9W4B3EJZ9dutUdd8,3651
|
218
223
|
pluggy_sdk/models/status_detail_product_warning.py,sha256=LFYFdkpQxvS5W2Kj3cxGGvnWhOhLpMYvpUcr8rplVVs,2955
|
219
|
-
pluggy_sdk/models/transaction.py,sha256=
|
224
|
+
pluggy_sdk/models/transaction.py,sha256=cEBiOxkkW3t1KRSwgOCwyhjNnOKW_Wv3KTaAAGMjU_Y,6914
|
220
225
|
pluggy_sdk/models/update_item.py,sha256=3YeJaipa-omyCB3Ux0Mig5fnt_7UrXyiI6yrtZt6wCA,4134
|
221
226
|
pluggy_sdk/models/update_item_parameters.py,sha256=yeIMinw_yVyCr9OxyZcxEe-17zCNNoKK8MkysO7yDcc,5324
|
222
227
|
pluggy_sdk/models/update_payment_recipient.py,sha256=eVnwQqnLsZVqx58FrWriIiVynNnLbHzwizdm2yLZbAE,3976
|
@@ -226,7 +231,7 @@ pluggy_sdk/models/webhook.py,sha256=2KV31zqFfHMzYzdrfVW7Sam6BsKigdQnPOKjsRiFYqI,
|
|
226
231
|
pluggy_sdk/models/webhook_creation_error_response.py,sha256=SMvNMvJANk1NTn9BEugfwRtnEsJuoMsFo8tVvci3ayw,2681
|
227
232
|
pluggy_sdk/models/webhooks_list200_response.py,sha256=_C8cwBIpZZrODNt-BS_pwAyBjZPxls6ffsy8vqYA6RU,3384
|
228
233
|
pluggy_sdk/models/weekly.py,sha256=rEjJdwn52bBC5sNRUoWsMQ2uoaX7tDz68R5OOgBF1uw,4096
|
229
|
-
pluggy_sdk-1.0.0.
|
230
|
-
pluggy_sdk-1.0.0.
|
231
|
-
pluggy_sdk-1.0.0.
|
232
|
-
pluggy_sdk-1.0.0.
|
234
|
+
pluggy_sdk-1.0.0.post40.dist-info/METADATA,sha256=srBg7Zma55-23eMX-e52W4C_sDsTF1-DfVphpAuSZJE,24983
|
235
|
+
pluggy_sdk-1.0.0.post40.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
236
|
+
pluggy_sdk-1.0.0.post40.dist-info/top_level.txt,sha256=4RLkSSAcNiYLnk0_CN2vRQoezuSTIa7VPuNnaVutZP0,11
|
237
|
+
pluggy_sdk-1.0.0.post40.dist-info/RECORD,,
|
File without changes
|