tremendous-python 5.16.0__tar.gz → 5.18.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tremendous_python-5.16.0/tremendous_python.egg-info → tremendous_python-5.18.0}/PKG-INFO +1 -1
- tremendous_python-5.18.0/pyproject.toml +30 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/__init__.py +6 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/api/tremendous_api.py +12 -12
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/__init__.py +6 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/campaign.py +12 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/campaign_base.py +12 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/connected_organization.py +13 -2
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_campaign_request.py +12 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_request.py +9 -3
- tremendous_python-5.18.0/tremendous/models/create_connected_organization_request_kyb.py +104 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order200_response_order_rewards_inner_delivery.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delivery_details.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delivery_details_with_link.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delivery_method.py +1 -1
- tremendous_python-5.18.0/tremendous/models/fraud_config_review_vpn.py +88 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_base.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_list_item.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_reason.py +1 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule_request_config.py +25 -10
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule_type.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rules_list_item.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_fraud_review200_response_fraud_review.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_campaigns200_response_campaigns_inner.py +12 -1
- tremendous_python-5.18.0/tremendous/models/list_campaigns200_response_campaigns_inner_auto_add_product_rule.py +93 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organizations200_response_connected_organizations_inner.py +13 -2
- tremendous_python-5.18.0/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details.py +104 -0
- tremendous_python-5.18.0/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details_address.py +94 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response_products_inner.py +3 -3
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response_rewards_inner_delivery.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/product.py +3 -3
- tremendous_python-5.18.0/tremendous/models/review_vpn.py +88 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_with_link_delivery.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_without_link_delivery.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_reward_delivery.py +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/update_campaign.py +12 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/update_campaign_request.py +12 -1
- tremendous_python-5.18.0/tremendous/version.py +1 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0/tremendous_python.egg-info}/PKG-INFO +1 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous_python.egg-info/SOURCES.txt +6 -0
- tremendous_python-5.16.0/pyproject.toml +0 -69
- tremendous_python-5.16.0/tremendous/version.py +0 -1
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/LICENSE +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/README.md +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/setup.cfg +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/setup.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_campaigns.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_funding_sources.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_invoices.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_members.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_orders.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/test/test_products.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/api/__init__.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/api_client.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/api_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/configuration.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/exceptions.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/allow_email.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/allow_email1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/allow_ip.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/allow_ip1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/balance_transaction.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/balance_transaction_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/balance_transaction_order_payment.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/base_order_for_create.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/channel.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/connected_organization_member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/connected_organization_member_member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/connected_organization_member_session.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/connected_organization_organization.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_api_key200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_campaign200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_campaign201_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_member200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_member_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_member_session200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_member_session200_response_connected_organization_member_session.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_connected_organization_member_session_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_field.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_field200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_field_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_field_request_data.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_invoice200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_invoice_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_member200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_member_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order200_response_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order200_response_order_rewards_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order201_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_order_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization200_response_organization.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization_for_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization_properties.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_organization_request_copy_settings.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report200_response_report.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report201_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report201_response_report.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report_request_filters.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report_request_filters_digital_rewards.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report_request_filters_digital_rewards_amount.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_report_request_filters_digital_rewards_created_at.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_topup200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_topup_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_webhook200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/create_webhook_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/currency_codes.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/custom_field.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delete_fraud_rule200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delivery_metadata.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/delivery_status.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/error_model.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_allow_email.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_country.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_country_update_list.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_ip.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_redeemed_rewards_amount.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_redeemed_rewards_count.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_config_review_email.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_generic_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_geo.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_redemption_method.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_related_rewards.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_risk.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_review_status.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule400_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule422_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/fraud_rule_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/funding_source.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/generate_reward_link200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/generate_reward_link200_response_reward.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/generate_reward_link403_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/generate_reward_token200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/generate_reward_token200_response_reward.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_fraud_review200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_fraud_review200_response_fraud_review_geo.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_funding_source200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_member200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_member200_response_member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_member200_response_member_events_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_order200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_organization200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_product_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/get_reward200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/inline_object.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/inline_object1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/inline_object1_reward.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/invoice.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_balance_transactions200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_balance_transactions200_response_transactions_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_balance_transactions200_response_transactions_inner_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_balance_transactions200_response_transactions_inner_order_payment.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_campaigns200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_campaigns200_response_campaigns_inner_email_style.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_campaigns200_response_campaigns_inner_webpage_style.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organization_members200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner_member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organizations200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fields200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fields200_response_fields_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fields200_response_fields_inner_data.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_forex_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fraud_reviews200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner_geo.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_fraud_rules200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_funding_sources200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta_failure_details.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_invoices200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_invoices200_response_invoices_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_members200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_members200_response_members_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_orders200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_orders200_response_orders_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_orders200_response_orders_inner_payment.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_orders200_response_orders_inner_payment_refund.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_organizations200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_organizations200_response_organizations_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response_products_inner_countries_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response_products_inner_documents.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response_products_inner_images_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_products_response_products_inner_skus_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response_rewards_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response_rewards_inner_custom_fields_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response_rewards_inner_recipient.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards200_response_rewards_inner_value.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards401_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards401_response_errors.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_rewards429_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_roles200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_roles200_response_roles_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_topups200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_topups200_response_topups_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_webhook_events200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_webhooks200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/list_webhooks200_response_webhooks_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/member.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/member_base.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/member_with_events.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/member_without_events.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/model_field.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_base.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_base_payment.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_status.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_with_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_with_link_rewards_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_without_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/order_without_link_rewards_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/organization.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/payment_details.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/payment_details_refund.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/payout.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/product_documents.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/recipient.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/refund_details.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/report.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/resend_reward422_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/resend_reward_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_country.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_country1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_email.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_email1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_ip.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_ip1.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_redeemed_rewards_amount.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/review_redeemed_rewards_count.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_base.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_base_custom_fields_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_for_order_create.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_token.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_value.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_with_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/reward_without_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/role.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/simulate_webhook_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_payment.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_reward.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_reward_custom_fields_inner.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_reward_delivery_meta.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_with_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_with_link_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_without_link.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/single_reward_order_without_link_order.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/topup.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/topup_create_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/update_fraud_rule_list200_response.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/update_fraud_rule_list_request.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/update_fraud_rule_list_request_config.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/webhook.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/models/webhook_post.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/py.typed +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous/rest.py +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous_python.egg-info/dependency_links.txt +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous_python.egg-info/requires.txt +0 -0
- {tremendous_python-5.16.0 → tremendous_python-5.18.0}/tremendous_python.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "tremendous"
|
|
3
|
+
version = "5.18.0"
|
|
4
|
+
long_description="Python API client for Tremendous"
|
|
5
|
+
description = "Python API client for Tremendous"
|
|
6
|
+
authors = ["API Support <developers@tremendous.com>"]
|
|
7
|
+
license = "MIT"
|
|
8
|
+
readme = "README.md"
|
|
9
|
+
repository = "https://github.com/tremendous-rewards/tremendous-python"
|
|
10
|
+
keywords = ["Api", "Gift cards", "Rewards", "Incentives", "Tremendous"]
|
|
11
|
+
include = ["tremendous/py.typed"]
|
|
12
|
+
|
|
13
|
+
[tool.poetry.dependencies]
|
|
14
|
+
python = "^3.10"
|
|
15
|
+
|
|
16
|
+
urllib3 = ">= 2.1.0"
|
|
17
|
+
python-dateutil = ">=2.8.2"
|
|
18
|
+
pydantic = ">=2"
|
|
19
|
+
typing-extensions = ">=4.7.1"
|
|
20
|
+
|
|
21
|
+
[tool.poetry.dev-dependencies]
|
|
22
|
+
pytest = ">=7.2.1"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
[build-system]
|
|
26
|
+
requires = ["setuptools"]
|
|
27
|
+
build-backend = "setuptools.build_meta"
|
|
28
|
+
|
|
29
|
+
[tool.pylint.'MESSAGES CONTROL']
|
|
30
|
+
extension-pkg-whitelist = "pydantic"
|
|
@@ -58,6 +58,7 @@ from tremendous.models.create_connected_organization_member_session200_response
|
|
|
58
58
|
from tremendous.models.create_connected_organization_member_session200_response_connected_organization_member_session import CreateConnectedOrganizationMemberSession200ResponseConnectedOrganizationMemberSession
|
|
59
59
|
from tremendous.models.create_connected_organization_member_session_request import CreateConnectedOrganizationMemberSessionRequest
|
|
60
60
|
from tremendous.models.create_connected_organization_request import CreateConnectedOrganizationRequest
|
|
61
|
+
from tremendous.models.create_connected_organization_request_kyb import CreateConnectedOrganizationRequestKyb
|
|
61
62
|
from tremendous.models.create_field import CreateField
|
|
62
63
|
from tremendous.models.create_field200_response import CreateField200Response
|
|
63
64
|
from tremendous.models.create_field_request import CreateFieldRequest
|
|
@@ -106,6 +107,7 @@ from tremendous.models.fraud_config_ip import FraudConfigIP
|
|
|
106
107
|
from tremendous.models.fraud_config_redeemed_rewards_amount import FraudConfigRedeemedRewardsAmount
|
|
107
108
|
from tremendous.models.fraud_config_redeemed_rewards_count import FraudConfigRedeemedRewardsCount
|
|
108
109
|
from tremendous.models.fraud_config_review_email import FraudConfigReviewEmail
|
|
110
|
+
from tremendous.models.fraud_config_review_vpn import FraudConfigReviewVpn
|
|
109
111
|
from tremendous.models.fraud_generic_response import FraudGenericResponse
|
|
110
112
|
from tremendous.models.fraud_review import FraudReview
|
|
111
113
|
from tremendous.models.fraud_review_base import FraudReviewBase
|
|
@@ -148,6 +150,7 @@ from tremendous.models.list_balance_transactions200_response_transactions_inner_
|
|
|
148
150
|
from tremendous.models.list_balance_transactions200_response_transactions_inner_order_payment import ListBalanceTransactions200ResponseTransactionsInnerOrderPayment
|
|
149
151
|
from tremendous.models.list_campaigns200_response import ListCampaigns200Response
|
|
150
152
|
from tremendous.models.list_campaigns200_response_campaigns_inner import ListCampaigns200ResponseCampaignsInner
|
|
153
|
+
from tremendous.models.list_campaigns200_response_campaigns_inner_auto_add_product_rule import ListCampaigns200ResponseCampaignsInnerAutoAddProductRule
|
|
151
154
|
from tremendous.models.list_campaigns200_response_campaigns_inner_email_style import ListCampaigns200ResponseCampaignsInnerEmailStyle
|
|
152
155
|
from tremendous.models.list_campaigns200_response_campaigns_inner_webpage_style import ListCampaigns200ResponseCampaignsInnerWebpageStyle
|
|
153
156
|
from tremendous.models.list_connected_organization_members200_response import ListConnectedOrganizationMembers200Response
|
|
@@ -156,6 +159,8 @@ from tremendous.models.list_connected_organization_members200_response_connected
|
|
|
156
159
|
from tremendous.models.list_connected_organizations200_response import ListConnectedOrganizations200Response
|
|
157
160
|
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner import ListConnectedOrganizations200ResponseConnectedOrganizationsInner
|
|
158
161
|
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_organization import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerOrganization
|
|
162
|
+
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetails
|
|
163
|
+
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details_address import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetailsAddress
|
|
159
164
|
from tremendous.models.list_fields200_response import ListFields200Response
|
|
160
165
|
from tremendous.models.list_fields200_response_fields_inner import ListFields200ResponseFieldsInner
|
|
161
166
|
from tremendous.models.list_fields200_response_fields_inner_data import ListFields200ResponseFieldsInnerData
|
|
@@ -233,6 +238,7 @@ from tremendous.models.review_ip import ReviewIp
|
|
|
233
238
|
from tremendous.models.review_ip1 import ReviewIp1
|
|
234
239
|
from tremendous.models.review_redeemed_rewards_amount import ReviewRedeemedRewardsAmount
|
|
235
240
|
from tremendous.models.review_redeemed_rewards_count import ReviewRedeemedRewardsCount
|
|
241
|
+
from tremendous.models.review_vpn import ReviewVpn
|
|
236
242
|
from tremendous.models.reward import Reward
|
|
237
243
|
from tremendous.models.reward_base import RewardBase
|
|
238
244
|
from tremendous.models.reward_base_custom_fields_inner import RewardBaseCustomFieldsInner
|
|
@@ -1490,7 +1490,7 @@ class TremendousApi:
|
|
|
1490
1490
|
) -> CreateConnectedOrganization200Response:
|
|
1491
1491
|
"""Create connected organization
|
|
1492
1492
|
|
|
1493
|
-
Create a connected organization.
|
|
1493
|
+
Create a connected organization. Optionally pass a `kyb` object to forward KYB details you have already collected for the end client. When provided, these values pre-fill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb` field is optional, but any value provided is validated — malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`. The stored KYB details are echoed back as `prefilled_kyb_details` on this create response only.
|
|
1494
1494
|
|
|
1495
1495
|
:param create_connected_organization_request: Connected organization to create (required)
|
|
1496
1496
|
:type create_connected_organization_request: CreateConnectedOrganizationRequest
|
|
@@ -1561,7 +1561,7 @@ class TremendousApi:
|
|
|
1561
1561
|
) -> ApiResponse[CreateConnectedOrganization200Response]:
|
|
1562
1562
|
"""Create connected organization
|
|
1563
1563
|
|
|
1564
|
-
Create a connected organization.
|
|
1564
|
+
Create a connected organization. Optionally pass a `kyb` object to forward KYB details you have already collected for the end client. When provided, these values pre-fill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb` field is optional, but any value provided is validated — malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`. The stored KYB details are echoed back as `prefilled_kyb_details` on this create response only.
|
|
1565
1565
|
|
|
1566
1566
|
:param create_connected_organization_request: Connected organization to create (required)
|
|
1567
1567
|
:type create_connected_organization_request: CreateConnectedOrganizationRequest
|
|
@@ -1632,7 +1632,7 @@ class TremendousApi:
|
|
|
1632
1632
|
) -> RESTResponseType:
|
|
1633
1633
|
"""Create connected organization
|
|
1634
1634
|
|
|
1635
|
-
Create a connected organization.
|
|
1635
|
+
Create a connected organization. Optionally pass a `kyb` object to forward KYB details you have already collected for the end client. When provided, these values pre-fill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb` field is optional, but any value provided is validated — malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`. The stored KYB details are echoed back as `prefilled_kyb_details` on this create response only.
|
|
1636
1636
|
|
|
1637
1637
|
:param create_connected_organization_request: Connected organization to create (required)
|
|
1638
1638
|
:type create_connected_organization_request: CreateConnectedOrganizationRequest
|
|
@@ -3221,7 +3221,7 @@ class TremendousApi:
|
|
|
3221
3221
|
) -> CreateOrder200Response:
|
|
3222
3222
|
"""Create order
|
|
3223
3223
|
|
|
3224
|
-
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be delivered to the recipient out-of-band.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3224
|
+
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The initial <code>POST /orders</code> response for a link reward includes the link in <code>delivery.link</code>.</p> <p>The link must then be delivered to the recipient out-of-band.</p> <p>To obtain a new link for an existing reward, call <code>POST /rewards/{id}/generate_link</code>.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3225
3225
|
|
|
3226
3226
|
:param create_order_request: Order to create (required)
|
|
3227
3227
|
:type create_order_request: CreateOrderRequest
|
|
@@ -3296,7 +3296,7 @@ class TremendousApi:
|
|
|
3296
3296
|
) -> ApiResponse[CreateOrder200Response]:
|
|
3297
3297
|
"""Create order
|
|
3298
3298
|
|
|
3299
|
-
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be delivered to the recipient out-of-band.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3299
|
+
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The initial <code>POST /orders</code> response for a link reward includes the link in <code>delivery.link</code>.</p> <p>The link must then be delivered to the recipient out-of-band.</p> <p>To obtain a new link for an existing reward, call <code>POST /rewards/{id}/generate_link</code>.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3300
3300
|
|
|
3301
3301
|
:param create_order_request: Order to create (required)
|
|
3302
3302
|
:type create_order_request: CreateOrderRequest
|
|
@@ -3371,7 +3371,7 @@ class TremendousApi:
|
|
|
3371
3371
|
) -> RESTResponseType:
|
|
3372
3372
|
"""Create order
|
|
3373
3373
|
|
|
3374
|
-
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be delivered to the recipient out-of-band.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3374
|
+
Every time you want to send out a reward through Tremendous you need to create an order for it. > 📘 Getting started with your first order > > Our step-by-step guide walks you through everything you need > to send your first gift card through the Tremendous API: > > <strong><a style=\"display: block; margin-top: 20px;\" href=\"/docs/sending-rewards-intro\">Check it out!</a></strong> ## Request body <div class=\"object-schema-request-schema\"> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">external_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Reference for this order, supplied by the customer.</p> <p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code> after the initial order creation, will result in a response that returns the data of the initially created order. The response will have a <code>201</code> response code. These responses <strong>fail</strong> to create any further orders.</p> <p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">payment</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">funding_source_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the funding source that will be used to pay for the order. Use <code>balance</code> to use your Tremendous's balance.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">reward</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>A single reward, sent to a recipient. A reward is always part of an order.</p> <p>Either <code>products</code> or <code>campaign_id</code> must be specified.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the reward</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">order_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">created_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Date the reward was created</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">expires_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">campaign_id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from.</p> </td></tr> <tr class=\"property-conditional-hint-request-only\"><td><div class=\"property-name\"> <code class=\"property-name\">products</code> </div> </td><td><span class=\"property-type\">array</span> <span class=\"property-format\">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available to the recipient to choose from.</p> <p>Providing a <code>products</code> array will override the products made available by the campaign specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will <em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">object</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">denomination</code> </div> </td><td><span class=\"property-type\">number</span> <span class=\"property-format\">double</span></td><td><p>Amount of the reward</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">currency_code</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Currency of the reward. Defaults to the organization's currency if not provided.</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">recipient</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details of the recipient of the reward</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Name of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">email</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Email address of the recipient</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">phone</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">deliver_at</code> </div> </td><td><span class=\"property-type\">string</span> <span class=\"property-format\">date</span></td><td><p>Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">custom_fields</code> </div> </td><td><span class=\"property-type\">array</span></td><td></td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show array item type</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">id</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Tremendous ID of the custom field</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">value</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Value of the custom field</p> </td></tr> <tr class=\"property-conditional-hint-response-only\"><td><div class=\"property-name\"> <code class=\"property-name\">label</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Label of the custom field</p> </td></tr> </tbody> </table> </tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">language</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>Set this to translate the redemption experience for this reward. Pass a 2-letter <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\">ISO-639-1 code</a> for the desired language. Defaults to <code>en</code>.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">delivery</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">method</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>How to deliver the reward to the recipient.</p> <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The initial <code>POST /orders</code> response for a link reward includes the link in <code>delivery.link</code>.</p> <p>The link must then be delivered to the recipient out-of-band.</p> <p>To obtain a new link for an existing reward, call <code>POST /rewards/{id}/generate_link</code>.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">meta</code> </div> </td><td><span class=\"property-type\">object</span></td><td><p>Customizable reward delivery metadata, taking precedence over the related campaign settings.</p> </td></tr> <tr> <td colspan=\"3\"> <details> <summary>Show object properties</summary> <table> <thead> <tr> <th>Property</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody class=\"object-schema-table-body\"> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">sender_name</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The "sender name" used in the delivery. If it's an email reward, "via Tremendous" will be appended to the value. Please note that you cannot customize the sender email.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">subject_line</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The subject line used in the delivery.</p> </td></tr> <tr class=\"\"><td><div class=\"property-name\"> <code class=\"property-name\">message</code> </div> </td><td><span class=\"property-type\">string</span></td><td><p>The content of the message of the reward, shown in the email / SMS and on the landing page.</p> </td></tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </tr> </tbody> </table> </div> ### Funding sources There are different ways to pay for gift cards and rewards on Tremendous. Every payment mechanism is called a \"funding source\". You can retrieve a list of all available funding sources by using the [Funding sources API endpoint](https://developers.tremendous.com/reference/list-funding-sources). The Tremendous API sandbox environment comes with a single funding source that allows you to spend up to $5,000 in *fake money* to test the API. [Learn more about the sandbox environment](https://developers.tremendous.com/docs/sandbox-environment). The HTTP status code `200` on the response will be used to indicate success. After processing successfully the reward gets queued to be delivered to it's recipient (for delivery method `EMAIL` and `PHONE`). Delivery will happen asynchronously, after the response has been sent. ### Idempotence Requests issued with the same `external_id` are idempotent. Submitting an order with an already existing `external_id` will not create a new order. If the payload is the same as a previously issued order, our API will return a `201` response code, along with a representation of the already-existing order in the response body. If the `external_id` used is for an order with different parameters (e.g. amount, recipient), our API will return a `409` response code, indicating a conflicting resource.
|
|
3375
3375
|
|
|
3376
3376
|
:param create_order_request: Order to create (required)
|
|
3377
3377
|
:type create_order_request: CreateOrderRequest
|
|
@@ -6573,7 +6573,7 @@ class TremendousApi:
|
|
|
6573
6573
|
def fraud_rule(
|
|
6574
6574
|
self,
|
|
6575
6575
|
rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
|
|
6576
|
-
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `
|
|
6576
|
+
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
|
|
6577
6577
|
_request_timeout: Union[
|
|
6578
6578
|
None,
|
|
6579
6579
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -6593,7 +6593,7 @@ class TremendousApi:
|
|
|
6593
6593
|
|
|
6594
6594
|
:param rule_type: The rule type to create or update. (required)
|
|
6595
6595
|
:type rule_type: str
|
|
6596
|
-
:param fraud_rule_request: Rules `review_multiple_emails`, `
|
|
6596
|
+
:param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
|
|
6597
6597
|
:type fraud_rule_request: FraudRuleRequest
|
|
6598
6598
|
:param _request_timeout: timeout setting for this request. If one
|
|
6599
6599
|
number provided, it will be total request
|
|
@@ -6650,7 +6650,7 @@ class TremendousApi:
|
|
|
6650
6650
|
def fraud_rule_with_http_info(
|
|
6651
6651
|
self,
|
|
6652
6652
|
rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
|
|
6653
|
-
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `
|
|
6653
|
+
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
|
|
6654
6654
|
_request_timeout: Union[
|
|
6655
6655
|
None,
|
|
6656
6656
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -6670,7 +6670,7 @@ class TremendousApi:
|
|
|
6670
6670
|
|
|
6671
6671
|
:param rule_type: The rule type to create or update. (required)
|
|
6672
6672
|
:type rule_type: str
|
|
6673
|
-
:param fraud_rule_request: Rules `review_multiple_emails`, `
|
|
6673
|
+
:param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
|
|
6674
6674
|
:type fraud_rule_request: FraudRuleRequest
|
|
6675
6675
|
:param _request_timeout: timeout setting for this request. If one
|
|
6676
6676
|
number provided, it will be total request
|
|
@@ -6727,7 +6727,7 @@ class TremendousApi:
|
|
|
6727
6727
|
def fraud_rule_without_preload_content(
|
|
6728
6728
|
self,
|
|
6729
6729
|
rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
|
|
6730
|
-
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `
|
|
6730
|
+
fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
|
|
6731
6731
|
_request_timeout: Union[
|
|
6732
6732
|
None,
|
|
6733
6733
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -6747,7 +6747,7 @@ class TremendousApi:
|
|
|
6747
6747
|
|
|
6748
6748
|
:param rule_type: The rule type to create or update. (required)
|
|
6749
6749
|
:type rule_type: str
|
|
6750
|
-
:param fraud_rule_request: Rules `review_multiple_emails`, `
|
|
6750
|
+
:param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
|
|
6751
6751
|
:type fraud_rule_request: FraudRuleRequest
|
|
6752
6752
|
:param _request_timeout: timeout setting for this request. If one
|
|
6753
6753
|
number provided, it will be total request
|
|
@@ -41,6 +41,7 @@ from tremendous.models.create_connected_organization_member_session200_response
|
|
|
41
41
|
from tremendous.models.create_connected_organization_member_session200_response_connected_organization_member_session import CreateConnectedOrganizationMemberSession200ResponseConnectedOrganizationMemberSession
|
|
42
42
|
from tremendous.models.create_connected_organization_member_session_request import CreateConnectedOrganizationMemberSessionRequest
|
|
43
43
|
from tremendous.models.create_connected_organization_request import CreateConnectedOrganizationRequest
|
|
44
|
+
from tremendous.models.create_connected_organization_request_kyb import CreateConnectedOrganizationRequestKyb
|
|
44
45
|
from tremendous.models.create_field import CreateField
|
|
45
46
|
from tremendous.models.create_field200_response import CreateField200Response
|
|
46
47
|
from tremendous.models.create_field_request import CreateFieldRequest
|
|
@@ -89,6 +90,7 @@ from tremendous.models.fraud_config_ip import FraudConfigIP
|
|
|
89
90
|
from tremendous.models.fraud_config_redeemed_rewards_amount import FraudConfigRedeemedRewardsAmount
|
|
90
91
|
from tremendous.models.fraud_config_redeemed_rewards_count import FraudConfigRedeemedRewardsCount
|
|
91
92
|
from tremendous.models.fraud_config_review_email import FraudConfigReviewEmail
|
|
93
|
+
from tremendous.models.fraud_config_review_vpn import FraudConfigReviewVpn
|
|
92
94
|
from tremendous.models.fraud_generic_response import FraudGenericResponse
|
|
93
95
|
from tremendous.models.fraud_review import FraudReview
|
|
94
96
|
from tremendous.models.fraud_review_base import FraudReviewBase
|
|
@@ -131,6 +133,7 @@ from tremendous.models.list_balance_transactions200_response_transactions_inner_
|
|
|
131
133
|
from tremendous.models.list_balance_transactions200_response_transactions_inner_order_payment import ListBalanceTransactions200ResponseTransactionsInnerOrderPayment
|
|
132
134
|
from tremendous.models.list_campaigns200_response import ListCampaigns200Response
|
|
133
135
|
from tremendous.models.list_campaigns200_response_campaigns_inner import ListCampaigns200ResponseCampaignsInner
|
|
136
|
+
from tremendous.models.list_campaigns200_response_campaigns_inner_auto_add_product_rule import ListCampaigns200ResponseCampaignsInnerAutoAddProductRule
|
|
134
137
|
from tremendous.models.list_campaigns200_response_campaigns_inner_email_style import ListCampaigns200ResponseCampaignsInnerEmailStyle
|
|
135
138
|
from tremendous.models.list_campaigns200_response_campaigns_inner_webpage_style import ListCampaigns200ResponseCampaignsInnerWebpageStyle
|
|
136
139
|
from tremendous.models.list_connected_organization_members200_response import ListConnectedOrganizationMembers200Response
|
|
@@ -139,6 +142,8 @@ from tremendous.models.list_connected_organization_members200_response_connected
|
|
|
139
142
|
from tremendous.models.list_connected_organizations200_response import ListConnectedOrganizations200Response
|
|
140
143
|
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner import ListConnectedOrganizations200ResponseConnectedOrganizationsInner
|
|
141
144
|
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_organization import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerOrganization
|
|
145
|
+
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetails
|
|
146
|
+
from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details_address import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetailsAddress
|
|
142
147
|
from tremendous.models.list_fields200_response import ListFields200Response
|
|
143
148
|
from tremendous.models.list_fields200_response_fields_inner import ListFields200ResponseFieldsInner
|
|
144
149
|
from tremendous.models.list_fields200_response_fields_inner_data import ListFields200ResponseFieldsInnerData
|
|
@@ -216,6 +221,7 @@ from tremendous.models.review_ip import ReviewIp
|
|
|
216
221
|
from tremendous.models.review_ip1 import ReviewIp1
|
|
217
222
|
from tremendous.models.review_redeemed_rewards_amount import ReviewRedeemedRewardsAmount
|
|
218
223
|
from tremendous.models.review_redeemed_rewards_count import ReviewRedeemedRewardsCount
|
|
224
|
+
from tremendous.models.review_vpn import ReviewVpn
|
|
219
225
|
from tremendous.models.reward import Reward
|
|
220
226
|
from tremendous.models.reward_base import RewardBase
|
|
221
227
|
from tremendous.models.reward_base_custom_fields_inner import RewardBaseCustomFieldsInner
|
|
@@ -21,6 +21,7 @@ import json
|
|
|
21
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
22
22
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
23
|
from typing_extensions import Annotated
|
|
24
|
+
from tremendous.models.list_campaigns200_response_campaigns_inner_auto_add_product_rule import ListCampaigns200ResponseCampaignsInnerAutoAddProductRule
|
|
24
25
|
from tremendous.models.list_campaigns200_response_campaigns_inner_email_style import ListCampaigns200ResponseCampaignsInnerEmailStyle
|
|
25
26
|
from tremendous.models.list_campaigns200_response_campaigns_inner_webpage_style import ListCampaigns200ResponseCampaignsInnerWebpageStyle
|
|
26
27
|
from typing import Optional, Set
|
|
@@ -35,9 +36,10 @@ class Campaign(BaseModel):
|
|
|
35
36
|
description: Optional[StrictStr] = Field(description="Description of the campaign")
|
|
36
37
|
products: List[Annotated[str, Field(strict=True)]] = Field(description="List of IDs of products (different gift cards, charity, etc.) that are available in this campaign. ")
|
|
37
38
|
fee_charged_to: Optional[StrictStr] = Field(default=None, description="Determines whether fees for premium products are added to the order total (`SENDER`) or deducted from the recipient's reward amount (`RECIPIENT`). Campaigns with `RECIPIENT` must include at least one fee-free product. ")
|
|
39
|
+
auto_add_product_rule: Optional[ListCampaigns200ResponseCampaignsInnerAutoAddProductRule] = None
|
|
38
40
|
webpage_style: Optional[ListCampaigns200ResponseCampaignsInnerWebpageStyle] = None
|
|
39
41
|
email_style: Optional[ListCampaigns200ResponseCampaignsInnerEmailStyle] = None
|
|
40
|
-
__properties: ClassVar[List[str]] = ["id", "name", "description", "products", "fee_charged_to", "webpage_style", "email_style"]
|
|
42
|
+
__properties: ClassVar[List[str]] = ["id", "name", "description", "products", "fee_charged_to", "auto_add_product_rule", "webpage_style", "email_style"]
|
|
41
43
|
|
|
42
44
|
@field_validator('id')
|
|
43
45
|
def id_validate_regular_expression(cls, value):
|
|
@@ -100,6 +102,9 @@ class Campaign(BaseModel):
|
|
|
100
102
|
exclude=excluded_fields,
|
|
101
103
|
exclude_none=True,
|
|
102
104
|
)
|
|
105
|
+
# override the default output from pydantic by calling `to_dict()` of auto_add_product_rule
|
|
106
|
+
if self.auto_add_product_rule:
|
|
107
|
+
_dict['auto_add_product_rule'] = self.auto_add_product_rule.to_dict()
|
|
103
108
|
# override the default output from pydantic by calling `to_dict()` of webpage_style
|
|
104
109
|
if self.webpage_style:
|
|
105
110
|
_dict['webpage_style'] = self.webpage_style.to_dict()
|
|
@@ -116,6 +121,11 @@ class Campaign(BaseModel):
|
|
|
116
121
|
if self.fee_charged_to is None and "fee_charged_to" in self.model_fields_set:
|
|
117
122
|
_dict['fee_charged_to'] = None
|
|
118
123
|
|
|
124
|
+
# set to None if auto_add_product_rule (nullable) is None
|
|
125
|
+
# and model_fields_set contains the field
|
|
126
|
+
if self.auto_add_product_rule is None and "auto_add_product_rule" in self.model_fields_set:
|
|
127
|
+
_dict['auto_add_product_rule'] = None
|
|
128
|
+
|
|
119
129
|
return _dict
|
|
120
130
|
|
|
121
131
|
@classmethod
|
|
@@ -133,6 +143,7 @@ class Campaign(BaseModel):
|
|
|
133
143
|
"description": obj.get("description"),
|
|
134
144
|
"products": obj.get("products"),
|
|
135
145
|
"fee_charged_to": obj.get("fee_charged_to"),
|
|
146
|
+
"auto_add_product_rule": ListCampaigns200ResponseCampaignsInnerAutoAddProductRule.from_dict(obj["auto_add_product_rule"]) if obj.get("auto_add_product_rule") is not None else None,
|
|
136
147
|
"webpage_style": ListCampaigns200ResponseCampaignsInnerWebpageStyle.from_dict(obj["webpage_style"]) if obj.get("webpage_style") is not None else None,
|
|
137
148
|
"email_style": ListCampaigns200ResponseCampaignsInnerEmailStyle.from_dict(obj["email_style"]) if obj.get("email_style") is not None else None
|
|
138
149
|
})
|