growsurf-python 0.8.0__tar.gz → 1.0.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.
- growsurf_python-1.0.0/.release-please-manifest.json +3 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/CHANGELOG.md +11 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/PKG-INFO +1 -1
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/api.md +57 -5
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/pyproject.toml +1 -1
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_version.py +1 -1
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/__init__.py +56 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/campaign.py +164 -50
- growsurf_python-1.0.0/src/growsurf/resources/campaign/design.py +268 -0
- growsurf_python-1.0.0/src/growsurf/resources/campaign/emails.py +272 -0
- growsurf_python-1.0.0/src/growsurf/resources/campaign/installation.py +268 -0
- growsurf_python-1.0.0/src/growsurf/resources/campaign/options.py +272 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/rewards.py +69 -28
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/__init__.py +5 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/campaign.py +16 -0
- growsurf_python-1.0.0/src/growsurf/types/campaign/campaign_design.py +13 -0
- growsurf_python-1.0.0/src/growsurf/types/campaign/campaign_emails.py +13 -0
- growsurf_python-1.0.0/src/growsurf/types/campaign/campaign_installation.py +13 -0
- growsurf_python-1.0.0/src/growsurf/types/campaign/campaign_options.py +13 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward.py +17 -1
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_create_params.py +13 -0
- growsurf_python-1.0.0/src/growsurf/types/campaign/reward_tax_valuation.py +29 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_update_params.py +13 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_create_params.py +5 -6
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_update_params.py +0 -15
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/participant_commission_list.py +1 -3
- growsurf_python-1.0.0/tests/api_resources/campaign/test_design.py +200 -0
- growsurf_python-1.0.0/tests/api_resources/campaign/test_emails.py +200 -0
- growsurf_python-1.0.0/tests/api_resources/campaign/test_installation.py +200 -0
- growsurf_python-1.0.0/tests/api_resources/campaign/test_options.py +200 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/campaign/test_rewards.py +26 -26
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/test_campaign.py +0 -18
- growsurf_python-0.8.0/.release-please-manifest.json +0 -3
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/.gitignore +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/CONTRIBUTING.md +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/LICENSE +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/README.md +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/SECURITY.md +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/bin/check-release-environment +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/bin/publish-pypi +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/examples/.keep +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/release-please-config.json +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/requirements-dev.lock +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_client.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_compat.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_constants.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_files.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_models.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_qs.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_resource.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_types.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_transform.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/py.typed +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/commission.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/participant.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/resources/campaign/reward.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/commission_structure.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/conftest.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/sample_file.txt +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_client.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_extract_files.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_files.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_models.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_qs.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_required_args.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_response.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_streaming.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_transform.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/tests/utils.py +0 -0
- {growsurf_python-0.8.0 → growsurf_python-1.0.0}/uv.lock +0 -0
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.0](https://github.com/growsurf/growsurf-python/compare/v0.8.0...v1.0.0) (2026-07-03)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* campaign create no longer accepts `options`, and campaign update no longer accepts the design / emails / options / notifications / installation config blobs — edit those via the new config sub-resources. Reward-config CRUD moved from /campaign/{id}/rewards to /campaign/{id}/reward-configs[/{campaignRewardId}].
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* add campaign management endpoints; drop deprecated create/update config blobs ([6116f40](https://github.com/growsurf/growsurf-python/commit/6116f400534856bfeafcafa21a42fd648b167fe5))
|
|
13
|
+
|
|
3
14
|
## [0.8.0](https://github.com/growsurf/growsurf-python/compare/v0.7.0...v0.8.0) (2026-07-01)
|
|
4
15
|
|
|
5
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: growsurf-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: The official Python library for the growsurf API
|
|
5
5
|
Project-URL: Homepage, https://github.com/growsurf/growsurf-python
|
|
6
6
|
Project-URL: Repository, https://github.com/growsurf/growsurf-python
|
|
@@ -104,12 +104,64 @@ Methods:
|
|
|
104
104
|
Types:
|
|
105
105
|
|
|
106
106
|
```python
|
|
107
|
-
from growsurf.types.campaign import Reward, CampaignRewardListResponse, DeleteRewardResponse
|
|
107
|
+
from growsurf.types.campaign import Reward, RewardTaxValuation, CampaignRewardListResponse, DeleteRewardResponse
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
Methods:
|
|
111
111
|
|
|
112
|
-
- <code title="post /campaign/{id}/
|
|
113
|
-
- <code title="patch /campaign/{id}/
|
|
114
|
-
- <code title="get /campaign/{id}/
|
|
115
|
-
- <code title="delete /campaign/{id}/
|
|
112
|
+
- <code title="post /campaign/{id}/reward-configs">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">create</a>(id, \*\*<a href="src/growsurf/types/campaign/reward_create_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/reward.py">Reward</a></code>
|
|
113
|
+
- <code title="patch /campaign/{id}/reward-configs/{campaignRewardId}">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">update</a>(campaign_reward_id, \*, id, \*\*<a href="src/growsurf/types/campaign/reward_update_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/reward.py">Reward</a></code>
|
|
114
|
+
- <code title="get /campaign/{id}/reward-configs">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">list</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_reward_list_response.py">CampaignRewardListResponse</a></code>
|
|
115
|
+
- <code title="delete /campaign/{id}/reward-configs/{campaignRewardId}">client.campaign.rewards.<a href="./src/growsurf/resources/campaign/rewards.py">delete</a>(campaign_reward_id, \*, id) -> <a href="./src/growsurf/types/campaign/delete_reward_response.py">DeleteRewardResponse</a></code>
|
|
116
|
+
|
|
117
|
+
## Design
|
|
118
|
+
|
|
119
|
+
Types:
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
from growsurf.types.campaign import CampaignDesign
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Methods:
|
|
126
|
+
|
|
127
|
+
- <code title="get /campaign/{id}/design">client.campaign.design.<a href="./src/growsurf/resources/campaign/design.py">retrieve</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_design.py">CampaignDesign</a></code>
|
|
128
|
+
- <code title="patch /campaign/{id}/design">client.campaign.design.<a href="./src/growsurf/resources/campaign/design.py">update</a>(id, \*, body) -> <a href="./src/growsurf/types/campaign/campaign_design.py">CampaignDesign</a></code>
|
|
129
|
+
|
|
130
|
+
## Emails
|
|
131
|
+
|
|
132
|
+
Types:
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
from growsurf.types.campaign import CampaignEmails
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Methods:
|
|
139
|
+
|
|
140
|
+
- <code title="get /campaign/{id}/emails">client.campaign.emails.<a href="./src/growsurf/resources/campaign/emails.py">retrieve</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_emails.py">CampaignEmails</a></code>
|
|
141
|
+
- <code title="patch /campaign/{id}/emails">client.campaign.emails.<a href="./src/growsurf/resources/campaign/emails.py">update</a>(id, \*, body) -> <a href="./src/growsurf/types/campaign/campaign_emails.py">CampaignEmails</a></code>
|
|
142
|
+
|
|
143
|
+
## Options
|
|
144
|
+
|
|
145
|
+
Types:
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from growsurf.types.campaign import CampaignOptions
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Methods:
|
|
152
|
+
|
|
153
|
+
- <code title="get /campaign/{id}/options">client.campaign.options.<a href="./src/growsurf/resources/campaign/options.py">retrieve</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_options.py">CampaignOptions</a></code>
|
|
154
|
+
- <code title="patch /campaign/{id}/options">client.campaign.options.<a href="./src/growsurf/resources/campaign/options.py">update</a>(id, \*, body) -> <a href="./src/growsurf/types/campaign/campaign_options.py">CampaignOptions</a></code>
|
|
155
|
+
|
|
156
|
+
## Installation
|
|
157
|
+
|
|
158
|
+
Types:
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
from growsurf.types.campaign import CampaignInstallation
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Methods:
|
|
165
|
+
|
|
166
|
+
- <code title="get /campaign/{id}/installation">client.campaign.installation.<a href="./src/growsurf/resources/campaign/installation.py">retrieve</a>(id) -> <a href="./src/growsurf/types/campaign/campaign_installation.py">CampaignInstallation</a></code>
|
|
167
|
+
- <code title="patch /campaign/{id}/installation">client.campaign.installation.<a href="./src/growsurf/resources/campaign/installation.py">update</a>(id, \*, body) -> <a href="./src/growsurf/types/campaign/campaign_installation.py">CampaignInstallation</a></code>
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
+
from .design import (
|
|
4
|
+
DesignResource,
|
|
5
|
+
AsyncDesignResource,
|
|
6
|
+
DesignResourceWithRawResponse,
|
|
7
|
+
AsyncDesignResourceWithRawResponse,
|
|
8
|
+
DesignResourceWithStreamingResponse,
|
|
9
|
+
AsyncDesignResourceWithStreamingResponse,
|
|
10
|
+
)
|
|
11
|
+
from .emails import (
|
|
12
|
+
EmailsResource,
|
|
13
|
+
AsyncEmailsResource,
|
|
14
|
+
EmailsResourceWithRawResponse,
|
|
15
|
+
AsyncEmailsResourceWithRawResponse,
|
|
16
|
+
EmailsResourceWithStreamingResponse,
|
|
17
|
+
AsyncEmailsResourceWithStreamingResponse,
|
|
18
|
+
)
|
|
3
19
|
from .reward import (
|
|
4
20
|
RewardResource,
|
|
5
21
|
AsyncRewardResource,
|
|
@@ -8,6 +24,14 @@ from .reward import (
|
|
|
8
24
|
RewardResourceWithStreamingResponse,
|
|
9
25
|
AsyncRewardResourceWithStreamingResponse,
|
|
10
26
|
)
|
|
27
|
+
from .options import (
|
|
28
|
+
OptionsResource,
|
|
29
|
+
AsyncOptionsResource,
|
|
30
|
+
OptionsResourceWithRawResponse,
|
|
31
|
+
AsyncOptionsResourceWithRawResponse,
|
|
32
|
+
OptionsResourceWithStreamingResponse,
|
|
33
|
+
AsyncOptionsResourceWithStreamingResponse,
|
|
34
|
+
)
|
|
11
35
|
from .rewards import (
|
|
12
36
|
RewardsResource,
|
|
13
37
|
AsyncRewardsResource,
|
|
@@ -40,6 +64,14 @@ from .participant import (
|
|
|
40
64
|
ParticipantResourceWithStreamingResponse,
|
|
41
65
|
AsyncParticipantResourceWithStreamingResponse,
|
|
42
66
|
)
|
|
67
|
+
from .installation import (
|
|
68
|
+
InstallationResource,
|
|
69
|
+
AsyncInstallationResource,
|
|
70
|
+
InstallationResourceWithRawResponse,
|
|
71
|
+
AsyncInstallationResourceWithRawResponse,
|
|
72
|
+
InstallationResourceWithStreamingResponse,
|
|
73
|
+
AsyncInstallationResourceWithStreamingResponse,
|
|
74
|
+
)
|
|
43
75
|
|
|
44
76
|
__all__ = [
|
|
45
77
|
"ParticipantResource",
|
|
@@ -60,6 +92,30 @@ __all__ = [
|
|
|
60
92
|
"AsyncRewardsResourceWithRawResponse",
|
|
61
93
|
"RewardsResourceWithStreamingResponse",
|
|
62
94
|
"AsyncRewardsResourceWithStreamingResponse",
|
|
95
|
+
"DesignResource",
|
|
96
|
+
"AsyncDesignResource",
|
|
97
|
+
"DesignResourceWithRawResponse",
|
|
98
|
+
"AsyncDesignResourceWithRawResponse",
|
|
99
|
+
"DesignResourceWithStreamingResponse",
|
|
100
|
+
"AsyncDesignResourceWithStreamingResponse",
|
|
101
|
+
"EmailsResource",
|
|
102
|
+
"AsyncEmailsResource",
|
|
103
|
+
"EmailsResourceWithRawResponse",
|
|
104
|
+
"AsyncEmailsResourceWithRawResponse",
|
|
105
|
+
"EmailsResourceWithStreamingResponse",
|
|
106
|
+
"AsyncEmailsResourceWithStreamingResponse",
|
|
107
|
+
"OptionsResource",
|
|
108
|
+
"AsyncOptionsResource",
|
|
109
|
+
"OptionsResourceWithRawResponse",
|
|
110
|
+
"AsyncOptionsResourceWithRawResponse",
|
|
111
|
+
"OptionsResourceWithStreamingResponse",
|
|
112
|
+
"AsyncOptionsResourceWithStreamingResponse",
|
|
113
|
+
"InstallationResource",
|
|
114
|
+
"AsyncInstallationResource",
|
|
115
|
+
"InstallationResourceWithRawResponse",
|
|
116
|
+
"AsyncInstallationResourceWithRawResponse",
|
|
117
|
+
"InstallationResourceWithStreamingResponse",
|
|
118
|
+
"AsyncInstallationResourceWithStreamingResponse",
|
|
63
119
|
"CommissionResource",
|
|
64
120
|
"AsyncCommissionResource",
|
|
65
121
|
"CommissionResourceWithRawResponse",
|
|
@@ -7,6 +7,22 @@ from typing_extensions import Literal
|
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
9
9
|
|
|
10
|
+
from .design import (
|
|
11
|
+
DesignResource,
|
|
12
|
+
AsyncDesignResource,
|
|
13
|
+
DesignResourceWithRawResponse,
|
|
14
|
+
AsyncDesignResourceWithRawResponse,
|
|
15
|
+
DesignResourceWithStreamingResponse,
|
|
16
|
+
AsyncDesignResourceWithStreamingResponse,
|
|
17
|
+
)
|
|
18
|
+
from .emails import (
|
|
19
|
+
EmailsResource,
|
|
20
|
+
AsyncEmailsResource,
|
|
21
|
+
EmailsResourceWithRawResponse,
|
|
22
|
+
AsyncEmailsResourceWithRawResponse,
|
|
23
|
+
EmailsResourceWithStreamingResponse,
|
|
24
|
+
AsyncEmailsResourceWithStreamingResponse,
|
|
25
|
+
)
|
|
10
26
|
from .reward import (
|
|
11
27
|
RewardResource,
|
|
12
28
|
AsyncRewardResource,
|
|
@@ -26,6 +42,14 @@ from ...types import (
|
|
|
26
42
|
campaign_retrieve_analytics_params,
|
|
27
43
|
campaign_create_mobile_participant_token_params,
|
|
28
44
|
)
|
|
45
|
+
from .options import (
|
|
46
|
+
OptionsResource,
|
|
47
|
+
AsyncOptionsResource,
|
|
48
|
+
OptionsResourceWithRawResponse,
|
|
49
|
+
AsyncOptionsResourceWithRawResponse,
|
|
50
|
+
OptionsResourceWithStreamingResponse,
|
|
51
|
+
AsyncOptionsResourceWithStreamingResponse,
|
|
52
|
+
)
|
|
29
53
|
from .rewards import (
|
|
30
54
|
RewardsResource,
|
|
31
55
|
AsyncRewardsResource,
|
|
@@ -60,6 +84,14 @@ from .participant import (
|
|
|
60
84
|
ParticipantResourceWithStreamingResponse,
|
|
61
85
|
AsyncParticipantResourceWithStreamingResponse,
|
|
62
86
|
)
|
|
87
|
+
from .installation import (
|
|
88
|
+
InstallationResource,
|
|
89
|
+
AsyncInstallationResource,
|
|
90
|
+
InstallationResourceWithRawResponse,
|
|
91
|
+
AsyncInstallationResourceWithRawResponse,
|
|
92
|
+
InstallationResourceWithStreamingResponse,
|
|
93
|
+
AsyncInstallationResourceWithStreamingResponse,
|
|
94
|
+
)
|
|
63
95
|
from ..._base_client import make_request_options
|
|
64
96
|
from ...types.campaign import ReferralStatus, reward_create_params
|
|
65
97
|
from ...types.referral_list import ReferralList
|
|
@@ -92,9 +124,29 @@ class CampaignResource(SyncAPIResource):
|
|
|
92
124
|
|
|
93
125
|
@cached_property
|
|
94
126
|
def rewards(self) -> RewardsResource:
|
|
95
|
-
"""
|
|
127
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
96
128
|
return RewardsResource(self._client)
|
|
97
129
|
|
|
130
|
+
@cached_property
|
|
131
|
+
def design(self) -> DesignResource:
|
|
132
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
133
|
+
return DesignResource(self._client)
|
|
134
|
+
|
|
135
|
+
@cached_property
|
|
136
|
+
def emails(self) -> EmailsResource:
|
|
137
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
138
|
+
return EmailsResource(self._client)
|
|
139
|
+
|
|
140
|
+
@cached_property
|
|
141
|
+
def options(self) -> OptionsResource:
|
|
142
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
143
|
+
return OptionsResource(self._client)
|
|
144
|
+
|
|
145
|
+
@cached_property
|
|
146
|
+
def installation(self) -> InstallationResource:
|
|
147
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
148
|
+
return InstallationResource(self._client)
|
|
149
|
+
|
|
98
150
|
@cached_property
|
|
99
151
|
def with_raw_response(self) -> CampaignResourceWithRawResponse:
|
|
100
152
|
"""
|
|
@@ -121,9 +173,7 @@ class CampaignResource(SyncAPIResource):
|
|
|
121
173
|
company_logo_image_url: str | Omit = omit,
|
|
122
174
|
company_name: str | Omit = omit,
|
|
123
175
|
currency_iso: str | Omit = omit,
|
|
124
|
-
goal: str | Omit = omit,
|
|
125
176
|
name: str | Omit = omit,
|
|
126
|
-
options: Dict[str, object] | Omit = omit,
|
|
127
177
|
rewards: Iterable[reward_create_params.RewardCreateParams] | Omit = omit,
|
|
128
178
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
129
179
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -142,12 +192,11 @@ class CampaignResource(SyncAPIResource):
|
|
|
142
192
|
Args:
|
|
143
193
|
type: The program type. Immutable after creation.
|
|
144
194
|
|
|
145
|
-
currency_iso: ISO 4217 currency code. Defaults to USD.
|
|
195
|
+
currency_iso: ISO 4217 currency code. Defaults to USD. Chosen when the program is
|
|
196
|
+
created and immutable afterward — it cannot be changed on update.
|
|
146
197
|
|
|
147
198
|
name: The program name. Defaults to "Untitled Program".
|
|
148
199
|
|
|
149
|
-
options: A curated subset of program options to shallow-merge onto the defaults.
|
|
150
|
-
|
|
151
200
|
rewards: Optional inline rewards to create with the program.
|
|
152
201
|
|
|
153
202
|
extra_headers: Send extra headers
|
|
@@ -166,9 +215,7 @@ class CampaignResource(SyncAPIResource):
|
|
|
166
215
|
"company_logo_image_url": company_logo_image_url,
|
|
167
216
|
"company_name": company_name,
|
|
168
217
|
"currency_iso": currency_iso,
|
|
169
|
-
"goal": goal,
|
|
170
218
|
"name": name,
|
|
171
|
-
"options": options,
|
|
172
219
|
"rewards": rewards,
|
|
173
220
|
},
|
|
174
221
|
campaign_create_params.CampaignCreateParams,
|
|
@@ -218,14 +265,7 @@ class CampaignResource(SyncAPIResource):
|
|
|
218
265
|
*,
|
|
219
266
|
company_logo_image_url: str | Omit = omit,
|
|
220
267
|
company_name: str | Omit = omit,
|
|
221
|
-
currency_iso: str | Omit = omit,
|
|
222
|
-
design: Dict[str, object] | Omit = omit,
|
|
223
|
-
emails: Dict[str, object] | Omit = omit,
|
|
224
|
-
goal: str | Omit = omit,
|
|
225
|
-
installation: Dict[str, object] | Omit = omit,
|
|
226
268
|
name: str | Omit = omit,
|
|
227
|
-
notifications: Dict[str, object] | Omit = omit,
|
|
228
|
-
options: Dict[str, object] | Omit = omit,
|
|
229
269
|
status: Literal["DRAFT", "PENDING", "IN_PROGRESS", "COMPLETE", "CANCELLED"] | Omit = omit,
|
|
230
270
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
231
271
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -236,7 +276,7 @@ class CampaignResource(SyncAPIResource):
|
|
|
236
276
|
) -> Campaign:
|
|
237
277
|
"""
|
|
238
278
|
Updates a program's configuration and/or status. Only the fields you send are
|
|
239
|
-
changed. `type` and `
|
|
279
|
+
changed. `type`, `urlId`, and `currencyISO` are immutable. Status changes are validated against
|
|
240
280
|
the allowed transitions; the program cannot be deleted via this endpoint.
|
|
241
281
|
|
|
242
282
|
Args:
|
|
@@ -258,14 +298,7 @@ class CampaignResource(SyncAPIResource):
|
|
|
258
298
|
{
|
|
259
299
|
"company_logo_image_url": company_logo_image_url,
|
|
260
300
|
"company_name": company_name,
|
|
261
|
-
"currency_iso": currency_iso,
|
|
262
|
-
"design": design,
|
|
263
|
-
"emails": emails,
|
|
264
|
-
"goal": goal,
|
|
265
|
-
"installation": installation,
|
|
266
301
|
"name": name,
|
|
267
|
-
"notifications": notifications,
|
|
268
|
-
"options": options,
|
|
269
302
|
"status": status,
|
|
270
303
|
},
|
|
271
304
|
campaign_update_params.CampaignUpdateParams,
|
|
@@ -771,9 +804,29 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
771
804
|
|
|
772
805
|
@cached_property
|
|
773
806
|
def rewards(self) -> AsyncRewardsResource:
|
|
774
|
-
"""
|
|
807
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
775
808
|
return AsyncRewardsResource(self._client)
|
|
776
809
|
|
|
810
|
+
@cached_property
|
|
811
|
+
def design(self) -> AsyncDesignResource:
|
|
812
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
813
|
+
return AsyncDesignResource(self._client)
|
|
814
|
+
|
|
815
|
+
@cached_property
|
|
816
|
+
def emails(self) -> AsyncEmailsResource:
|
|
817
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
818
|
+
return AsyncEmailsResource(self._client)
|
|
819
|
+
|
|
820
|
+
@cached_property
|
|
821
|
+
def options(self) -> AsyncOptionsResource:
|
|
822
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
823
|
+
return AsyncOptionsResource(self._client)
|
|
824
|
+
|
|
825
|
+
@cached_property
|
|
826
|
+
def installation(self) -> AsyncInstallationResource:
|
|
827
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
828
|
+
return AsyncInstallationResource(self._client)
|
|
829
|
+
|
|
777
830
|
@cached_property
|
|
778
831
|
def with_raw_response(self) -> AsyncCampaignResourceWithRawResponse:
|
|
779
832
|
"""
|
|
@@ -800,9 +853,7 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
800
853
|
company_logo_image_url: str | Omit = omit,
|
|
801
854
|
company_name: str | Omit = omit,
|
|
802
855
|
currency_iso: str | Omit = omit,
|
|
803
|
-
goal: str | Omit = omit,
|
|
804
856
|
name: str | Omit = omit,
|
|
805
|
-
options: Dict[str, object] | Omit = omit,
|
|
806
857
|
rewards: Iterable[reward_create_params.RewardCreateParams] | Omit = omit,
|
|
807
858
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
808
859
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -821,12 +872,11 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
821
872
|
Args:
|
|
822
873
|
type: The program type. Immutable after creation.
|
|
823
874
|
|
|
824
|
-
currency_iso: ISO 4217 currency code. Defaults to USD.
|
|
875
|
+
currency_iso: ISO 4217 currency code. Defaults to USD. Chosen when the program is
|
|
876
|
+
created and immutable afterward — it cannot be changed on update.
|
|
825
877
|
|
|
826
878
|
name: The program name. Defaults to "Untitled Program".
|
|
827
879
|
|
|
828
|
-
options: A curated subset of program options to shallow-merge onto the defaults.
|
|
829
|
-
|
|
830
880
|
rewards: Optional inline rewards to create with the program.
|
|
831
881
|
|
|
832
882
|
extra_headers: Send extra headers
|
|
@@ -845,9 +895,7 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
845
895
|
"company_logo_image_url": company_logo_image_url,
|
|
846
896
|
"company_name": company_name,
|
|
847
897
|
"currency_iso": currency_iso,
|
|
848
|
-
"goal": goal,
|
|
849
898
|
"name": name,
|
|
850
|
-
"options": options,
|
|
851
899
|
"rewards": rewards,
|
|
852
900
|
},
|
|
853
901
|
campaign_create_params.CampaignCreateParams,
|
|
@@ -897,14 +945,7 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
897
945
|
*,
|
|
898
946
|
company_logo_image_url: str | Omit = omit,
|
|
899
947
|
company_name: str | Omit = omit,
|
|
900
|
-
currency_iso: str | Omit = omit,
|
|
901
|
-
design: Dict[str, object] | Omit = omit,
|
|
902
|
-
emails: Dict[str, object] | Omit = omit,
|
|
903
|
-
goal: str | Omit = omit,
|
|
904
|
-
installation: Dict[str, object] | Omit = omit,
|
|
905
948
|
name: str | Omit = omit,
|
|
906
|
-
notifications: Dict[str, object] | Omit = omit,
|
|
907
|
-
options: Dict[str, object] | Omit = omit,
|
|
908
949
|
status: Literal["DRAFT", "PENDING", "IN_PROGRESS", "COMPLETE", "CANCELLED"] | Omit = omit,
|
|
909
950
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
910
951
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -915,7 +956,7 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
915
956
|
) -> Campaign:
|
|
916
957
|
"""
|
|
917
958
|
Updates a program's configuration and/or status. Only the fields you send are
|
|
918
|
-
changed. `type` and `
|
|
959
|
+
changed. `type`, `urlId`, and `currencyISO` are immutable. Status changes are validated against
|
|
919
960
|
the allowed transitions; the program cannot be deleted via this endpoint.
|
|
920
961
|
|
|
921
962
|
Args:
|
|
@@ -937,14 +978,7 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
937
978
|
{
|
|
938
979
|
"company_logo_image_url": company_logo_image_url,
|
|
939
980
|
"company_name": company_name,
|
|
940
|
-
"currency_iso": currency_iso,
|
|
941
|
-
"design": design,
|
|
942
|
-
"emails": emails,
|
|
943
|
-
"goal": goal,
|
|
944
|
-
"installation": installation,
|
|
945
981
|
"name": name,
|
|
946
|
-
"notifications": notifications,
|
|
947
|
-
"options": options,
|
|
948
982
|
"status": status,
|
|
949
983
|
},
|
|
950
984
|
campaign_update_params.CampaignUpdateParams,
|
|
@@ -1490,9 +1524,29 @@ class CampaignResourceWithRawResponse:
|
|
|
1490
1524
|
|
|
1491
1525
|
@cached_property
|
|
1492
1526
|
def rewards(self) -> RewardsResourceWithRawResponse:
|
|
1493
|
-
"""
|
|
1527
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
1494
1528
|
return RewardsResourceWithRawResponse(self._campaign.rewards)
|
|
1495
1529
|
|
|
1530
|
+
@cached_property
|
|
1531
|
+
def design(self) -> DesignResourceWithRawResponse:
|
|
1532
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
1533
|
+
return DesignResourceWithRawResponse(self._campaign.design)
|
|
1534
|
+
|
|
1535
|
+
@cached_property
|
|
1536
|
+
def emails(self) -> EmailsResourceWithRawResponse:
|
|
1537
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
1538
|
+
return EmailsResourceWithRawResponse(self._campaign.emails)
|
|
1539
|
+
|
|
1540
|
+
@cached_property
|
|
1541
|
+
def options(self) -> OptionsResourceWithRawResponse:
|
|
1542
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
1543
|
+
return OptionsResourceWithRawResponse(self._campaign.options)
|
|
1544
|
+
|
|
1545
|
+
@cached_property
|
|
1546
|
+
def installation(self) -> InstallationResourceWithRawResponse:
|
|
1547
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
1548
|
+
return InstallationResourceWithRawResponse(self._campaign.installation)
|
|
1549
|
+
|
|
1496
1550
|
|
|
1497
1551
|
class AsyncCampaignResourceWithRawResponse:
|
|
1498
1552
|
def __init__(self, campaign: AsyncCampaignResource) -> None:
|
|
@@ -1551,9 +1605,29 @@ class AsyncCampaignResourceWithRawResponse:
|
|
|
1551
1605
|
|
|
1552
1606
|
@cached_property
|
|
1553
1607
|
def rewards(self) -> AsyncRewardsResourceWithRawResponse:
|
|
1554
|
-
"""
|
|
1608
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
1555
1609
|
return AsyncRewardsResourceWithRawResponse(self._campaign.rewards)
|
|
1556
1610
|
|
|
1611
|
+
@cached_property
|
|
1612
|
+
def design(self) -> AsyncDesignResourceWithRawResponse:
|
|
1613
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
1614
|
+
return AsyncDesignResourceWithRawResponse(self._campaign.design)
|
|
1615
|
+
|
|
1616
|
+
@cached_property
|
|
1617
|
+
def emails(self) -> AsyncEmailsResourceWithRawResponse:
|
|
1618
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
1619
|
+
return AsyncEmailsResourceWithRawResponse(self._campaign.emails)
|
|
1620
|
+
|
|
1621
|
+
@cached_property
|
|
1622
|
+
def options(self) -> AsyncOptionsResourceWithRawResponse:
|
|
1623
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
1624
|
+
return AsyncOptionsResourceWithRawResponse(self._campaign.options)
|
|
1625
|
+
|
|
1626
|
+
@cached_property
|
|
1627
|
+
def installation(self) -> AsyncInstallationResourceWithRawResponse:
|
|
1628
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
1629
|
+
return AsyncInstallationResourceWithRawResponse(self._campaign.installation)
|
|
1630
|
+
|
|
1557
1631
|
|
|
1558
1632
|
class CampaignResourceWithStreamingResponse:
|
|
1559
1633
|
def __init__(self, campaign: CampaignResource) -> None:
|
|
@@ -1612,9 +1686,29 @@ class CampaignResourceWithStreamingResponse:
|
|
|
1612
1686
|
|
|
1613
1687
|
@cached_property
|
|
1614
1688
|
def rewards(self) -> RewardsResourceWithStreamingResponse:
|
|
1615
|
-
"""
|
|
1689
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
1616
1690
|
return RewardsResourceWithStreamingResponse(self._campaign.rewards)
|
|
1617
1691
|
|
|
1692
|
+
@cached_property
|
|
1693
|
+
def design(self) -> DesignResourceWithStreamingResponse:
|
|
1694
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
1695
|
+
return DesignResourceWithStreamingResponse(self._campaign.design)
|
|
1696
|
+
|
|
1697
|
+
@cached_property
|
|
1698
|
+
def emails(self) -> EmailsResourceWithStreamingResponse:
|
|
1699
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
1700
|
+
return EmailsResourceWithStreamingResponse(self._campaign.emails)
|
|
1701
|
+
|
|
1702
|
+
@cached_property
|
|
1703
|
+
def options(self) -> OptionsResourceWithStreamingResponse:
|
|
1704
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
1705
|
+
return OptionsResourceWithStreamingResponse(self._campaign.options)
|
|
1706
|
+
|
|
1707
|
+
@cached_property
|
|
1708
|
+
def installation(self) -> InstallationResourceWithStreamingResponse:
|
|
1709
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
1710
|
+
return InstallationResourceWithStreamingResponse(self._campaign.installation)
|
|
1711
|
+
|
|
1618
1712
|
|
|
1619
1713
|
class AsyncCampaignResourceWithStreamingResponse:
|
|
1620
1714
|
def __init__(self, campaign: AsyncCampaignResource) -> None:
|
|
@@ -1673,5 +1767,25 @@ class AsyncCampaignResourceWithStreamingResponse:
|
|
|
1673
1767
|
|
|
1674
1768
|
@cached_property
|
|
1675
1769
|
def rewards(self) -> AsyncRewardsResourceWithStreamingResponse:
|
|
1676
|
-
"""
|
|
1770
|
+
"""Campaign reward (`CampaignReward`) configuration operations."""
|
|
1677
1771
|
return AsyncRewardsResourceWithStreamingResponse(self._campaign.rewards)
|
|
1772
|
+
|
|
1773
|
+
@cached_property
|
|
1774
|
+
def design(self) -> AsyncDesignResourceWithStreamingResponse:
|
|
1775
|
+
"""Campaign design (`CampaignDesign`) configuration — the Program Editor's Design tab."""
|
|
1776
|
+
return AsyncDesignResourceWithStreamingResponse(self._campaign.design)
|
|
1777
|
+
|
|
1778
|
+
@cached_property
|
|
1779
|
+
def emails(self) -> AsyncEmailsResourceWithStreamingResponse:
|
|
1780
|
+
"""Campaign emails (`CampaignEmails`) configuration — the Program Editor's Emails tab."""
|
|
1781
|
+
return AsyncEmailsResourceWithStreamingResponse(self._campaign.emails)
|
|
1782
|
+
|
|
1783
|
+
@cached_property
|
|
1784
|
+
def options(self) -> AsyncOptionsResourceWithStreamingResponse:
|
|
1785
|
+
"""Campaign options (`CampaignOptions`) — the Program Editor's Options tab."""
|
|
1786
|
+
return AsyncOptionsResourceWithStreamingResponse(self._campaign.options)
|
|
1787
|
+
|
|
1788
|
+
@cached_property
|
|
1789
|
+
def installation(self) -> AsyncInstallationResourceWithStreamingResponse:
|
|
1790
|
+
"""Campaign installation (`CampaignInstallation`) — the Program Editor's Installation tab."""
|
|
1791
|
+
return AsyncInstallationResourceWithStreamingResponse(self._campaign.installation)
|