growsurf-python 1.3.0__tar.gz → 1.4.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.4.0/.release-please-manifest.json +3 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/CHANGELOG.md +7 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/PKG-INFO +1 -1
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/pyproject.toml +1 -1
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_version.py +1 -1
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/participant.py +22 -12
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/rewards.py +28 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign.py +7 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_analytics_params.py +10 -5
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_reward.py +1 -1
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward.py +7 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_create_params.py +8 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_update_params.py +8 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/commission_structure.py +2 -1
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/participant_commission_list.py +3 -0
- growsurf_python-1.4.0/tests/types/test_lead_reward_events.py +62 -0
- growsurf_python-1.3.0/.release-please-manifest.json +0 -3
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/.gitignore +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/CONTRIBUTING.md +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/LICENSE +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/README.md +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/SECURITY.md +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/api.md +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/bin/check-release-environment +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/bin/publish-pypi +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/examples/.keep +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/release-please-config.json +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/requirements-dev.lock +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_client.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_compat.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_constants.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_files.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_models.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_qs.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_resource.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_types.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_transform.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/py.typed +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/account.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/campaign.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/commission.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/design.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/emails.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/installation.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/options.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/reward.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/team.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/account_create_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_application.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_invite.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_installation.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_create_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_update_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/create_account_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/email_analytics.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/team.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/team_update_params.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/verification_email_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_design.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_emails.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_installation.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_options.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_rewards.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/test_account.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/test_campaign.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/test_team_contract.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/conftest.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/sample_file.txt +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_client.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_extract_files.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_files.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_models.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_qs.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_required_args.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_response.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_streaming.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_transform.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_affiliate_application.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_analytics_reward_status.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_email_analytics.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_participant_contract.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_referral_source.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/utils.py +0 -0
- {growsurf_python-1.3.0 → growsurf_python-1.4.0}/uv.lock +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.4.0](https://github.com/growsurf/growsurf-python/compare/v1.3.0...v1.4.0) (2026-08-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **api:** add reward and commission event support ([a8b2506](https://github.com/growsurf/growsurf-python/commit/a8b25066fc91b7a144b4a718911f8f2123bdecb3))
|
|
9
|
+
|
|
3
10
|
## [1.3.0](https://github.com/growsurf/growsurf-python/compare/v1.2.1...v1.3.0) (2026-08-23)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: growsurf-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.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
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/participant.py
RENAMED
|
@@ -1146,13 +1146,17 @@ class ParticipantResource(SyncAPIResource):
|
|
|
1146
1146
|
for `sent` (accepted for delivery), `delivered`, `opened`, `clicked`,
|
|
1147
1147
|
`bounced`, and `spamComplaints` metrics attributed to this participant,
|
|
1148
1148
|
including invitations they sent. Use `include=email,series` to include the
|
|
1149
|
-
same counts in each UTC series bucket.
|
|
1149
|
+
same counts in each UTC series bucket. `days`, `startDate`, and `endDate`
|
|
1150
|
+
filter only the optional `series` and `email` data. They do not filter the
|
|
1151
|
+
top-level `analytics`, `ranks`, or `shareCount` values.
|
|
1150
1152
|
|
|
1151
1153
|
Args:
|
|
1152
|
-
days: Last number of days
|
|
1154
|
+
days: Last number of days for optional `series` and `email` analytics.
|
|
1155
|
+
Defaults to 365. Maximum 1825. Does not filter the top-level all-time totals.
|
|
1153
1156
|
|
|
1154
|
-
end_date: End
|
|
1155
|
-
|
|
1157
|
+
end_date: End of a custom `series` and `email` analytics window as a Unix
|
|
1158
|
+
timestamp in milliseconds. Set it together with `startDate`. Does not filter
|
|
1159
|
+
the top-level all-time totals.
|
|
1156
1160
|
|
|
1157
1161
|
include: Comma-separated optional data. `series` returns this participant's own
|
|
1158
1162
|
activity per period; `email` returns `sent`, `delivered`, `opened`, `clicked`,
|
|
@@ -1165,8 +1169,9 @@ class ParticipantResource(SyncAPIResource):
|
|
|
1165
1169
|
interval: Bucket size for the `series` (only used when `include` contains `series`).
|
|
1166
1170
|
Defaults to `day`.
|
|
1167
1171
|
|
|
1168
|
-
start_date: Start
|
|
1169
|
-
|
|
1172
|
+
start_date: Start of a custom `series` and `email` analytics window as a Unix
|
|
1173
|
+
timestamp in milliseconds. Set it together with `endDate`. Does not filter
|
|
1174
|
+
the top-level all-time totals.
|
|
1170
1175
|
|
|
1171
1176
|
extra_headers: Send extra headers
|
|
1172
1177
|
|
|
@@ -2393,13 +2398,17 @@ class AsyncParticipantResource(AsyncAPIResource):
|
|
|
2393
2398
|
for `sent` (accepted for delivery), `delivered`, `opened`, `clicked`,
|
|
2394
2399
|
`bounced`, and `spamComplaints` metrics attributed to this participant,
|
|
2395
2400
|
including invitations they sent. Use `include=email,series` to include the
|
|
2396
|
-
same counts in each UTC series bucket.
|
|
2401
|
+
same counts in each UTC series bucket. `days`, `startDate`, and `endDate`
|
|
2402
|
+
filter only the optional `series` and `email` data. They do not filter the
|
|
2403
|
+
top-level `analytics`, `ranks`, or `shareCount` values.
|
|
2397
2404
|
|
|
2398
2405
|
Args:
|
|
2399
|
-
days: Last number of days
|
|
2406
|
+
days: Last number of days for optional `series` and `email` analytics.
|
|
2407
|
+
Defaults to 365. Maximum 1825. Does not filter the top-level all-time totals.
|
|
2400
2408
|
|
|
2401
|
-
end_date: End
|
|
2402
|
-
|
|
2409
|
+
end_date: End of a custom `series` and `email` analytics window as a Unix
|
|
2410
|
+
timestamp in milliseconds. Set it together with `startDate`. Does not filter
|
|
2411
|
+
the top-level all-time totals.
|
|
2403
2412
|
|
|
2404
2413
|
include: Comma-separated optional data. `series` returns this participant's own
|
|
2405
2414
|
activity per period; `email` returns `sent`, `delivered`, `opened`, `clicked`,
|
|
@@ -2412,8 +2421,9 @@ class AsyncParticipantResource(AsyncAPIResource):
|
|
|
2412
2421
|
interval: Bucket size for the `series` (only used when `include` contains `series`).
|
|
2413
2422
|
Defaults to `day`.
|
|
2414
2423
|
|
|
2415
|
-
start_date: Start
|
|
2416
|
-
|
|
2424
|
+
start_date: Start of a custom `series` and `email` analytics window as a Unix
|
|
2425
|
+
timestamp in milliseconds. Set it together with `endDate`. Does not filter
|
|
2426
|
+
the top-level all-time totals.
|
|
2417
2427
|
|
|
2418
2428
|
extra_headers: Send extra headers
|
|
2419
2429
|
|
|
@@ -59,6 +59,7 @@ class RewardsResource(SyncAPIResource):
|
|
|
59
59
|
conversions_required: int | Omit = omit,
|
|
60
60
|
coupon_code: Optional[str] | Omit = omit,
|
|
61
61
|
description: str | Omit = omit,
|
|
62
|
+
event: Literal["LEAD", "CONVERSION"] | Omit = omit,
|
|
62
63
|
image_url: Optional[str] | Omit = omit,
|
|
63
64
|
is_unlimited: bool | Omit = omit,
|
|
64
65
|
is_visible: bool | Omit = omit,
|
|
@@ -98,6 +99,11 @@ class RewardsResource(SyncAPIResource):
|
|
|
98
99
|
|
|
99
100
|
description: The reward description shown to the referrer.
|
|
100
101
|
|
|
102
|
+
event: The event that earns this Campaign Reward. `SINGLE_SIDED`,
|
|
103
|
+
`DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or `CONVERSION`.
|
|
104
|
+
`LEAD` requires `installation.referralTrigger` to be `CUSTOM`. Omitting
|
|
105
|
+
`event` defaults to `CONVERSION`.
|
|
106
|
+
|
|
101
107
|
image_url: An image URL for the reward.
|
|
102
108
|
|
|
103
109
|
is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
|
|
@@ -150,6 +156,7 @@ class RewardsResource(SyncAPIResource):
|
|
|
150
156
|
"conversions_required": conversions_required,
|
|
151
157
|
"coupon_code": coupon_code,
|
|
152
158
|
"description": description,
|
|
159
|
+
"event": event,
|
|
153
160
|
"image_url": image_url,
|
|
154
161
|
"is_unlimited": is_unlimited,
|
|
155
162
|
"is_visible": is_visible,
|
|
@@ -184,6 +191,7 @@ class RewardsResource(SyncAPIResource):
|
|
|
184
191
|
conversions_required: int | Omit = omit,
|
|
185
192
|
coupon_code: Optional[str] | Omit = omit,
|
|
186
193
|
description: str | Omit = omit,
|
|
194
|
+
event: Literal["LEAD", "CONVERSION"] | Omit = omit,
|
|
187
195
|
image_url: Optional[str] | Omit = omit,
|
|
188
196
|
is_unlimited: bool | Omit = omit,
|
|
189
197
|
is_visible: bool | Omit = omit,
|
|
@@ -219,6 +227,11 @@ class RewardsResource(SyncAPIResource):
|
|
|
219
227
|
|
|
220
228
|
conversions_required: The number of referrals required to earn the reward.
|
|
221
229
|
|
|
230
|
+
event: The event that earns this Campaign Reward. `SINGLE_SIDED`,
|
|
231
|
+
`DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or `CONVERSION`.
|
|
232
|
+
`LEAD` requires `installation.referralTrigger` to be `CUSTOM`. Omitting
|
|
233
|
+
`event` preserves the Campaign Reward's current event.
|
|
234
|
+
|
|
222
235
|
description: The reward description shown to the referrer.
|
|
223
236
|
|
|
224
237
|
image_url: An image URL for the reward.
|
|
@@ -276,6 +289,7 @@ class RewardsResource(SyncAPIResource):
|
|
|
276
289
|
"conversions_required": conversions_required,
|
|
277
290
|
"coupon_code": coupon_code,
|
|
278
291
|
"description": description,
|
|
292
|
+
"event": event,
|
|
279
293
|
"image_url": image_url,
|
|
280
294
|
"is_unlimited": is_unlimited,
|
|
281
295
|
"is_visible": is_visible,
|
|
@@ -410,6 +424,7 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
410
424
|
conversions_required: int | Omit = omit,
|
|
411
425
|
coupon_code: Optional[str] | Omit = omit,
|
|
412
426
|
description: str | Omit = omit,
|
|
427
|
+
event: Literal["LEAD", "CONVERSION"] | Omit = omit,
|
|
413
428
|
image_url: Optional[str] | Omit = omit,
|
|
414
429
|
is_unlimited: bool | Omit = omit,
|
|
415
430
|
is_visible: bool | Omit = omit,
|
|
@@ -449,6 +464,11 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
449
464
|
|
|
450
465
|
description: The reward description shown to the referrer.
|
|
451
466
|
|
|
467
|
+
event: The event that earns this Campaign Reward. `SINGLE_SIDED`,
|
|
468
|
+
`DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or `CONVERSION`.
|
|
469
|
+
`LEAD` requires `installation.referralTrigger` to be `CUSTOM`. Omitting
|
|
470
|
+
`event` defaults to `CONVERSION`.
|
|
471
|
+
|
|
452
472
|
image_url: An image URL for the reward.
|
|
453
473
|
|
|
454
474
|
is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
|
|
@@ -501,6 +521,7 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
501
521
|
"conversions_required": conversions_required,
|
|
502
522
|
"coupon_code": coupon_code,
|
|
503
523
|
"description": description,
|
|
524
|
+
"event": event,
|
|
504
525
|
"image_url": image_url,
|
|
505
526
|
"is_unlimited": is_unlimited,
|
|
506
527
|
"is_visible": is_visible,
|
|
@@ -535,6 +556,7 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
535
556
|
conversions_required: int | Omit = omit,
|
|
536
557
|
coupon_code: Optional[str] | Omit = omit,
|
|
537
558
|
description: str | Omit = omit,
|
|
559
|
+
event: Literal["LEAD", "CONVERSION"] | Omit = omit,
|
|
538
560
|
image_url: Optional[str] | Omit = omit,
|
|
539
561
|
is_unlimited: bool | Omit = omit,
|
|
540
562
|
is_visible: bool | Omit = omit,
|
|
@@ -570,6 +592,11 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
570
592
|
|
|
571
593
|
conversions_required: The number of referrals required to earn the reward.
|
|
572
594
|
|
|
595
|
+
event: The event that earns this Campaign Reward. `SINGLE_SIDED`,
|
|
596
|
+
`DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or `CONVERSION`.
|
|
597
|
+
`LEAD` requires `installation.referralTrigger` to be `CUSTOM`. Omitting
|
|
598
|
+
`event` preserves the Campaign Reward's current event.
|
|
599
|
+
|
|
573
600
|
description: The reward description shown to the referrer.
|
|
574
601
|
|
|
575
602
|
image_url: An image URL for the reward.
|
|
@@ -627,6 +654,7 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
627
654
|
"conversions_required": conversions_required,
|
|
628
655
|
"coupon_code": coupon_code,
|
|
629
656
|
"description": description,
|
|
657
|
+
"event": event,
|
|
630
658
|
"image_url": image_url,
|
|
631
659
|
"is_unlimited": is_unlimited,
|
|
632
660
|
"is_visible": is_visible,
|
|
@@ -30,6 +30,13 @@ class Reward(BaseModel):
|
|
|
30
30
|
|
|
31
31
|
description: Optional[str] = None
|
|
32
32
|
|
|
33
|
+
event: Optional[Literal["LEAD", "CONVERSION"]] = None
|
|
34
|
+
"""The event that earns this Campaign Reward.
|
|
35
|
+
|
|
36
|
+
Present only for `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy
|
|
37
|
+
Campaign Rewards return `CONVERSION`.
|
|
38
|
+
"""
|
|
39
|
+
|
|
33
40
|
image_url: Optional[str] = FieldInfo(alias="imageUrl", default=None)
|
|
34
41
|
|
|
35
42
|
is_visible: Optional[bool] = FieldInfo(alias="isVisible", default=None)
|
|
@@ -13,12 +13,16 @@ class ParticipantAnalyticsParams(TypedDict, total=False):
|
|
|
13
13
|
id: Required[str]
|
|
14
14
|
|
|
15
15
|
days: int
|
|
16
|
-
"""Last number of days
|
|
16
|
+
"""Last number of days for optional `series` and `email` analytics.
|
|
17
|
+
|
|
18
|
+
Defaults to 365. Maximum 1825. Does not filter the top-level all-time totals.
|
|
19
|
+
"""
|
|
17
20
|
|
|
18
21
|
end_date: Annotated[int, PropertyInfo(alias="endDate")]
|
|
19
|
-
"""End
|
|
22
|
+
"""End of a custom `series` and `email` analytics window as a Unix timestamp.
|
|
20
23
|
|
|
21
|
-
|
|
24
|
+
Expressed in milliseconds. Set it together with `startDate`. Does not filter the
|
|
25
|
+
top-level all-time totals.
|
|
22
26
|
"""
|
|
23
27
|
|
|
24
28
|
include: str
|
|
@@ -39,7 +43,8 @@ class ParticipantAnalyticsParams(TypedDict, total=False):
|
|
|
39
43
|
"""
|
|
40
44
|
|
|
41
45
|
start_date: Annotated[int, PropertyInfo(alias="startDate")]
|
|
42
|
-
"""Start
|
|
46
|
+
"""Start of a custom `series` and `email` analytics window as a Unix timestamp.
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
Expressed in milliseconds. Set it together with `endDate`. Does not filter the
|
|
49
|
+
top-level all-time totals.
|
|
45
50
|
"""
|
|
@@ -41,6 +41,13 @@ class Reward(BaseModel):
|
|
|
41
41
|
description: Optional[str] = None
|
|
42
42
|
"""The reward description shown to the referrer."""
|
|
43
43
|
|
|
44
|
+
event: Optional[Literal["LEAD", "CONVERSION"]] = None
|
|
45
|
+
"""The event that earns this Campaign Reward.
|
|
46
|
+
|
|
47
|
+
Present only for `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy
|
|
48
|
+
Campaign Rewards return `CONVERSION`.
|
|
49
|
+
"""
|
|
50
|
+
|
|
44
51
|
image_url: Optional[str] = FieldInfo(alias="imageUrl", default=None)
|
|
45
52
|
"""The reward image URL."""
|
|
46
53
|
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_create_params.py
RENAMED
|
@@ -32,6 +32,14 @@ class RewardCreateParams(TypedDict, total=False):
|
|
|
32
32
|
description: str
|
|
33
33
|
"""The reward description shown to the referrer."""
|
|
34
34
|
|
|
35
|
+
event: Literal["LEAD", "CONVERSION"]
|
|
36
|
+
"""The event that earns this Campaign Reward.
|
|
37
|
+
|
|
38
|
+
`SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or
|
|
39
|
+
`CONVERSION`. `LEAD` requires `installation.referralTrigger` to be `CUSTOM`.
|
|
40
|
+
When omitted, the Campaign Reward defaults to `CONVERSION`.
|
|
41
|
+
"""
|
|
42
|
+
|
|
35
43
|
image_url: Annotated[Optional[str], PropertyInfo(alias="imageUrl")]
|
|
36
44
|
"""An image URL for the reward."""
|
|
37
45
|
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_update_params.py
RENAMED
|
@@ -31,6 +31,14 @@ class RewardUpdateParams(TypedDict, total=False):
|
|
|
31
31
|
description: str
|
|
32
32
|
"""The reward description shown to the referrer."""
|
|
33
33
|
|
|
34
|
+
event: Literal["LEAD", "CONVERSION"]
|
|
35
|
+
"""The event that earns this Campaign Reward.
|
|
36
|
+
|
|
37
|
+
`SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards support `LEAD` or
|
|
38
|
+
`CONVERSION`. `LEAD` requires `installation.referralTrigger` to be `CUSTOM`.
|
|
39
|
+
When omitted, the Campaign Reward's current event is preserved.
|
|
40
|
+
"""
|
|
41
|
+
|
|
34
42
|
image_url: Annotated[Optional[str], PropertyInfo(alias="imageUrl")]
|
|
35
43
|
"""An image URL for the reward."""
|
|
36
44
|
|
|
@@ -21,7 +21,8 @@ class CommissionStructure(BaseModel):
|
|
|
21
21
|
|
|
22
22
|
duration_in_months: Optional[int] = FieldInfo(alias="durationInMonths", default=None)
|
|
23
23
|
|
|
24
|
-
event: Optional[
|
|
24
|
+
event: Optional[Literal["CLICK", "LEAD", "SALE"]] = None
|
|
25
|
+
"""The event that generates a commission. Missing legacy values read as `SALE`."""
|
|
25
26
|
|
|
26
27
|
has_intro: Optional[bool] = FieldInfo(alias="hasIntro", default=None)
|
|
27
28
|
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/participant_commission_list.py
RENAMED
|
@@ -19,6 +19,9 @@ class Commission(BaseModel):
|
|
|
19
19
|
|
|
20
20
|
currency_iso: str = FieldInfo(alias="currencyISO")
|
|
21
21
|
|
|
22
|
+
event: Literal["LEAD", "SALE"]
|
|
23
|
+
"""The event that generated the commission. Legacy commissions return `SALE`."""
|
|
24
|
+
|
|
22
25
|
referred_id: str = FieldInfo(alias="referredId")
|
|
23
26
|
|
|
24
27
|
referrer_id: str = FieldInfo(alias="referrerId")
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from typing_extensions import Literal
|
|
2
|
+
|
|
3
|
+
from growsurf.types.campaign.reward import Reward
|
|
4
|
+
from growsurf.types.campaign.campaign import Reward as CampaignReward
|
|
5
|
+
from growsurf.types.commission_structure import CommissionStructure
|
|
6
|
+
from growsurf.types.campaign.participant_reward import ParticipantReward
|
|
7
|
+
from growsurf.types.participant_commission_list import Commission
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_reward_and_commission_events_parse_from_public_wire_values() -> None:
|
|
11
|
+
reward = Reward(
|
|
12
|
+
id="crew_signup",
|
|
13
|
+
isUnlimited=True,
|
|
14
|
+
metadata={},
|
|
15
|
+
type="SINGLE_SIDED",
|
|
16
|
+
event="LEAD",
|
|
17
|
+
)
|
|
18
|
+
embedded_reward = CampaignReward(
|
|
19
|
+
id="crew_signup",
|
|
20
|
+
isUnlimited=True,
|
|
21
|
+
metadata={},
|
|
22
|
+
type="SINGLE_SIDED",
|
|
23
|
+
event="LEAD",
|
|
24
|
+
)
|
|
25
|
+
commission = Commission(
|
|
26
|
+
id="comm_signup",
|
|
27
|
+
amount=500,
|
|
28
|
+
createdAt=1,
|
|
29
|
+
currencyISO="USD",
|
|
30
|
+
event="LEAD",
|
|
31
|
+
referredId="part_friend",
|
|
32
|
+
referrerId="part_advocate",
|
|
33
|
+
saleAmount=None,
|
|
34
|
+
status="PENDING",
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
assert reward.event == "LEAD"
|
|
38
|
+
assert embedded_reward.event == "LEAD"
|
|
39
|
+
assert commission.event == "LEAD"
|
|
40
|
+
assert commission.sale_amount is None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def test_cancelled_participant_reward_parses_from_public_wire_value() -> None:
|
|
44
|
+
reward = ParticipantReward(
|
|
45
|
+
id="participant_reward_cancelled",
|
|
46
|
+
rewardId="reward_cancelled",
|
|
47
|
+
status="CANCELLED",
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
assert reward.status == "CANCELLED"
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def test_commission_structure_exposes_supported_event_contract() -> None:
|
|
54
|
+
click = CommissionStructure(event="CLICK")
|
|
55
|
+
lead = CommissionStructure(event="LEAD")
|
|
56
|
+
sale = CommissionStructure(event="SALE")
|
|
57
|
+
assert click.event is not None
|
|
58
|
+
|
|
59
|
+
event: Literal["CLICK", "LEAD", "SALE"] = click.event
|
|
60
|
+
assert event == "CLICK"
|
|
61
|
+
assert lead.event == "LEAD"
|
|
62
|
+
assert sale.event == "SALE"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/commission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/resources/campaign/installation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_application_answer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/affiliate_invite_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_design.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_emails.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_installation.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/campaign_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/fraud_risk_level.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/referral_source.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/referral_status.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_approve_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/reward_tax_valuation.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_create_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_event.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_list_response.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_test_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_test_response.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign/webhook_update_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_create_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_payouts_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_referrals_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/campaign_update_params.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/create_account_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/participant_payout_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/rotate_api_key_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/src/growsurf/types/verification_email_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_commission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_installation.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_options.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_participant.py
RENAMED
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_rewards.py
RENAMED
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/api_resources/campaign/test_webhooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{growsurf_python-1.3.0 → growsurf_python-1.4.0}/tests/types/test_payout_provider_forward_compat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|