kard-financial-sdk 0.0.82__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.
- kard/__init__.py +579 -0
- kard/auth/__init__.py +34 -0
- kard/auth/client.py +121 -0
- kard/auth/raw_client.py +108 -0
- kard/auth/types/__init__.py +34 -0
- kard/auth/types/token_response.py +25 -0
- kard/client.py +416 -0
- kard/commons/__init__.py +120 -0
- kard/commons/errors/__init__.py +44 -0
- kard/commons/errors/conflict_error.py +11 -0
- kard/commons/errors/does_not_exist_error.py +11 -0
- kard/commons/errors/internal_server_error.py +11 -0
- kard/commons/errors/invalid_request.py +11 -0
- kard/commons/errors/unauthorized_error.py +11 -0
- kard/commons/types/__init__.py +107 -0
- kard/commons/types/category_option.py +26 -0
- kard/commons/types/commission_type.py +5 -0
- kard/commons/types/commission_value.py +28 -0
- kard/commons/types/commission_value_type.py +5 -0
- kard/commons/types/empty_object.py +17 -0
- kard/commons/types/enrolled_rewards_type.py +5 -0
- kard/commons/types/error_object.py +43 -0
- kard/commons/types/error_response.py +20 -0
- kard/commons/types/error_source.py +32 -0
- kard/commons/types/job.py +24 -0
- kard/commons/types/job_response.py +27 -0
- kard/commons/types/job_status.py +5 -0
- kard/commons/types/links.py +27 -0
- kard/commons/types/mongo_id.py +3 -0
- kard/commons/types/notification_type.py +19 -0
- kard/commons/types/organization_id.py +3 -0
- kard/commons/types/purchase_channel.py +5 -0
- kard/commons/types/relationship_data.py +24 -0
- kard/commons/types/relationship_multiple.py +20 -0
- kard/commons/types/relationship_single.py +20 -0
- kard/commons/types/resource_type.py +3 -0
- kard/commons/types/state.py +68 -0
- kard/commons/types/subscription_id.py +3 -0
- kard/commons/types/user_id.py +3 -0
- kard/core/__init__.py +105 -0
- kard/core/api_error.py +23 -0
- kard/core/client_wrapper.py +97 -0
- kard/core/datetime_utils.py +28 -0
- kard/core/file.py +67 -0
- kard/core/force_multipart.py +18 -0
- kard/core/http_client.py +613 -0
- kard/core/http_response.py +55 -0
- kard/core/http_sse/__init__.py +42 -0
- kard/core/http_sse/_api.py +112 -0
- kard/core/http_sse/_decoders.py +61 -0
- kard/core/http_sse/_exceptions.py +7 -0
- kard/core/http_sse/_models.py +17 -0
- kard/core/jsonable_encoder.py +100 -0
- kard/core/oauth_token_provider.py +73 -0
- kard/core/pydantic_utilities.py +260 -0
- kard/core/query_encoder.py +58 -0
- kard/core/remove_none_from_dict.py +11 -0
- kard/core/request_options.py +35 -0
- kard/core/serialization.py +276 -0
- kard/environment.py +8 -0
- kard/files/__init__.py +58 -0
- kard/files/client.py +213 -0
- kard/files/errors/__init__.py +34 -0
- kard/files/errors/forbidden_error.py +11 -0
- kard/files/raw_client.py +278 -0
- kard/files/types/__init__.py +53 -0
- kard/files/types/file_metadata_attribute.py +39 -0
- kard/files/types/file_metadata_with_url.py +34 -0
- kard/files/types/file_type.py +13 -0
- kard/files/types/files_metadata_sort_options.py +5 -0
- kard/files/types/get_files_metadata_response.py +71 -0
- kard/files/types/pagination_meta.py +29 -0
- kard/notifications/__init__.py +279 -0
- kard/notifications/client.py +63 -0
- kard/notifications/raw_client.py +13 -0
- kard/notifications/subscriptions/__init__.py +97 -0
- kard/notifications/subscriptions/client.py +372 -0
- kard/notifications/subscriptions/raw_client.py +581 -0
- kard/notifications/subscriptions/types/__init__.py +94 -0
- kard/notifications/subscriptions/types/create_subscription_union.py +27 -0
- kard/notifications/subscriptions/types/create_subscriptions_response_object.py +43 -0
- kard/notifications/subscriptions/types/created_subscription.py +23 -0
- kard/notifications/subscriptions/types/subscription.py +25 -0
- kard/notifications/subscriptions/types/subscription_attributes.py +35 -0
- kard/notifications/subscriptions/types/subscription_request.py +20 -0
- kard/notifications/subscriptions/types/subscription_request_attributes.py +35 -0
- kard/notifications/subscriptions/types/subscription_request_body.py +42 -0
- kard/notifications/subscriptions/types/subscription_request_union.py +26 -0
- kard/notifications/subscriptions/types/subscription_union.py +27 -0
- kard/notifications/subscriptions/types/subscriptions_response_object.py +43 -0
- kard/notifications/subscriptions/types/update_subscription_request.py +20 -0
- kard/notifications/subscriptions/types/update_subscription_request_attributes.py +39 -0
- kard/notifications/subscriptions/types/update_subscription_request_body.py +40 -0
- kard/notifications/subscriptions/types/update_subscription_request_union.py +26 -0
- kard/notifications/subscriptions/types/update_subscriptions_response_object.py +41 -0
- kard/notifications/types/__init__.py +214 -0
- kard/notifications/types/audit_update_attributes.py +88 -0
- kard/notifications/types/audit_update_data.py +27 -0
- kard/notifications/types/audit_update_relationships.py +21 -0
- kard/notifications/types/broker_amount.py +28 -0
- kard/notifications/types/broker_amount_type.py +5 -0
- kard/notifications/types/broker_asset.py +33 -0
- kard/notifications/types/broker_asset_type.py +5 -0
- kard/notifications/types/broker_operation_hours.py +30 -0
- kard/notifications/types/broker_operation_period.py +28 -0
- kard/notifications/types/broker_purchase_channel.py +5 -0
- kard/notifications/types/broker_reward.py +28 -0
- kard/notifications/types/broker_reward_type.py +5 -0
- kard/notifications/types/clawback_data.py +27 -0
- kard/notifications/types/earned_reward_approved_data.py +27 -0
- kard/notifications/types/earned_reward_attributes.py +18 -0
- kard/notifications/types/earned_reward_relationships.py +21 -0
- kard/notifications/types/earned_reward_settled_attributes.py +23 -0
- kard/notifications/types/earned_reward_settled_data.py +27 -0
- kard/notifications/types/failed_transaction_attributes.py +41 -0
- kard/notifications/types/failed_transaction_data.py +27 -0
- kard/notifications/types/failed_transaction_relationships.py +22 -0
- kard/notifications/types/location_address.py +39 -0
- kard/notifications/types/location_coordinates.py +27 -0
- kard/notifications/types/location_status.py +5 -0
- kard/notifications/types/merchant_source.py +5 -0
- kard/notifications/types/notification_data_union.py +203 -0
- kard/notifications/types/notification_metadata.py +22 -0
- kard/notifications/types/notification_payload.py +65 -0
- kard/notifications/types/offer_status.py +5 -0
- kard/notifications/types/offer_type.py +5 -0
- kard/notifications/types/reward_notification_attributes.py +48 -0
- kard/notifications/types/time_period.py +27 -0
- kard/notifications/types/transaction_relationships.py +22 -0
- kard/notifications/types/user_offer_status.py +5 -0
- kard/notifications/types/valid_transaction_attributes.py +25 -0
- kard/notifications/types/valid_transaction_commission_earned.py +21 -0
- kard/notifications/types/valid_transaction_data.py +27 -0
- kard/notifications/types/webhook_locations_attributes.py +71 -0
- kard/notifications/types/webhook_locations_data.py +27 -0
- kard/notifications/types/webhook_locations_relationships.py +20 -0
- kard/notifications/types/webhook_merchant_attributes.py +67 -0
- kard/notifications/types/webhook_merchant_data.py +27 -0
- kard/notifications/types/webhook_merchant_relationships.py +20 -0
- kard/notifications/types/webhook_offer_attributes.py +143 -0
- kard/notifications/types/webhook_offer_data.py +27 -0
- kard/notifications/types/webhook_offer_relationships.py +20 -0
- kard/notifications/types/webhook_user_offer_attributes.py +41 -0
- kard/notifications/types/webhook_user_offer_data.py +27 -0
- kard/notifications/types/webhook_user_offer_relationships.py +21 -0
- kard/ping/__init__.py +39 -0
- kard/ping/client.py +100 -0
- kard/ping/errors/__init__.py +34 -0
- kard/ping/errors/network_blocked_error.py +11 -0
- kard/ping/raw_client.py +113 -0
- kard/ping/types/__init__.py +38 -0
- kard/ping/types/network_blocked_error_body.py +34 -0
- kard/ping/types/ping_response_object.py +46 -0
- kard/py.typed +0 -0
- kard/transactions/__init__.py +212 -0
- kard/transactions/client.py +639 -0
- kard/transactions/errors/__init__.py +40 -0
- kard/transactions/errors/create_audit_multi_status.py +11 -0
- kard/transactions/errors/create_incoming_transactions_multi_status.py +11 -0
- kard/transactions/errors/fraud_multi_status.py +11 -0
- kard/transactions/raw_client.py +925 -0
- kard/transactions/types/__init__.py +199 -0
- kard/transactions/types/audit_attributes.py +44 -0
- kard/transactions/types/audit_request_data.py +20 -0
- kard/transactions/types/audit_response_attributes.py +24 -0
- kard/transactions/types/audit_response_data.py +25 -0
- kard/transactions/types/audit_status.py +5 -0
- kard/transactions/types/card_network.py +5 -0
- kard/transactions/types/commission_earned_details.py +21 -0
- kard/transactions/types/create_audit_multi_status_response.py +21 -0
- kard/transactions/types/create_audit_request_body.py +43 -0
- kard/transactions/types/create_audit_request_data_union.py +26 -0
- kard/transactions/types/create_audit_response_body.py +41 -0
- kard/transactions/types/create_audit_response_data_union.py +27 -0
- kard/transactions/types/direction_type.py +5 -0
- kard/transactions/types/fraudulent_transaction_attributes.py +24 -0
- kard/transactions/types/fraudulent_transaction_data.py +30 -0
- kard/transactions/types/fraudulent_transaction_object.py +42 -0
- kard/transactions/types/fraudulent_transaction_request_body.py +45 -0
- kard/transactions/types/fraudulent_transaction_response.py +21 -0
- kard/transactions/types/get_earned_rewards_response.py +133 -0
- kard/transactions/types/matched_transactions_attributes.py +156 -0
- kard/transactions/types/matched_transactions_request.py +25 -0
- kard/transactions/types/merchant.py +82 -0
- kard/transactions/types/payment_status.py +5 -0
- kard/transactions/types/payment_type.py +5 -0
- kard/transactions/types/processor_mid.py +26 -0
- kard/transactions/types/receipt_medium_type.py +5 -0
- kard/transactions/types/rewarded_transaction.py +27 -0
- kard/transactions/types/rewarded_transaction_attributes.py +74 -0
- kard/transactions/types/rewarded_transaction_relationships.py +22 -0
- kard/transactions/types/rewarded_transaction_status.py +5 -0
- kard/transactions/types/rewarded_transaction_union.py +29 -0
- kard/transactions/types/states.py +68 -0
- kard/transactions/types/transaction_included_resource.py +47 -0
- kard/transactions/types/transaction_merchant_attributes.py +22 -0
- kard/transactions/types/transaction_merchant_resource.py +28 -0
- kard/transactions/types/transaction_offer_attributes.py +26 -0
- kard/transactions/types/transaction_offer_resource.py +28 -0
- kard/transactions/types/transaction_payment_type.py +5 -0
- kard/transactions/types/transaction_status.py +5 -0
- kard/transactions/types/transactions.py +46 -0
- kard/transactions/types/transactions_attributes.py +198 -0
- kard/transactions/types/transactions_multi_response.py +21 -0
- kard/transactions/types/transactions_request.py +25 -0
- kard/transactions/types/transactions_request_body.py +90 -0
- kard/transactions/types/transactions_response.py +38 -0
- kard/transactions/types/transactions_response_data.py +27 -0
- kard/transactions/types/visa_mid.py +23 -0
- kard/transactions/types/visa_mid_details.py +27 -0
- kard/users/__init__.py +293 -0
- kard/users/attributions/__init__.py +73 -0
- kard/users/attributions/client.py +229 -0
- kard/users/attributions/raw_client.py +215 -0
- kard/users/attributions/types/__init__.py +73 -0
- kard/users/attributions/types/create_attribution_request_object.py +75 -0
- kard/users/attributions/types/create_attribution_request_union.py +45 -0
- kard/users/attributions/types/create_attribution_response.py +38 -0
- kard/users/attributions/types/event_code.py +5 -0
- kard/users/attributions/types/notification_attribution_attributes.py +35 -0
- kard/users/attributions/types/notification_attribution_request.py +20 -0
- kard/users/attributions/types/notification_medium.py +5 -0
- kard/users/attributions/types/offer_attribution_attributes.py +35 -0
- kard/users/attributions/types/offer_attribution_request.py +20 -0
- kard/users/attributions/types/offer_medium.py +5 -0
- kard/users/client.py +512 -0
- kard/users/errors/__init__.py +34 -0
- kard/users/errors/multi_status.py +11 -0
- kard/users/raw_client.py +783 -0
- kard/users/rewards/__init__.py +133 -0
- kard/users/rewards/client.py +448 -0
- kard/users/rewards/raw_client.py +587 -0
- kard/users/rewards/types/__init__.py +130 -0
- kard/users/rewards/types/amount.py +21 -0
- kard/users/rewards/types/amount_type.py +5 -0
- kard/users/rewards/types/asset.py +28 -0
- kard/users/rewards/types/category_data.py +18 -0
- kard/users/rewards/types/category_fields.py +23 -0
- kard/users/rewards/types/category_identifier.py +24 -0
- kard/users/rewards/types/category_included.py +21 -0
- kard/users/rewards/types/category_relationship.py +20 -0
- kard/users/rewards/types/category_relationship_object.py +20 -0
- kard/users/rewards/types/commission.py +21 -0
- kard/users/rewards/types/coordinates.py +20 -0
- kard/users/rewards/types/eligibility_location_address.py +24 -0
- kard/users/rewards/types/eligibility_location_included.py +8 -0
- kard/users/rewards/types/eligibility_offer_included.py +7 -0
- kard/users/rewards/types/eligibility_offer_relationship.py +7 -0
- kard/users/rewards/types/location_attributes.py +28 -0
- kard/users/rewards/types/location_data.py +32 -0
- kard/users/rewards/types/location_relationships.py +18 -0
- kard/users/rewards/types/location_sort_options.py +5 -0
- kard/users/rewards/types/locations_response_object.py +215 -0
- kard/users/rewards/types/offer_common_fields.py +103 -0
- kard/users/rewards/types/offer_data_union.py +30 -0
- kard/users/rewards/types/offer_relationship.py +21 -0
- kard/users/rewards/types/offer_sort_options.py +7 -0
- kard/users/rewards/types/offers_response_object.py +130 -0
- kard/users/rewards/types/operation_hours.py +23 -0
- kard/users/rewards/types/operation_period.py +21 -0
- kard/users/rewards/types/operation_time.py +20 -0
- kard/users/rewards/types/standard_offer.py +21 -0
- kard/users/rewards/types/standard_offer_core.py +26 -0
- kard/users/rewards/types/standard_offer_fields.py +18 -0
- kard/users/types/__init__.py +66 -0
- kard/users/types/create_users_multi_status_response.py +21 -0
- kard/users/types/create_users_object.py +42 -0
- kard/users/types/delete_user_response_object.py +34 -0
- kard/users/types/update_user_object.py +40 -0
- kard/users/types/user_request_attributes.py +60 -0
- kard/users/types/user_request_data.py +22 -0
- kard/users/types/user_request_data_union.py +28 -0
- kard/users/types/user_response_no_data.py +22 -0
- kard/users/types/user_response_union_no_data.py +28 -0
- kard/users/uploads/__init__.py +112 -0
- kard/users/uploads/client.py +484 -0
- kard/users/uploads/errors/__init__.py +34 -0
- kard/users/uploads/errors/upload_part_multi_status.py +13 -0
- kard/users/uploads/raw_client.py +625 -0
- kard/users/uploads/types/__init__.py +119 -0
- kard/users/uploads/types/create_upload_part_data_union.py +27 -0
- kard/users/uploads/types/create_upload_part_multi_status_response.py +21 -0
- kard/users/uploads/types/create_upload_part_request_object.py +74 -0
- kard/users/uploads/types/create_upload_part_response_data.py +25 -0
- kard/users/uploads/types/create_upload_part_response_data_union.py +27 -0
- kard/users/uploads/types/create_upload_part_response_object.py +39 -0
- kard/users/uploads/types/create_upload_request_data_union.py +26 -0
- kard/users/uploads/types/create_upload_request_object.py +36 -0
- kard/users/uploads/types/create_upload_response_data.py +25 -0
- kard/users/uploads/types/create_upload_response_data_union.py +27 -0
- kard/users/uploads/types/create_upload_response_object.py +37 -0
- kard/users/uploads/types/historical_transaction_complete_no_data.py +25 -0
- kard/users/uploads/types/start_historical_upload_no_data.py +20 -0
- kard/users/uploads/types/update_upload_request_data_union.py +27 -0
- kard/users/uploads/types/update_upload_request_object.py +37 -0
- kard/users/uploads/types/update_upload_response_data.py +25 -0
- kard/users/uploads/types/update_upload_response_data_union.py +27 -0
- kard/users/uploads/types/update_upload_response_object.py +37 -0
- kard/version.py +3 -0
- kard_financial_sdk-0.0.82.dist-info/METADATA +238 -0
- kard_financial_sdk-0.0.82.dist-info/RECORD +302 -0
- kard_financial_sdk-0.0.82.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .earned_reward_relationships import EarnedRewardRelationships
|
|
8
|
+
from .earned_reward_settled_attributes import EarnedRewardSettledAttributes
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class EarnedRewardSettledData(UniversalBaseModel):
|
|
12
|
+
id: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The internal ID of the notification
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
attributes: EarnedRewardSettledAttributes
|
|
18
|
+
relationships: EarnedRewardRelationships
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FailedTransactionAttributes(UniversalBaseModel):
|
|
12
|
+
message: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The display message associated to the notification
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
reason: str = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The reason for the transaction failure
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
name: str = pydantic.Field()
|
|
23
|
+
"""
|
|
24
|
+
The name of the merchant
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
card_product_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="cardProductId")] = (
|
|
28
|
+
pydantic.Field(default=None)
|
|
29
|
+
)
|
|
30
|
+
"""
|
|
31
|
+
The ID of the card product
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .failed_transaction_attributes import FailedTransactionAttributes
|
|
8
|
+
from .failed_transaction_relationships import FailedTransactionRelationships
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FailedTransactionData(UniversalBaseModel):
|
|
12
|
+
id: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The internal ID of the notification
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
attributes: FailedTransactionAttributes
|
|
18
|
+
relationships: FailedTransactionRelationships
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...commons.types.relationship_single import RelationshipSingle
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FailedTransactionRelationships(UniversalBaseModel):
|
|
11
|
+
user: RelationshipSingle
|
|
12
|
+
offer: RelationshipSingle
|
|
13
|
+
transaction: RelationshipSingle
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LocationAddress(UniversalBaseModel):
|
|
12
|
+
street: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The street address
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
city: str = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The city
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
state: str = pydantic.Field()
|
|
23
|
+
"""
|
|
24
|
+
The state or province
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
zip_code: typing_extensions.Annotated[str, FieldMetadata(alias="zipCode")] = pydantic.Field()
|
|
28
|
+
"""
|
|
29
|
+
The postal or ZIP code
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
if IS_PYDANTIC_V2:
|
|
33
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
34
|
+
else:
|
|
35
|
+
|
|
36
|
+
class Config:
|
|
37
|
+
frozen = True
|
|
38
|
+
smart_union = True
|
|
39
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LocationCoordinates(UniversalBaseModel):
|
|
10
|
+
longitude: float = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
The longitude coordinate
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
latitude: float = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
The latitude coordinate
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
|
|
7
|
+
import pydantic
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
10
|
+
from .audit_update_attributes import AuditUpdateAttributes
|
|
11
|
+
from .audit_update_relationships import AuditUpdateRelationships
|
|
12
|
+
from .earned_reward_attributes import EarnedRewardAttributes
|
|
13
|
+
from .earned_reward_relationships import EarnedRewardRelationships
|
|
14
|
+
from .earned_reward_settled_attributes import EarnedRewardSettledAttributes
|
|
15
|
+
from .failed_transaction_attributes import FailedTransactionAttributes
|
|
16
|
+
from .failed_transaction_relationships import FailedTransactionRelationships
|
|
17
|
+
from .transaction_relationships import TransactionRelationships
|
|
18
|
+
from .valid_transaction_attributes import ValidTransactionAttributes
|
|
19
|
+
from .webhook_locations_attributes import WebhookLocationsAttributes
|
|
20
|
+
from .webhook_locations_relationships import WebhookLocationsRelationships
|
|
21
|
+
from .webhook_merchant_attributes import WebhookMerchantAttributes
|
|
22
|
+
from .webhook_merchant_relationships import WebhookMerchantRelationships
|
|
23
|
+
from .webhook_offer_attributes import WebhookOfferAttributes
|
|
24
|
+
from .webhook_offer_relationships import WebhookOfferRelationships
|
|
25
|
+
from .webhook_user_offer_attributes import WebhookUserOfferAttributes
|
|
26
|
+
from .webhook_user_offer_relationships import WebhookUserOfferRelationships
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class NotificationDataUnion_EarnedRewardApproved(UniversalBaseModel):
|
|
30
|
+
type: typing.Literal["earnedRewardApproved"] = "earnedRewardApproved"
|
|
31
|
+
id: str
|
|
32
|
+
attributes: EarnedRewardAttributes
|
|
33
|
+
relationships: EarnedRewardRelationships
|
|
34
|
+
|
|
35
|
+
if IS_PYDANTIC_V2:
|
|
36
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
37
|
+
else:
|
|
38
|
+
|
|
39
|
+
class Config:
|
|
40
|
+
frozen = True
|
|
41
|
+
smart_union = True
|
|
42
|
+
extra = pydantic.Extra.allow
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class NotificationDataUnion_EarnedRewardSettled(UniversalBaseModel):
|
|
46
|
+
type: typing.Literal["earnedRewardSettled"] = "earnedRewardSettled"
|
|
47
|
+
id: str
|
|
48
|
+
attributes: EarnedRewardSettledAttributes
|
|
49
|
+
relationships: EarnedRewardRelationships
|
|
50
|
+
|
|
51
|
+
if IS_PYDANTIC_V2:
|
|
52
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
53
|
+
else:
|
|
54
|
+
|
|
55
|
+
class Config:
|
|
56
|
+
frozen = True
|
|
57
|
+
smart_union = True
|
|
58
|
+
extra = pydantic.Extra.allow
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class NotificationDataUnion_ValidTransaction(UniversalBaseModel):
|
|
62
|
+
type: typing.Literal["validTransaction"] = "validTransaction"
|
|
63
|
+
id: str
|
|
64
|
+
attributes: ValidTransactionAttributes
|
|
65
|
+
relationships: TransactionRelationships
|
|
66
|
+
|
|
67
|
+
if IS_PYDANTIC_V2:
|
|
68
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
69
|
+
else:
|
|
70
|
+
|
|
71
|
+
class Config:
|
|
72
|
+
frozen = True
|
|
73
|
+
smart_union = True
|
|
74
|
+
extra = pydantic.Extra.allow
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class NotificationDataUnion_FailedTransaction(UniversalBaseModel):
|
|
78
|
+
type: typing.Literal["failedTransaction"] = "failedTransaction"
|
|
79
|
+
id: str
|
|
80
|
+
attributes: FailedTransactionAttributes
|
|
81
|
+
relationships: FailedTransactionRelationships
|
|
82
|
+
|
|
83
|
+
if IS_PYDANTIC_V2:
|
|
84
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
85
|
+
else:
|
|
86
|
+
|
|
87
|
+
class Config:
|
|
88
|
+
frozen = True
|
|
89
|
+
smart_union = True
|
|
90
|
+
extra = pydantic.Extra.allow
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class NotificationDataUnion_Clawback(UniversalBaseModel):
|
|
94
|
+
type: typing.Literal["clawback"] = "clawback"
|
|
95
|
+
id: str
|
|
96
|
+
attributes: FailedTransactionAttributes
|
|
97
|
+
relationships: FailedTransactionRelationships
|
|
98
|
+
|
|
99
|
+
if IS_PYDANTIC_V2:
|
|
100
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
101
|
+
else:
|
|
102
|
+
|
|
103
|
+
class Config:
|
|
104
|
+
frozen = True
|
|
105
|
+
smart_union = True
|
|
106
|
+
extra = pydantic.Extra.allow
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class NotificationDataUnion_Offer(UniversalBaseModel):
|
|
110
|
+
type: typing.Literal["offer"] = "offer"
|
|
111
|
+
id: str
|
|
112
|
+
attributes: WebhookOfferAttributes
|
|
113
|
+
relationships: WebhookOfferRelationships
|
|
114
|
+
|
|
115
|
+
if IS_PYDANTIC_V2:
|
|
116
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
117
|
+
else:
|
|
118
|
+
|
|
119
|
+
class Config:
|
|
120
|
+
frozen = True
|
|
121
|
+
smart_union = True
|
|
122
|
+
extra = pydantic.Extra.allow
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class NotificationDataUnion_Merchant(UniversalBaseModel):
|
|
126
|
+
type: typing.Literal["merchant"] = "merchant"
|
|
127
|
+
id: str
|
|
128
|
+
attributes: WebhookMerchantAttributes
|
|
129
|
+
relationships: WebhookMerchantRelationships
|
|
130
|
+
|
|
131
|
+
if IS_PYDANTIC_V2:
|
|
132
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
133
|
+
else:
|
|
134
|
+
|
|
135
|
+
class Config:
|
|
136
|
+
frozen = True
|
|
137
|
+
smart_union = True
|
|
138
|
+
extra = pydantic.Extra.allow
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class NotificationDataUnion_Location(UniversalBaseModel):
|
|
142
|
+
type: typing.Literal["location"] = "location"
|
|
143
|
+
id: str
|
|
144
|
+
attributes: WebhookLocationsAttributes
|
|
145
|
+
relationships: WebhookLocationsRelationships
|
|
146
|
+
|
|
147
|
+
if IS_PYDANTIC_V2:
|
|
148
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
149
|
+
else:
|
|
150
|
+
|
|
151
|
+
class Config:
|
|
152
|
+
frozen = True
|
|
153
|
+
smart_union = True
|
|
154
|
+
extra = pydantic.Extra.allow
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class NotificationDataUnion_UserOffer(UniversalBaseModel):
|
|
158
|
+
type: typing.Literal["userOffer"] = "userOffer"
|
|
159
|
+
id: str
|
|
160
|
+
attributes: WebhookUserOfferAttributes
|
|
161
|
+
relationships: WebhookUserOfferRelationships
|
|
162
|
+
|
|
163
|
+
if IS_PYDANTIC_V2:
|
|
164
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
165
|
+
else:
|
|
166
|
+
|
|
167
|
+
class Config:
|
|
168
|
+
frozen = True
|
|
169
|
+
smart_union = True
|
|
170
|
+
extra = pydantic.Extra.allow
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
class NotificationDataUnion_AuditUpdate(UniversalBaseModel):
|
|
174
|
+
type: typing.Literal["auditUpdate"] = "auditUpdate"
|
|
175
|
+
id: str
|
|
176
|
+
attributes: AuditUpdateAttributes
|
|
177
|
+
relationships: AuditUpdateRelationships
|
|
178
|
+
|
|
179
|
+
if IS_PYDANTIC_V2:
|
|
180
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
181
|
+
else:
|
|
182
|
+
|
|
183
|
+
class Config:
|
|
184
|
+
frozen = True
|
|
185
|
+
smart_union = True
|
|
186
|
+
extra = pydantic.Extra.allow
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
NotificationDataUnion = typing_extensions.Annotated[
|
|
190
|
+
typing.Union[
|
|
191
|
+
NotificationDataUnion_EarnedRewardApproved,
|
|
192
|
+
NotificationDataUnion_EarnedRewardSettled,
|
|
193
|
+
NotificationDataUnion_ValidTransaction,
|
|
194
|
+
NotificationDataUnion_FailedTransaction,
|
|
195
|
+
NotificationDataUnion_Clawback,
|
|
196
|
+
NotificationDataUnion_Offer,
|
|
197
|
+
NotificationDataUnion_Merchant,
|
|
198
|
+
NotificationDataUnion_Location,
|
|
199
|
+
NotificationDataUnion_UserOffer,
|
|
200
|
+
NotificationDataUnion_AuditUpdate,
|
|
201
|
+
],
|
|
202
|
+
pydantic.Field(discriminator="type"),
|
|
203
|
+
]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class NotificationMetadata(UniversalBaseModel):
|
|
12
|
+
issuer_id: typing_extensions.Annotated[str, FieldMetadata(alias="issuerId")]
|
|
13
|
+
issuer_name: typing_extensions.Annotated[str, FieldMetadata(alias="issuerName")]
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .notification_data_union import NotificationDataUnion
|
|
8
|
+
from .notification_metadata import NotificationMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class NotificationPayload(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Examples
|
|
14
|
+
--------
|
|
15
|
+
from kard.commons import CommissionValue, RelationshipData, RelationshipSingle
|
|
16
|
+
from kard.notifications import (
|
|
17
|
+
EarnedRewardRelationships,
|
|
18
|
+
EarnedRewardSettledAttributes,
|
|
19
|
+
NotificationDataUnion_EarnedRewardSettled,
|
|
20
|
+
NotificationPayload,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
NotificationPayload(
|
|
24
|
+
data=NotificationDataUnion_EarnedRewardSettled(
|
|
25
|
+
id="d80a6f28-1b24-4d65-9e42-e1cf3379bc98",
|
|
26
|
+
attributes=EarnedRewardSettledAttributes(
|
|
27
|
+
message="You have earned a 72 cent reward on your transaction at McDonald's",
|
|
28
|
+
name="McDonald's",
|
|
29
|
+
commission_earned=CommissionValue(
|
|
30
|
+
type="cents",
|
|
31
|
+
value=72,
|
|
32
|
+
),
|
|
33
|
+
attribution_url="www.attribution.com/token",
|
|
34
|
+
survey_url="www.survey.com",
|
|
35
|
+
card_product_id="card_product_123",
|
|
36
|
+
),
|
|
37
|
+
relationships=EarnedRewardRelationships(
|
|
38
|
+
user=RelationshipSingle(
|
|
39
|
+
data=RelationshipData(
|
|
40
|
+
type="user",
|
|
41
|
+
id="1234567890",
|
|
42
|
+
),
|
|
43
|
+
),
|
|
44
|
+
transaction=RelationshipSingle(
|
|
45
|
+
data=RelationshipData(
|
|
46
|
+
type="transaction",
|
|
47
|
+
id="0987654321",
|
|
48
|
+
),
|
|
49
|
+
),
|
|
50
|
+
),
|
|
51
|
+
),
|
|
52
|
+
)
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
data: NotificationDataUnion
|
|
56
|
+
meta: typing.Optional[NotificationMetadata] = None
|
|
57
|
+
|
|
58
|
+
if IS_PYDANTIC_V2:
|
|
59
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
60
|
+
else:
|
|
61
|
+
|
|
62
|
+
class Config:
|
|
63
|
+
frozen = True
|
|
64
|
+
smart_union = True
|
|
65
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RewardNotificationAttributes(UniversalBaseModel):
|
|
12
|
+
message: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The display message associated to the notification
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
name: str = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The name of the merchant
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
attribution_url: typing_extensions.Annotated[str, FieldMetadata(alias="attributionUrl")] = pydantic.Field()
|
|
23
|
+
"""
|
|
24
|
+
The attribution URL to track user's interactions with the notification
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
survey_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="surveyUrl")] = pydantic.Field(
|
|
28
|
+
default=None
|
|
29
|
+
)
|
|
30
|
+
"""
|
|
31
|
+
Post experience survey URL, if available. This will be present for rewards associated with local offers.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
card_product_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="cardProductId")] = (
|
|
35
|
+
pydantic.Field(default=None)
|
|
36
|
+
)
|
|
37
|
+
"""
|
|
38
|
+
The ID of the card product
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
if IS_PYDANTIC_V2:
|
|
42
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
43
|
+
else:
|
|
44
|
+
|
|
45
|
+
class Config:
|
|
46
|
+
frozen = True
|
|
47
|
+
smart_union = True
|
|
48
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TimePeriod(UniversalBaseModel):
|
|
10
|
+
day: int = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
Day of week (0=Sunday, 1=Monday, etc.)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
time: str = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
Time in 24-hour format (e.g. "0900" for 9:00 AM)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...commons.types.relationship_single import RelationshipSingle
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TransactionRelationships(UniversalBaseModel):
|
|
11
|
+
user: RelationshipSingle
|
|
12
|
+
offer: RelationshipSingle
|
|
13
|
+
transaction: RelationshipSingle
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .reward_notification_attributes import RewardNotificationAttributes
|
|
10
|
+
from .valid_transaction_commission_earned import ValidTransactionCommissionEarned
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ValidTransactionAttributes(RewardNotificationAttributes):
|
|
14
|
+
commission_earned: typing_extensions.Annotated[
|
|
15
|
+
ValidTransactionCommissionEarned, FieldMetadata(alias="commissionEarned")
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
if IS_PYDANTIC_V2:
|
|
19
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
20
|
+
else:
|
|
21
|
+
|
|
22
|
+
class Config:
|
|
23
|
+
frozen = True
|
|
24
|
+
smart_union = True
|
|
25
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...commons.types.commission_value import CommissionValue
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ValidTransactionCommissionEarned(UniversalBaseModel):
|
|
11
|
+
issuer: CommissionValue
|
|
12
|
+
user: CommissionValue
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|