├── test ├── __init__.py ├── test_app.py ├── test_button.py ├── test_filter.py ├── test_operator.py ├── test_purchase.py ├── test_web_button.py ├── test_custom_event.py ├── test_outcome_data.py ├── test_segment_data.py ├── test_api_key_token.py ├── test_delivery_data.py ├── test_generic_error.py ├── test_subscription.py ├── test_apps.py ├── test_identity_object.py ├── test_include_aliases.py ├── test_rate_limit_error.py ├── test_template_resource.py ├── test_language_string_map.py ├── test_notification_all_of.py ├── test_copy_template_request.py ├── test_create_api_key_request.py ├── test_update_api_key_request.py ├── test_create_api_key_response.py ├── test_segment.py ├── test_outcomes_data.py ├── test_segment_notification_target.py ├── test_generic_success_bool_response.py ├── test_properties_deltas.py ├── test_properties_object.py ├── test_export_events_success_response.py ├── test_create_segment_success_response.py ├── test_platform_delivery_data_sms_all_of.py ├── test_subscription_body.py ├── test_create_segment_conflict_response.py ├── test_properties_body.py ├── test_export_subscriptions_request_body.py ├── test_platform_delivery_data_email_all_of.py ├── test_user_identity_body.py ├── test_transfer_subscription_request_body.py ├── test_custom_events_request.py ├── test_start_live_activity_success_response.py ├── test_create_notification_success_response.py ├── test_get_notification_history_request_body.py ├── test_update_live_activity_success_response.py ├── test_export_subscriptions_success_response.py ├── test_notification_history_success_response.py ├── test_notification_slice.py ├── test_templates_list_response.py ├── test_create_template_request.py ├── test_filter_expression.py ├── test_update_template_request.py ├── test_api_key_tokens_list_response.py ├── test_get_segments_success_response.py ├── test_update_live_activity_request.py ├── test_create_user_conflict_response_errors_items_meta.py ├── test_notification_with_meta_all_of.py ├── test_subscription_notification_target.py ├── test_basic_notification_all_of_android_background_layout.py ├── test_user.py ├── test_update_user_request.py ├── test_create_user_conflict_response.py ├── test_create_user_conflict_response_errors_inner.py ├── test_start_live_activity_request.py ├── test_notification_target.py ├── test_platform_delivery_data.py ├── test_basic_notification_all_of.py ├── test_notification.py ├── test_basic_notification.py ├── test_notification_with_meta.py └── test_default_api.py ├── test-requirements.txt ├── setup.cfg ├── requirements.txt ├── tox.ini ├── onesignal ├── api │ └── __init__.py ├── model │ └── __init__.py ├── apis │ └── __init__.py ├── __init__.py ├── models │ └── __init__.py └── exceptions.py ├── docs ├── Apps.md ├── IdentityObject.md ├── CustomEventsRequest.md ├── GenericSuccessBoolResponse.md ├── OutcomesData.md ├── ExportEventsSuccessResponse.md ├── UpdateLiveActivitySuccessResponse.md ├── PropertiesBody.md ├── SubscriptionBody.md ├── UserIdentityBody.md ├── RateLimitError.md ├── StartLiveActivitySuccessResponse.md ├── ApiKeyTokensListResponse.md ├── ExportSubscriptionsSuccessResponse.md ├── OutcomeData.md ├── TransferSubscriptionRequestBody.md ├── Button.md ├── CopyTemplateRequest.md ├── TemplatesListResponse.md ├── CreateApiKeyResponse.md ├── CreateSegmentConflictResponse.md ├── CreateSegmentSuccessResponse.md ├── NotificationHistorySuccessResponse.md ├── WebButton.md ├── CreateUserConflictResponse.md ├── Operator.md ├── CreateApiKeyRequest.md ├── UpdateApiKeyRequest.md ├── PropertiesDeltas.md ├── CreateUserConflictResponseErrorsItemsMeta.md ├── User.md ├── NotificationSlice.md ├── GenericError.md ├── CreateUserConflictResponseErrorsInner.md ├── ApiKeyToken.md ├── UpdateUserRequest.md ├── Purchase.md ├── CreateNotificationSuccessResponse.md ├── Segment.md ├── GetSegmentsSuccessResponse.md ├── TemplateResource.md ├── SegmentData.md ├── PlatformDeliveryDataSmsAllOf.md ├── ExportSubscriptionsRequestBody.md ├── NotificationAllOf.md ├── GetNotificationHistoryRequestBody.md ├── DeliveryData.md ├── IncludeAliases.md ├── PropertiesObject.md ├── BasicNotificationAllOfAndroidBackgroundLayout.md ├── UpdateTemplateRequest.md ├── SegmentNotificationTarget.md ├── CreateTemplateRequest.md ├── PlatformDeliveryData.md ├── CustomEvent.md ├── Subscription.md ├── PlatformDeliveryDataEmailAllOf.md ├── Filter.md ├── FilterExpression.md ├── UpdateLiveActivityRequest.md ├── NotificationWithMetaAllOf.md ├── LanguageStringMap.md ├── StartLiveActivityRequest.md ├── SubscriptionNotificationTarget.md ├── NotificationTarget.md └── App.md ├── .github ├── workflows │ ├── project.yml │ ├── pip_deploy.yml │ ├── asana-add-comment.yml │ ├── asana-create-task.yml │ └── asana-update-issue.yml ├── ISSUE_TEMPLATE │ ├── general-feedback.yml │ ├── ask-question.yml │ └── bug-report.yml └── pull_request_template.md ├── .gitlab-ci.yml ├── .gitignore ├── LICENSE ├── setup.py └── .releaserc.json /test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest-cov>=2.8.1 2 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length=99 3 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | python_dateutil >= 2.5.3 2 | setuptools >= 21.0.0 3 | urllib3 >= 1.25.3 4 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py3 3 | 4 | [testenv] 5 | deps=-r{toxinidir}/requirements.txt 6 | -r{toxinidir}/test-requirements.txt 7 | 8 | commands= 9 | pytest --cov=onesignal 10 | -------------------------------------------------------------------------------- /onesignal/api/__init__.py: -------------------------------------------------------------------------------- 1 | # do not import all apis into this module because that uses a lot of memory and stack frames 2 | # if you need the ability to import all apis from one package, import them with 3 | # from onesignal.apis import DefaultApi 4 | -------------------------------------------------------------------------------- /docs/Apps.md: -------------------------------------------------------------------------------- 1 | # Apps 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **value** | [**[App]**](App.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /onesignal/model/__init__.py: -------------------------------------------------------------------------------- 1 | # we can not import model classes here because that would create a circular 2 | # reference which would not work in python2 3 | # do not import all models into this module because that uses a lot of memory and stack frames 4 | # if you need the ability to import all models from one package, import them with 5 | # from onesignal.models import ModelA, ModelB 6 | -------------------------------------------------------------------------------- /docs/IdentityObject.md: -------------------------------------------------------------------------------- 1 | # IdentityObject 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **any string name** | **str** | any string name can be used but the value must be the correct type | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | 12 | -------------------------------------------------------------------------------- /.github/workflows/project.yml: -------------------------------------------------------------------------------- 1 | name: Add issues to project 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | 8 | jobs: 9 | add-to-project: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Add issue to project 13 | uses: actions/add-to-project@v1.0.2 14 | with: 15 | # SDK Server Project 16 | project-url: https://github.com/orgs/OneSignal/projects/11 17 | github-token: ${{ secrets.GH_PROJECTS_TOKEN }} 18 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # ref: https://docs.gitlab.com/ee/ci/README.html 2 | 3 | stages: 4 | - test 5 | 6 | .tests: 7 | stage: test 8 | script: 9 | - pip install -r requirements.txt 10 | - pip install -r test-requirements.txt 11 | - pytest --cov=onesignal 12 | 13 | test-3.6: 14 | extends: .tests 15 | image: python:3.6-alpine 16 | test-3.7: 17 | extends: .tests 18 | image: python:3.7-alpine 19 | test-3.8: 20 | extends: .tests 21 | image: python:3.8-alpine 22 | test-3.9: 23 | extends: .tests 24 | image: python:3.9-alpine 25 | -------------------------------------------------------------------------------- /onesignal/apis/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | # flake8: noqa 3 | 4 | # Import all APIs into this package. 5 | # If you have many APIs here with many many models used in each API this may 6 | # raise a `RecursionError`. 7 | # In order to avoid this, import only the API that you directly need like: 8 | # 9 | # from onesignal.api.default_api import DefaultApi 10 | # 11 | # or import this package, but before doing it, use: 12 | # 13 | # import sys 14 | # sys.setrecursionlimit(n) 15 | 16 | # Import APIs into API package: 17 | from onesignal.api.default_api import DefaultApi 18 | -------------------------------------------------------------------------------- /docs/CustomEventsRequest.md: -------------------------------------------------------------------------------- 1 | # CustomEventsRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **events** | [**[CustomEvent]**](CustomEvent.md) | | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/GenericSuccessBoolResponse.md: -------------------------------------------------------------------------------- 1 | # GenericSuccessBoolResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/OutcomesData.md: -------------------------------------------------------------------------------- 1 | # OutcomesData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **outcomes** | [**[OutcomeData]**](OutcomeData.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ExportEventsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # ExportEventsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **csv_file_url** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/UpdateLiveActivitySuccessResponse.md: -------------------------------------------------------------------------------- 1 | # UpdateLiveActivitySuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/PropertiesBody.md: -------------------------------------------------------------------------------- 1 | # PropertiesBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/SubscriptionBody.md: -------------------------------------------------------------------------------- 1 | # SubscriptionBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **subscription** | [**Subscription**](Subscription.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/UserIdentityBody.md: -------------------------------------------------------------------------------- 1 | # UserIdentityBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **identity** | [**IdentityObject**](IdentityObject.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/RateLimitError.md: -------------------------------------------------------------------------------- 1 | # RateLimitError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | **[str]** | | [optional] 8 | **limit** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/StartLiveActivitySuccessResponse.md: -------------------------------------------------------------------------------- 1 | # StartLiveActivitySuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **notification_id** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ApiKeyTokensListResponse.md: -------------------------------------------------------------------------------- 1 | # ApiKeyTokensListResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **tokens** | [**[ApiKeyToken]**](ApiKeyToken.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/ExportSubscriptionsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # ExportSubscriptionsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **csv_file_url** | **str** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/OutcomeData.md: -------------------------------------------------------------------------------- 1 | # OutcomeData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **value** | **int** | | 9 | **aggregation** | **str** | | 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/TransferSubscriptionRequestBody.md: -------------------------------------------------------------------------------- 1 | # TransferSubscriptionRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **identity** | **{str: (str,)}** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/Button.md: -------------------------------------------------------------------------------- 1 | # Button 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **text** | **str** | | [optional] 9 | **icon** | **str** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CopyTemplateRequest.md: -------------------------------------------------------------------------------- 1 | # CopyTemplateRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **target_app_id** | **str** | Destination OneSignal App ID in UUID v4 format. | 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/TemplatesListResponse.md: -------------------------------------------------------------------------------- 1 | # TemplatesListResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **templates** | [**[TemplateResource]**](TemplateResource.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/CreateApiKeyResponse.md: -------------------------------------------------------------------------------- 1 | # CreateApiKeyResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **token_id** | **str** | | [optional] 8 | **formatted_token** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CreateSegmentConflictResponse.md: -------------------------------------------------------------------------------- 1 | # CreateSegmentConflictResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **errors** | **[str]** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/CreateSegmentSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # CreateSegmentSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **id** | **str** | UUID of created segment | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/NotificationHistorySuccessResponse.md: -------------------------------------------------------------------------------- 1 | # NotificationHistorySuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **success** | **bool** | | [optional] 8 | **destination_url** | **str** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/WebButton.md: -------------------------------------------------------------------------------- 1 | # WebButton 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | 8 | **text** | **str** | | [optional] 9 | **icon** | **str** | | [optional] 10 | **url** | **str** | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponse.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | [**[CreateUserConflictResponseErrorsInner]**](CreateUserConflictResponseErrorsInner.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/Operator.md: -------------------------------------------------------------------------------- 1 | # Operator 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **operator** | **str** | Strictly, this must be either `\"OR\"`, or `\"AND\"`. It can be used to compose Filters as part of a Filters object. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/CreateApiKeyRequest.md: -------------------------------------------------------------------------------- 1 | # CreateApiKeyRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | | [optional] 8 | **ip_allowlist_mode** | **str** | | [optional] 9 | **ip_allowlist** | **[str]** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/UpdateApiKeyRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateApiKeyRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | | [optional] 8 | **ip_allowlist_mode** | **str** | | [optional] 9 | **ip_allowlist** | **[str]** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/PropertiesDeltas.md: -------------------------------------------------------------------------------- 1 | # PropertiesDeltas 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **session_time** | **int** | | [optional] 8 | **session_count** | **int** | | [optional] 9 | **purchases** | [**[Purchase]**](Purchase.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponseErrorsItemsMeta.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponseErrorsItemsMeta 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **conflicting_aliases** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/User.md: -------------------------------------------------------------------------------- 1 | # User 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **identity** | [**IdentityObject**](IdentityObject.md) | | [optional] 9 | **subscriptions** | [**[Subscription]**](Subscription.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/NotificationSlice.md: -------------------------------------------------------------------------------- 1 | # NotificationSlice 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **total_count** | **int** | | [optional] 8 | **offset** | **int** | | [optional] 9 | **limit** | **int** | | [optional] 10 | **notifications** | [**[NotificationWithMeta]**](NotificationWithMeta.md) | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/GenericError.md: -------------------------------------------------------------------------------- 1 | # GenericError 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **errors** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 8 | **success** | **bool** | | [optional] 9 | **reference** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/CreateUserConflictResponseErrorsInner.md: -------------------------------------------------------------------------------- 1 | # CreateUserConflictResponseErrorsInner 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **code** | **str** | | [optional] 8 | **title** | **str** | | [optional] 9 | **meta** | [**CreateUserConflictResponseErrorsItemsMeta**](CreateUserConflictResponseErrorsItemsMeta.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/ApiKeyToken.md: -------------------------------------------------------------------------------- 1 | # ApiKeyToken 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **token_id** | **str** | | [optional] 8 | **updated_at** | **str** | | [optional] 9 | **created_at** | **str** | | [optional] 10 | **name** | **str** | | [optional] 11 | **ip_allowlist_mode** | **str** | | [optional] 12 | **ip_allowlist** | **[str]** | | [optional] 13 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 14 | 15 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/UpdateUserRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateUserRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **properties** | [**PropertiesObject**](PropertiesObject.md) | | [optional] 8 | **refresh_device_metadata** | **bool** | | [optional] if omitted the server will use the default value of False 9 | **deltas** | [**PropertiesDeltas**](PropertiesDeltas.md) | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/Purchase.md: -------------------------------------------------------------------------------- 1 | # Purchase 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **sku** | **str** | The unique identifier of the purchased item. | 8 | **amount** | **str** | The amount, in USD, spent purchasing the item. | 9 | **iso** | **str** | The 3-letter ISO 4217 currency code. Required for correct storage and conversion of amount. | 10 | **count** | **int** | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/CreateNotificationSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # CreateNotificationSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **external_id** | **str, none_type** | | [optional] 9 | **errors** | **bool, date, datetime, dict, float, int, list, str, none_type** | Errors include the identifiers that are invalid, or that there are no subscribers. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/Segment.md: -------------------------------------------------------------------------------- 1 | # Segment 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | Name of the segment. You'll see this name on the Web UI. | 8 | **filters** | [**[FilterExpression]**](FilterExpression.md) | Filter or operators the segment will have. For a list of available filters with details, please see Send to Users Based on Filters. | 9 | **id** | **str** | UUID of the segment. If left empty, it will be assigned automaticaly. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/general-feedback.yml: -------------------------------------------------------------------------------- 1 | name: 📣 General feedback 2 | description: Tell us what's on your mind 3 | title: "[Feedback]: " 4 | labels: ["Feedback"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Thanks for sharing your valuable feedback! 10 | - type: textarea 11 | id: feedback 12 | attributes: 13 | label: What's on your mind? 14 | description: Feedback regarding this API library. 15 | placeholder: Share your feedback... 16 | validations: 17 | required: true 18 | - type: checkboxes 19 | id: terms 20 | attributes: 21 | label: Code of Conduct 22 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 23 | options: 24 | - label: I agree to follow this project's Code of Conduct 25 | required: true 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/ask-question.yml: -------------------------------------------------------------------------------- 1 | name: 🙋‍♂️ Ask a question 2 | description: Tell us what's on your mind 3 | title: "[Question]: " 4 | labels: ["Question"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Having issues integrating this API library? 10 | - type: textarea 11 | id: question 12 | attributes: 13 | label: How can we help? 14 | description: Specific question regarding integrating this API library. 15 | placeholder: How do I...? 16 | validations: 17 | required: true 18 | - type: checkboxes 19 | id: terms 20 | attributes: 21 | label: Code of Conduct 22 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 23 | options: 24 | - label: I agree to follow this project's Code of Conduct 25 | required: true 26 | -------------------------------------------------------------------------------- /docs/GetSegmentsSuccessResponse.md: -------------------------------------------------------------------------------- 1 | # GetSegmentsSuccessResponse 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **total_count** | **int** | The number of Segments in the response. | [optional] 8 | **offset** | **int** | Set with the offset query parameter. Default 0. | [optional] 9 | **limit** | **int** | Maximum number of Segments returned. Default 300. | [optional] 10 | **segments** | [**[SegmentData]**](SegmentData.md) | An array containing the Segment information. | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /test/test_app.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.app import App 17 | 18 | 19 | class TestApp(unittest.TestCase): 20 | """App unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testApp(self): 29 | """Test App""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = App() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/TemplateResource.md: -------------------------------------------------------------------------------- 1 | # TemplateResource 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **name** | **str** | | [optional] 9 | **created_at** | **datetime** | | [optional] 10 | **updated_at** | **datetime** | | [optional] 11 | **channel** | **str, none_type** | | [optional] 12 | **content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Rendered content and channel/platform flags for the template. | [optional] 13 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 14 | 15 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 16 | 17 | 18 | -------------------------------------------------------------------------------- /onesignal/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | """ 4 | OneSignal 5 | 6 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 7 | 8 | The version of the OpenAPI document: 5.3.0 9 | Contact: devrel@onesignal.com 10 | Generated by: https://openapi-generator.tech 11 | """ 12 | 13 | 14 | __version__ = "5.3.0-beta1" 15 | 16 | # import ApiClient 17 | from onesignal.api_client import ApiClient 18 | 19 | # import Configuration 20 | from onesignal.configuration import Configuration 21 | 22 | # import exceptions 23 | from onesignal.exceptions import OpenApiException 24 | from onesignal.exceptions import ApiAttributeError 25 | from onesignal.exceptions import ApiTypeError 26 | from onesignal.exceptions import ApiValueError 27 | from onesignal.exceptions import ApiKeyError 28 | from onesignal.exceptions import ApiException 29 | -------------------------------------------------------------------------------- /docs/SegmentData.md: -------------------------------------------------------------------------------- 1 | # SegmentData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | The segment ID | [optional] 8 | **name** | **str** | The segment name | [optional] 9 | **created_at** | **str** | Date segment created | [optional] 10 | **updated_at** | **str** | Date segment last updated | [optional] 11 | **app_id** | **str** | The app id | [optional] 12 | **read_only** | **bool** | Is the segment read only? | [optional] 13 | **is_active** | **bool** | Is the segment active? | [optional] 14 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/test_button.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.button import Button 17 | 18 | 19 | class TestButton(unittest.TestCase): 20 | """Button unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testButton(self): 29 | """Test Button""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Button() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_filter.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter import Filter 17 | 18 | 19 | class TestFilter(unittest.TestCase): 20 | """Filter unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testFilter(self): 29 | """Test Filter""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Filter() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryDataSmsAllOf.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryDataSmsAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **provider_successful** | **int, none_type** | Number of messages reported as delivered successfully by the SMS service provider. | [optional] 8 | **provider_failed** | **int, none_type** | Number of recipients who didn't receive your message as reported by the SMS service provider. | [optional] 9 | **provider_errored** | **int, none_type** | Number of errors reported by the SMS service provider. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/test_operator.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.operator import Operator 17 | 18 | 19 | class TestOperator(unittest.TestCase): 20 | """Operator unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testOperator(self): 29 | """Test Operator""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Operator() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_purchase.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | 18 | 19 | class TestPurchase(unittest.TestCase): 20 | """Purchase unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPurchase(self): 29 | """Test Purchase""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Purchase() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_web_button.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.web_button import WebButton 17 | 18 | 19 | class TestWebButton(unittest.TestCase): 20 | """WebButton unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testWebButton(self): 29 | """Test WebButton""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = WebButton() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/ExportSubscriptionsRequestBody.md: -------------------------------------------------------------------------------- 1 | # ExportSubscriptionsRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **extra_fields** | **[str]** | Additional fields that you wish to include. Currently supports location, country, rooted, notification_types, ip, external_user_id, web_auth, and web_p256. | [optional] 8 | **last_active_since** | **str** | Export all devices with a last_active timestamp greater than this time. Unixtime in seconds. | [optional] 9 | **segment_name** | **str** | Export all devices belonging to the segment. | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/test_custom_event.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.custom_event import CustomEvent 17 | 18 | 19 | class TestCustomEvent(unittest.TestCase): 20 | """CustomEvent unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCustomEvent(self): 29 | """Test CustomEvent""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CustomEvent() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_outcome_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.outcome_data import OutcomeData 17 | 18 | 19 | class TestOutcomeData(unittest.TestCase): 20 | """OutcomeData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testOutcomeData(self): 29 | """Test OutcomeData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = OutcomeData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_segment_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_data import SegmentData 17 | 18 | 19 | class TestSegmentData(unittest.TestCase): 20 | """SegmentData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSegmentData(self): 29 | """Test SegmentData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = SegmentData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/NotificationAllOf.md: -------------------------------------------------------------------------------- 1 | # NotificationAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **send_after** | **datetime, none_type** | Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date & time. \"Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\" \"September 24th 2015, 2:00:00 pm UTC-07:00\" \"2015-09-24 14:00:00 GMT-0700\" \"Sept 24 2015 14:00:00 GMT-0700\" \"Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\" Note: SMS currently only supports send_after parameter. | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/test_api_key_token.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.api_key_token import ApiKeyToken 17 | 18 | 19 | class TestApiKeyToken(unittest.TestCase): 20 | """ApiKeyToken unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testApiKeyToken(self): 29 | """Test ApiKeyToken""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ApiKeyToken() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_delivery_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.delivery_data import DeliveryData 17 | 18 | 19 | class TestDeliveryData(unittest.TestCase): 20 | """DeliveryData unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testDeliveryData(self): 29 | """Test DeliveryData""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = DeliveryData() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_generic_error.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.generic_error import GenericError 17 | 18 | 19 | class TestGenericError(unittest.TestCase): 20 | """GenericError unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGenericError(self): 29 | """Test GenericError""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GenericError() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_subscription.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.subscription import Subscription 17 | 18 | 19 | class TestSubscription(unittest.TestCase): 20 | """Subscription unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSubscription(self): 29 | """Test Subscription""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = Subscription() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_apps.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.app import App 17 | globals()['App'] = App 18 | from onesignal.model.apps import Apps 19 | 20 | 21 | class TestApps(unittest.TestCase): 22 | """Apps unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testApps(self): 31 | """Test Apps""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = Apps() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_identity_object.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | 18 | 19 | class TestIdentityObject(unittest.TestCase): 20 | """IdentityObject unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testIdentityObject(self): 29 | """Test IdentityObject""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = IdentityObject() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_include_aliases.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.include_aliases import IncludeAliases 17 | 18 | 19 | class TestIncludeAliases(unittest.TestCase): 20 | """IncludeAliases unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testIncludeAliases(self): 29 | """Test IncludeAliases""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = IncludeAliases() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_rate_limit_error.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.rate_limit_error import RateLimitError 17 | 18 | 19 | class TestRateLimitError(unittest.TestCase): 20 | """RateLimitError unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testRateLimitError(self): 29 | """Test RateLimitError""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = RateLimitError() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/GetNotificationHistoryRequestBody.md: -------------------------------------------------------------------------------- 1 | # GetNotificationHistoryRequestBody 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **events** | **str** | -> \"sent\" - All the devices by player_id that were sent the specified notification_id. Notifications targeting under 1000 recipients will not have \"sent\" events recorded, but will show \"clicked\" events. \"clicked\" - All the devices by `player_id` that clicked the specified notification_id. | [optional] 8 | **email** | **str** | The email address you would like the report sent. | [optional] 9 | **app_id** | **str** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/test_template_resource.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.template_resource import TemplateResource 17 | 18 | 19 | class TestTemplateResource(unittest.TestCase): 20 | """TemplateResource unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testTemplateResource(self): 29 | """Test TemplateResource""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = TemplateResource() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/DeliveryData.md: -------------------------------------------------------------------------------- 1 | # DeliveryData 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **successful** | **int, none_type** | Number of messages delivered to push servers, mobile carriers, or email service providers. | [optional] 8 | **failed** | **int, none_type** | Number of messages sent to unsubscribed devices. | [optional] 9 | **errored** | **int, none_type** | Number of errors reported. | [optional] 10 | **converted** | **int, none_type** | Number of messages that were clicked. | [optional] 11 | **received** | **int, none_type** | Number of devices that received the message. | [optional] 12 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_language_string_map.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | 18 | 19 | class TestLanguageStringMap(unittest.TestCase): 20 | """LanguageStringMap unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testLanguageStringMap(self): 29 | """Test LanguageStringMap""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = LanguageStringMap() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_all_of import NotificationAllOf 17 | 18 | 19 | class TestNotificationAllOf(unittest.TestCase): 20 | """NotificationAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testNotificationAllOf(self): 29 | """Test NotificationAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = NotificationAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/IncludeAliases.md: -------------------------------------------------------------------------------- 1 | # IncludeAliases 2 | 3 | Target specific users by aliases assigned via API. An alias can be an external_id, onesignal_id, or a custom alias. Accepts an object where keys are alias labels and values are arrays of alias IDs to include Example usage: { \"external_id\": [\"exId1\", \"extId2\"], \"internal_label\": [\"id1\", \"id2\"] } Not compatible with any other targeting parameters. REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call Note: If targeting push, email, or sms subscribers with same ids, use with target_channel to indicate you are sending a push or email or sms. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **any string name** | **[str]** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/test_copy_template_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.copy_template_request import CopyTemplateRequest 17 | 18 | 19 | class TestCopyTemplateRequest(unittest.TestCase): 20 | """CopyTemplateRequest unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCopyTemplateRequest(self): 29 | """Test CopyTemplateRequest""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CopyTemplateRequest() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_api_key_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_api_key_request import CreateApiKeyRequest 17 | 18 | 19 | class TestCreateApiKeyRequest(unittest.TestCase): 20 | """CreateApiKeyRequest unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateApiKeyRequest(self): 29 | """Test CreateApiKeyRequest""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateApiKeyRequest() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_update_api_key_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.update_api_key_request import UpdateApiKeyRequest 17 | 18 | 19 | class TestUpdateApiKeyRequest(unittest.TestCase): 20 | """UpdateApiKeyRequest unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testUpdateApiKeyRequest(self): 29 | """Test UpdateApiKeyRequest""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = UpdateApiKeyRequest() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_api_key_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_api_key_response import CreateApiKeyResponse 17 | 18 | 19 | class TestCreateApiKeyResponse(unittest.TestCase): 20 | """CreateApiKeyResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateApiKeyResponse(self): 29 | """Test CreateApiKeyResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateApiKeyResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_segment.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter_expression import FilterExpression 17 | globals()['FilterExpression'] = FilterExpression 18 | from onesignal.model.segment import Segment 19 | 20 | 21 | class TestSegment(unittest.TestCase): 22 | """Segment unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testSegment(self): 31 | """Test Segment""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = Segment() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /docs/PropertiesObject.md: -------------------------------------------------------------------------------- 1 | # PropertiesObject 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **tags** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] 8 | **language** | **str** | | [optional] 9 | **timezone_id** | **str** | | [optional] 10 | **lat** | **float** | | [optional] 11 | **long** | **float** | | [optional] 12 | **country** | **str** | | [optional] 13 | **first_active** | **int** | | [optional] 14 | **last_active** | **int** | | [optional] 15 | **amount_spent** | **float** | | [optional] 16 | **purchases** | [**[Purchase]**](Purchase.md) | | [optional] 17 | **ip** | **str** | | [optional] 18 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 19 | 20 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 21 | 22 | 23 | -------------------------------------------------------------------------------- /test/test_outcomes_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.outcome_data import OutcomeData 17 | globals()['OutcomeData'] = OutcomeData 18 | from onesignal.model.outcomes_data import OutcomesData 19 | 20 | 21 | class TestOutcomesData(unittest.TestCase): 22 | """OutcomesData unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testOutcomesData(self): 31 | """Test OutcomesData""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = OutcomesData() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_segment_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 17 | 18 | 19 | class TestSegmentNotificationTarget(unittest.TestCase): 20 | """SegmentNotificationTarget unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testSegmentNotificationTarget(self): 29 | """Test SegmentNotificationTarget""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = SegmentNotificationTarget() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/BasicNotificationAllOfAndroidBackgroundLayout.md: -------------------------------------------------------------------------------- 1 | # BasicNotificationAllOfAndroidBackgroundLayout 2 | 3 | Channel: Push Notifications Platform: Android Allowing setting a background image for the notification. This is a JSON object containing the following keys. See our Background Image documentation for image sizes. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **image** | **str** | Asset file, android resource name, or URL to remote image. | [optional] 9 | **headings_color** | **str** | Title text color ARGB Hex format. Example(Blue) \"FF0000FF\". | [optional] 10 | **contents_color** | **str** | Body text color ARGB Hex format. Example(Red) \"FFFF0000\". | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/UpdateTemplateRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateTemplateRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | Updated name of the template. | [optional] 8 | **contents** | [**LanguageStringMap**](LanguageStringMap.md) | | [optional] 9 | **is_email** | **bool** | Set true for an Email template. | [optional] 10 | **email_subject** | **str, none_type** | Subject of the email. | [optional] 11 | **email_body** | **str, none_type** | Body of the email (HTML supported). | [optional] 12 | **is_sms** | **bool** | Set true for an SMS template. | [optional] 13 | **dynamic_content** | **str, none_type** | JSON string for dynamic content personalization. | [optional] 14 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/test_generic_success_bool_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.generic_success_bool_response import GenericSuccessBoolResponse 17 | 18 | 19 | class TestGenericSuccessBoolResponse(unittest.TestCase): 20 | """GenericSuccessBoolResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGenericSuccessBoolResponse(self): 29 | """Test GenericSuccessBoolResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GenericSuccessBoolResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | 27 | # PyInstaller 28 | # Usually these files are written by a python script from a template 29 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 30 | *.manifest 31 | *.spec 32 | 33 | # Installer logs 34 | pip-log.txt 35 | pip-delete-this-directory.txt 36 | 37 | # Unit test / coverage reports 38 | htmlcov/ 39 | .tox/ 40 | .coverage 41 | .coverage.* 42 | .cache 43 | nosetests.xml 44 | coverage.xml 45 | *,cover 46 | .hypothesis/ 47 | venv/ 48 | .venv/ 49 | .python-version 50 | .pytest_cache 51 | 52 | # Translations 53 | *.mo 54 | *.pot 55 | 56 | # Django stuff: 57 | *.log 58 | 59 | # Sphinx documentation 60 | docs/_build/ 61 | 62 | # PyBuilder 63 | target/ 64 | 65 | #Ipython Notebook 66 | .ipynb_checkpoints 67 | -------------------------------------------------------------------------------- /docs/SegmentNotificationTarget.md: -------------------------------------------------------------------------------- 1 | # SegmentNotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **included_segments** | **[str]** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 8 | **excluded_segments** | **[str]** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /test/test_properties_deltas.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | globals()['Purchase'] = Purchase 18 | from onesignal.model.properties_deltas import PropertiesDeltas 19 | 20 | 21 | class TestPropertiesDeltas(unittest.TestCase): 22 | """PropertiesDeltas unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesDeltas(self): 31 | """Test PropertiesDeltas""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesDeltas() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_properties_object.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.purchase import Purchase 17 | globals()['Purchase'] = Purchase 18 | from onesignal.model.properties_object import PropertiesObject 19 | 20 | 21 | class TestPropertiesObject(unittest.TestCase): 22 | """PropertiesObject unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesObject(self): 31 | """Test PropertiesObject""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesObject() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_export_events_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_events_success_response import ExportEventsSuccessResponse 17 | 18 | 19 | class TestExportEventsSuccessResponse(unittest.TestCase): 20 | """ExportEventsSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportEventsSuccessResponse(self): 29 | """Test ExportEventsSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportEventsSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_segment_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_segment_success_response import CreateSegmentSuccessResponse 17 | 18 | 19 | class TestCreateSegmentSuccessResponse(unittest.TestCase): 20 | """CreateSegmentSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateSegmentSuccessResponse(self): 29 | """Test CreateSegmentSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateSegmentSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data_sms_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 17 | 18 | 19 | class TestPlatformDeliveryDataSmsAllOf(unittest.TestCase): 20 | """PlatformDeliveryDataSmsAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPlatformDeliveryDataSmsAllOf(self): 29 | """Test PlatformDeliveryDataSmsAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = PlatformDeliveryDataSmsAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_subscription_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.subscription import Subscription 17 | globals()['Subscription'] = Subscription 18 | from onesignal.model.subscription_body import SubscriptionBody 19 | 20 | 21 | class TestSubscriptionBody(unittest.TestCase): 22 | """SubscriptionBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testSubscriptionBody(self): 31 | """Test SubscriptionBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = SubscriptionBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_create_segment_conflict_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_segment_conflict_response import CreateSegmentConflictResponse 17 | 18 | 19 | class TestCreateSegmentConflictResponse(unittest.TestCase): 20 | """CreateSegmentConflictResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateSegmentConflictResponse(self): 29 | """Test CreateSegmentConflictResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateSegmentConflictResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_properties_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.properties_object import PropertiesObject 17 | globals()['PropertiesObject'] = PropertiesObject 18 | from onesignal.model.properties_body import PropertiesBody 19 | 20 | 21 | class TestPropertiesBody(unittest.TestCase): 22 | """PropertiesBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testPropertiesBody(self): 31 | """Test PropertiesBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = PropertiesBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_export_subscriptions_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_subscriptions_request_body import ExportSubscriptionsRequestBody 17 | 18 | 19 | class TestExportSubscriptionsRequestBody(unittest.TestCase): 20 | """ExportSubscriptionsRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportSubscriptionsRequestBody(self): 29 | """Test ExportSubscriptionsRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportSubscriptionsRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data_email_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 17 | 18 | 19 | class TestPlatformDeliveryDataEmailAllOf(unittest.TestCase): 20 | """PlatformDeliveryDataEmailAllOf unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testPlatformDeliveryDataEmailAllOf(self): 29 | """Test PlatformDeliveryDataEmailAllOf""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = PlatformDeliveryDataEmailAllOf() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_user_identity_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | globals()['IdentityObject'] = IdentityObject 18 | from onesignal.model.user_identity_body import UserIdentityBody 19 | 20 | 21 | class TestUserIdentityBody(unittest.TestCase): 22 | """UserIdentityBody unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testUserIdentityBody(self): 31 | """Test UserIdentityBody""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = UserIdentityBody() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_transfer_subscription_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.transfer_subscription_request_body import TransferSubscriptionRequestBody 17 | 18 | 19 | class TestTransferSubscriptionRequestBody(unittest.TestCase): 20 | """TransferSubscriptionRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testTransferSubscriptionRequestBody(self): 29 | """Test TransferSubscriptionRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = TransferSubscriptionRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/CreateTemplateRequest.md: -------------------------------------------------------------------------------- 1 | # CreateTemplateRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **app_id** | **str** | Your OneSignal App ID in UUID v4 format. | 8 | **name** | **str** | Name of the template. | 9 | **contents** | [**LanguageStringMap**](LanguageStringMap.md) | | 10 | **is_email** | **bool** | Set true for an Email template. | [optional] 11 | **email_subject** | **str, none_type** | Subject of the email. | [optional] 12 | **email_body** | **str, none_type** | Body of the email (HTML supported). | [optional] 13 | **is_sms** | **bool** | Set true for an SMS template. | [optional] 14 | **dynamic_content** | **str, none_type** | JSON string for dynamic content personalization. | [optional] 15 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 16 | 17 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/test_custom_events_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.custom_event import CustomEvent 17 | globals()['CustomEvent'] = CustomEvent 18 | from onesignal.model.custom_events_request import CustomEventsRequest 19 | 20 | 21 | class TestCustomEventsRequest(unittest.TestCase): 22 | """CustomEventsRequest unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCustomEventsRequest(self): 31 | """Test CustomEventsRequest""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CustomEventsRequest() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_start_live_activity_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.start_live_activity_success_response import StartLiveActivitySuccessResponse 17 | 18 | 19 | class TestStartLiveActivitySuccessResponse(unittest.TestCase): 20 | """StartLiveActivitySuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testStartLiveActivitySuccessResponse(self): 29 | """Test StartLiveActivitySuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = StartLiveActivitySuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_create_notification_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_notification_success_response import CreateNotificationSuccessResponse 17 | 18 | 19 | class TestCreateNotificationSuccessResponse(unittest.TestCase): 20 | """CreateNotificationSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateNotificationSuccessResponse(self): 29 | """Test CreateNotificationSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateNotificationSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_get_notification_history_request_body.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.get_notification_history_request_body import GetNotificationHistoryRequestBody 17 | 18 | 19 | class TestGetNotificationHistoryRequestBody(unittest.TestCase): 20 | """GetNotificationHistoryRequestBody unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testGetNotificationHistoryRequestBody(self): 29 | """Test GetNotificationHistoryRequestBody""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = GetNotificationHistoryRequestBody() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_update_live_activity_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.update_live_activity_success_response import UpdateLiveActivitySuccessResponse 17 | 18 | 19 | class TestUpdateLiveActivitySuccessResponse(unittest.TestCase): 20 | """UpdateLiveActivitySuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testUpdateLiveActivitySuccessResponse(self): 29 | """Test UpdateLiveActivitySuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = UpdateLiveActivitySuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_export_subscriptions_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.export_subscriptions_success_response import ExportSubscriptionsSuccessResponse 17 | 18 | 19 | class TestExportSubscriptionsSuccessResponse(unittest.TestCase): 20 | """ExportSubscriptionsSuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testExportSubscriptionsSuccessResponse(self): 29 | """Test ExportSubscriptionsSuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = ExportSubscriptionsSuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification_history_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_history_success_response import NotificationHistorySuccessResponse 17 | 18 | 19 | class TestNotificationHistorySuccessResponse(unittest.TestCase): 20 | """NotificationHistorySuccessResponse unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testNotificationHistorySuccessResponse(self): 29 | """Test NotificationHistorySuccessResponse""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = NotificationHistorySuccessResponse() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_notification_slice.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.notification_with_meta import NotificationWithMeta 17 | globals()['NotificationWithMeta'] = NotificationWithMeta 18 | from onesignal.model.notification_slice import NotificationSlice 19 | 20 | 21 | class TestNotificationSlice(unittest.TestCase): 22 | """NotificationSlice unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testNotificationSlice(self): 31 | """Test NotificationSlice""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = NotificationSlice() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_templates_list_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.template_resource import TemplateResource 17 | globals()['TemplateResource'] = TemplateResource 18 | from onesignal.model.templates_list_response import TemplatesListResponse 19 | 20 | 21 | class TestTemplatesListResponse(unittest.TestCase): 22 | """TemplatesListResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testTemplatesListResponse(self): 31 | """Test TemplatesListResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = TemplatesListResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_create_template_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | globals()['LanguageStringMap'] = LanguageStringMap 18 | from onesignal.model.create_template_request import CreateTemplateRequest 19 | 20 | 21 | class TestCreateTemplateRequest(unittest.TestCase): 22 | """CreateTemplateRequest unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCreateTemplateRequest(self): 31 | """Test CreateTemplateRequest""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CreateTemplateRequest() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_filter_expression.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter import Filter 17 | from onesignal.model.operator import Operator 18 | globals()['Filter'] = Filter 19 | globals()['Operator'] = Operator 20 | from onesignal.model.filter_expression import FilterExpression 21 | 22 | 23 | class TestFilterExpression(unittest.TestCase): 24 | """FilterExpression unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testFilterExpression(self): 33 | """Test FilterExpression""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = FilterExpression() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == '__main__': 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /test/test_update_template_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | globals()['LanguageStringMap'] = LanguageStringMap 18 | from onesignal.model.update_template_request import UpdateTemplateRequest 19 | 20 | 21 | class TestUpdateTemplateRequest(unittest.TestCase): 22 | """UpdateTemplateRequest unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testUpdateTemplateRequest(self): 31 | """Test UpdateTemplateRequest""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = UpdateTemplateRequest() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_api_key_tokens_list_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.api_key_token import ApiKeyToken 17 | globals()['ApiKeyToken'] = ApiKeyToken 18 | from onesignal.model.api_key_tokens_list_response import ApiKeyTokensListResponse 19 | 20 | 21 | class TestApiKeyTokensListResponse(unittest.TestCase): 22 | """ApiKeyTokensListResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testApiKeyTokensListResponse(self): 31 | """Test ApiKeyTokensListResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = ApiKeyTokensListResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_get_segments_success_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.segment_data import SegmentData 17 | globals()['SegmentData'] = SegmentData 18 | from onesignal.model.get_segments_success_response import GetSegmentsSuccessResponse 19 | 20 | 21 | class TestGetSegmentsSuccessResponse(unittest.TestCase): 22 | """GetSegmentsSuccessResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testGetSegmentsSuccessResponse(self): 31 | """Test GetSegmentsSuccessResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = GetSegmentsSuccessResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_update_live_activity_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.language_string_map import LanguageStringMap 17 | globals()['LanguageStringMap'] = LanguageStringMap 18 | from onesignal.model.update_live_activity_request import UpdateLiveActivityRequest 19 | 20 | 21 | class TestUpdateLiveActivityRequest(unittest.TestCase): 22 | """UpdateLiveActivityRequest unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testUpdateLiveActivityRequest(self): 31 | """Test UpdateLiveActivityRequest""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = UpdateLiveActivityRequest() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response_errors_items_meta.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 17 | 18 | 19 | class TestCreateUserConflictResponseErrorsItemsMeta(unittest.TestCase): 20 | """CreateUserConflictResponseErrorsItemsMeta unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testCreateUserConflictResponseErrorsItemsMeta(self): 29 | """Test CreateUserConflictResponseErrorsItemsMeta""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = CreateUserConflictResponseErrorsItemsMeta() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryData.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryData 2 | 3 | Hash of delivery statistics broken out by target device platform. 4 | 5 | ## Properties 6 | Name | Type | Description | Notes 7 | ------------ | ------------- | ------------- | ------------- 8 | **edge_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 9 | **chrome_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 10 | **firefox_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 11 | **safari_web_push** | [**DeliveryData**](DeliveryData.md) | | [optional] 12 | **android** | [**DeliveryData**](DeliveryData.md) | | [optional] 13 | **ios** | [**DeliveryData**](DeliveryData.md) | | [optional] 14 | **sms** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 15 | **email** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /test/test_notification_with_meta_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 17 | globals()['PlatformDeliveryData'] = PlatformDeliveryData 18 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 19 | 20 | 21 | class TestNotificationWithMetaAllOf(unittest.TestCase): 22 | """NotificationWithMetaAllOf unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testNotificationWithMetaAllOf(self): 31 | """Test NotificationWithMetaAllOf""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = NotificationWithMetaAllOf() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_subscription_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.include_aliases import IncludeAliases 17 | globals()['IncludeAliases'] = IncludeAliases 18 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 19 | 20 | 21 | class TestSubscriptionNotificationTarget(unittest.TestCase): 22 | """SubscriptionNotificationTarget unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testSubscriptionNotificationTarget(self): 31 | """Test SubscriptionNotificationTarget""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = SubscriptionNotificationTarget() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_basic_notification_all_of_android_background_layout.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 17 | 18 | 19 | class TestBasicNotificationAllOfAndroidBackgroundLayout(unittest.TestCase): 20 | """BasicNotificationAllOfAndroidBackgroundLayout unit test stubs""" 21 | 22 | def setUp(self): 23 | pass 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def testBasicNotificationAllOfAndroidBackgroundLayout(self): 29 | """Test BasicNotificationAllOfAndroidBackgroundLayout""" 30 | # FIXME: construct object with mandatory attributes with example values 31 | # model = BasicNotificationAllOfAndroidBackgroundLayout() # noqa: E501 32 | pass 33 | 34 | 35 | if __name__ == '__main__': 36 | unittest.main() 37 | -------------------------------------------------------------------------------- /test/test_user.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.identity_object import IdentityObject 17 | from onesignal.model.properties_object import PropertiesObject 18 | from onesignal.model.subscription import Subscription 19 | globals()['IdentityObject'] = IdentityObject 20 | globals()['PropertiesObject'] = PropertiesObject 21 | globals()['Subscription'] = Subscription 22 | from onesignal.model.user import User 23 | 24 | 25 | class TestUser(unittest.TestCase): 26 | """User unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testUser(self): 35 | """Test User""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = User() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /docs/CustomEvent.md: -------------------------------------------------------------------------------- 1 | # CustomEvent 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | The identifier or name of the event. Maximum 128 characters. | 8 | **external_id** | **str, none_type** | The external ID of the user targeted for the event. Either the user's External ID or OneSignal ID is required. | [optional] 9 | **onesignal_id** | **str, none_type** | The OneSignal ID of the user targeted for the event. Either the user's External ID or OneSignal ID is required. | [optional] 10 | **timestamp** | **datetime** | Time the event occurred as an ISO8601 formatted string. Defaults to now if not included or past date provided. | [optional] 11 | **payload** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Properties or data related to the event, like {\"geography\": \"USA\"} | [optional] 12 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/Subscription.md: -------------------------------------------------------------------------------- 1 | # Subscription 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] 8 | **type** | **str** | | [optional] 9 | **token** | **str** | | [optional] 10 | **enabled** | **bool** | | [optional] 11 | **notification_types** | **int** | | [optional] 12 | **session_time** | **int** | | [optional] 13 | **session_count** | **int** | | [optional] 14 | **sdk** | **str** | | [optional] 15 | **device_model** | **str** | | [optional] 16 | **device_os** | **str** | | [optional] 17 | **rooted** | **bool** | | [optional] 18 | **test_type** | **int** | | [optional] 19 | **app_version** | **str** | | [optional] 20 | **net_type** | **int** | | [optional] 21 | **carrier** | **str** | | [optional] 22 | **web_auth** | **str** | | [optional] 23 | **web_p256** | **str** | | [optional] 24 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 25 | 26 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 27 | 28 | 29 | -------------------------------------------------------------------------------- /test/test_update_user_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.properties_deltas import PropertiesDeltas 17 | from onesignal.model.properties_object import PropertiesObject 18 | globals()['PropertiesDeltas'] = PropertiesDeltas 19 | globals()['PropertiesObject'] = PropertiesObject 20 | from onesignal.model.update_user_request import UpdateUserRequest 21 | 22 | 23 | class TestUpdateUserRequest(unittest.TestCase): 24 | """UpdateUserRequest unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testUpdateUserRequest(self): 33 | """Test UpdateUserRequest""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = UpdateUserRequest() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == '__main__': 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Modified MIT License 2 | 3 | Copyright 2022 OneSignal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | 1. The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | 2. All copies of substantial portions of the Software may only be used in connection 16 | with services provided by OneSignal. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 17 | globals()['CreateUserConflictResponseErrorsInner'] = CreateUserConflictResponseErrorsInner 18 | from onesignal.model.create_user_conflict_response import CreateUserConflictResponse 19 | 20 | 21 | class TestCreateUserConflictResponse(unittest.TestCase): 22 | """CreateUserConflictResponse unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCreateUserConflictResponse(self): 31 | """Test CreateUserConflictResponse""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CreateUserConflictResponse() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | from setuptools import setup, find_packages # noqa: H301 13 | 14 | NAME = "onesignal_python_api" 15 | VERSION = "5.3.0-beta1" 16 | # To install the library, run the following 17 | # 18 | # python setup.py install 19 | # 20 | # prerequisite: setuptools 21 | # http://pypi.python.org/pypi/setuptools 22 | 23 | REQUIRES = [ 24 | "urllib3 >= 1.25.3", 25 | "python-dateutil", 26 | ] 27 | 28 | setup( 29 | name=NAME, 30 | version=VERSION, 31 | description="OneSignal", 32 | author="OneSignal DevRel", 33 | author_email="devrel@onesignal.com", 34 | url="", 35 | keywords=["OpenAPI", "OpenAPI-Generator", "OneSignal"], 36 | python_requires=">=3.6", 37 | install_requires=REQUIRES, 38 | packages=find_packages(exclude=["test", "tests"]), 39 | include_package_data=True, 40 | long_description="""\ 41 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 42 | """ 43 | ) 44 | -------------------------------------------------------------------------------- /test/test_create_user_conflict_response_errors_inner.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 17 | globals()['CreateUserConflictResponseErrorsItemsMeta'] = CreateUserConflictResponseErrorsItemsMeta 18 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 19 | 20 | 21 | class TestCreateUserConflictResponseErrorsInner(unittest.TestCase): 22 | """CreateUserConflictResponseErrorsInner unit test stubs""" 23 | 24 | def setUp(self): 25 | pass 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def testCreateUserConflictResponseErrorsInner(self): 31 | """Test CreateUserConflictResponseErrorsInner""" 32 | # FIXME: construct object with mandatory attributes with example values 33 | # model = CreateUserConflictResponseErrorsInner() # noqa: E501 34 | pass 35 | 36 | 37 | if __name__ == '__main__': 38 | unittest.main() 39 | -------------------------------------------------------------------------------- /test/test_start_live_activity_request.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.filter_expression import FilterExpression 17 | from onesignal.model.include_aliases import IncludeAliases 18 | from onesignal.model.language_string_map import LanguageStringMap 19 | globals()['FilterExpression'] = FilterExpression 20 | globals()['IncludeAliases'] = IncludeAliases 21 | globals()['LanguageStringMap'] = LanguageStringMap 22 | from onesignal.model.start_live_activity_request import StartLiveActivityRequest 23 | 24 | 25 | class TestStartLiveActivityRequest(unittest.TestCase): 26 | """StartLiveActivityRequest unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testStartLiveActivityRequest(self): 35 | """Test StartLiveActivityRequest""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = StartLiveActivityRequest() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /docs/PlatformDeliveryDataEmailAllOf.md: -------------------------------------------------------------------------------- 1 | # PlatformDeliveryDataEmailAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **opened** | **int, none_type** | Number of times an email has been opened. | [optional] 8 | **unique_opens** | **int, none_type** | Number of unique recipients who have opened your email. | [optional] 9 | **clicks** | **int, none_type** | Number of clicked links from your email. This can include the recipient clicking email links multiple times. | [optional] 10 | **unique_clicks** | **int, none_type** | Number of unique clicks that your recipients have made on links from your email. | [optional] 11 | **bounced** | **int, none_type** | Number of recipients who registered as a hard or soft bounce and didn't receive your email. | [optional] 12 | **reported_spam** | **int, none_type** | Number of recipients who reported this email as spam. | [optional] 13 | **unsubscribed** | **int, none_type** | Number of recipients who opted out of your emails using the unsubscribe link in this email. | [optional] 14 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/test_notification_target.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.include_aliases import IncludeAliases 17 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 18 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 19 | globals()['IncludeAliases'] = IncludeAliases 20 | globals()['SegmentNotificationTarget'] = SegmentNotificationTarget 21 | globals()['SubscriptionNotificationTarget'] = SubscriptionNotificationTarget 22 | from onesignal.model.notification_target import NotificationTarget 23 | 24 | 25 | class TestNotificationTarget(unittest.TestCase): 26 | """NotificationTarget unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testNotificationTarget(self): 35 | """Test NotificationTarget""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = NotificationTarget() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /test/test_platform_delivery_data.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.delivery_data import DeliveryData 17 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 18 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 19 | globals()['DeliveryData'] = DeliveryData 20 | globals()['PlatformDeliveryDataEmailAllOf'] = PlatformDeliveryDataEmailAllOf 21 | globals()['PlatformDeliveryDataSmsAllOf'] = PlatformDeliveryDataSmsAllOf 22 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 23 | 24 | 25 | class TestPlatformDeliveryData(unittest.TestCase): 26 | """PlatformDeliveryData unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testPlatformDeliveryData(self): 35 | """Test PlatformDeliveryData""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = PlatformDeliveryData() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == '__main__': 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /docs/Filter.md: -------------------------------------------------------------------------------- 1 | # Filter 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **field** | **str** | Required. Name of the field to use as the first operand in the filter expression. | [optional] 8 | **key** | **str** | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] 9 | **value** | **str** | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] 10 | **hours_ago** | **str** | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] 11 | **radius** | **float** | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] 12 | **lat** | **float** | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] 13 | **long** | **float** | If `field` is `location`, this is *required* to specify the user's longitude. | [optional] 14 | **relation** | **str** | Required. Operator of a filter expression. | [optional] 15 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 16 | 17 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/test_basic_notification_all_of.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 17 | from onesignal.model.button import Button 18 | from onesignal.model.filter_expression import FilterExpression 19 | from onesignal.model.language_string_map import LanguageStringMap 20 | from onesignal.model.web_button import WebButton 21 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 22 | globals()['Button'] = Button 23 | globals()['FilterExpression'] = FilterExpression 24 | globals()['LanguageStringMap'] = LanguageStringMap 25 | globals()['WebButton'] = WebButton 26 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 27 | 28 | 29 | class TestBasicNotificationAllOf(unittest.TestCase): 30 | """BasicNotificationAllOf unit test stubs""" 31 | 32 | def setUp(self): 33 | pass 34 | 35 | def tearDown(self): 36 | pass 37 | 38 | def testBasicNotificationAllOf(self): 39 | """Test BasicNotificationAllOf""" 40 | # FIXME: construct object with mandatory attributes with example values 41 | # model = BasicNotificationAllOf() # noqa: E501 42 | pass 43 | 44 | 45 | if __name__ == '__main__': 46 | unittest.main() 47 | -------------------------------------------------------------------------------- /docs/FilterExpression.md: -------------------------------------------------------------------------------- 1 | # FilterExpression 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **field** | **str** | Required. Name of the field to use as the first operand in the filter expression. | [optional] 8 | **key** | **str** | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] 9 | **value** | **str** | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] 10 | **hours_ago** | **str** | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] 11 | **radius** | **float** | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] 12 | **lat** | **float** | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] 13 | **long** | **float** | If `field` is `location`, this is *required* to specify the user's longitude. | [optional] 14 | **relation** | **str** | Required. Operator of a filter expression. | [optional] 15 | **operator** | **str** | Strictly, this must be either `\"OR\"`, or `\"AND\"`. It can be used to compose Filters as part of a Filters object. | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /.github/workflows/pip_deploy.yml: -------------------------------------------------------------------------------- 1 | name: PIP Release 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | publish: 10 | name: Create GitHub Release 11 | runs-on: ubuntu-latest 12 | permissions: 13 | contents: write 14 | issues: write 15 | pull-requests: write 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v5 19 | with: 20 | fetch-depth: 0 21 | token: ${{ secrets.GITHUB_TOKEN }} 22 | - name: Create GitHub Release 23 | env: 24 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 25 | run: | 26 | npx -p semantic-release \ 27 | -p @semantic-release/changelog \ 28 | -p @semantic-release/git \ 29 | -p @semantic-release/github \ 30 | -p conventional-changelog-conventionalcommits \ 31 | semantic-release 32 | release: 33 | runs-on: ubuntu-latest 34 | steps: 35 | - uses: actions/checkout@v5 36 | - name: Set up Python 3.10 37 | uses: actions/setup-python@v6 38 | with: 39 | python-version: "3.10" 40 | - name: Install pypa/build 41 | run: >- 42 | python -m 43 | pip install 44 | build 45 | --user 46 | - name: Build a binary wheel and a source tarball 47 | run: >- 48 | python -m 49 | build 50 | --sdist 51 | --wheel 52 | --outdir dist/ 53 | . 54 | - name: Publish a Python distribution to PyPI 55 | uses: pypa/gh-action-pypi-publish@release/v1 56 | with: 57 | user: __token__ 58 | password: ${{ secrets.PYPI_API_TOKEN }} 59 | verbose: true -------------------------------------------------------------------------------- /.releaserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "branches": ["main"], 3 | "tagFormat": "${version}", 4 | "plugins": [ 5 | [ 6 | "@semantic-release/release-notes-generator", 7 | { 8 | "preset": "conventionalcommits", 9 | "writerOpts": { 10 | "types": [ 11 | { 12 | "type": "feat", 13 | "section": "Features" 14 | }, 15 | { 16 | "type": "fix", 17 | "section": "Bug Fixes" 18 | }, 19 | { 20 | "type": "docs", 21 | "section": "Documentation", 22 | "hidden": false 23 | }, 24 | { 25 | "type": "deps", 26 | "section": "Dependency Updates", 27 | "hidden": false 28 | }, 29 | { 30 | "type": "chore", 31 | "hidden": true 32 | }, 33 | { 34 | "type": "style", 35 | "hidden": true 36 | }, 37 | { 38 | "type": "refactor", 39 | "hidden": true 40 | }, 41 | { 42 | "type": "perf", 43 | "hidden": true 44 | }, 45 | { 46 | "type": "test", 47 | "hidden": true 48 | }, 49 | { 50 | "type": "ci", 51 | "hidden": true 52 | } 53 | ] 54 | } 55 | } 56 | ], 57 | [ 58 | "@semantic-release/changelog", 59 | { 60 | "changelogFile": "CHANGELOG.md", 61 | "changelogTitle": "# Changelog" 62 | } 63 | ], 64 | [ 65 | "@semantic-release/git", 66 | { 67 | "assets": ["**"], 68 | "message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes} [skip ci]" 69 | } 70 | ], 71 | "@semantic-release/github" 72 | ] 73 | } 74 | -------------------------------------------------------------------------------- /test/test_notification.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification import BasicNotification 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.filter_expression import FilterExpression 20 | from onesignal.model.include_aliases import IncludeAliases 21 | from onesignal.model.language_string_map import LanguageStringMap 22 | from onesignal.model.notification_all_of import NotificationAllOf 23 | from onesignal.model.web_button import WebButton 24 | globals()['BasicNotification'] = BasicNotification 25 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 26 | globals()['Button'] = Button 27 | globals()['FilterExpression'] = FilterExpression 28 | globals()['IncludeAliases'] = IncludeAliases 29 | globals()['LanguageStringMap'] = LanguageStringMap 30 | globals()['NotificationAllOf'] = NotificationAllOf 31 | globals()['WebButton'] = WebButton 32 | from onesignal.model.notification import Notification 33 | 34 | 35 | class TestNotification(unittest.TestCase): 36 | """Notification unit test stubs""" 37 | 38 | def setUp(self): 39 | pass 40 | 41 | def tearDown(self): 42 | pass 43 | 44 | def testNotification(self): 45 | """Test Notification""" 46 | # FIXME: construct object with mandatory attributes with example values 47 | # model = Notification() # noqa: E501 48 | pass 49 | 50 | 51 | if __name__ == '__main__': 52 | unittest.main() 53 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.yml: -------------------------------------------------------------------------------- 1 | name: 🪳 Bug report 2 | description: File a bug report 3 | title: "[Bug]: " 4 | labels: ["Bug"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Thanks for taking the time to fill out this bug report! 10 | - type: textarea 11 | id: what-happened 12 | attributes: 13 | label: What happened? 14 | description: Provide a thorough description of whats going on. 15 | placeholder: The latest version of the API library throws an exception when creating a notification targetting all Active Users. 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: reproduction-steps 20 | attributes: 21 | label: Steps to reproduce? 22 | description: Provide as much detail as posible to reproduce the issue. 23 | placeholder: | 24 | 1. Install vX.Y.Z of dependency 25 | 2. Run provided code snippet 26 | 3. Note that the app crashes 27 | render: Markdown 28 | validations: 29 | required: true 30 | - type: textarea 31 | id: what-are-expectations 32 | attributes: 33 | label: What did you expect to happen? 34 | description: Also tell us, what did you expect to happen? 35 | placeholder: I expected the API library to properly deserialize any response returned by OneSignal. 36 | validations: 37 | required: true 38 | - type: textarea 39 | id: logs 40 | attributes: 41 | label: Relevant log output 42 | description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. 43 | render: Shell 44 | - type: checkboxes 45 | id: terms 46 | attributes: 47 | label: Code of Conduct 48 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md) 49 | options: 50 | - label: I agree to follow this project's Code of Conduct 51 | required: true 52 | -------------------------------------------------------------------------------- /.github/workflows/asana-add-comment.yml: -------------------------------------------------------------------------------- 1 | name: Github --> Asana Add Comment Workflow 2 | 3 | on: 4 | issue_comment: 5 | types: [created] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: read 13 | steps: 14 | - name: Get Asana Task Corresponding to Issue 15 | env: 16 | ISSUE_ID: ${{ github.event.issue.id }} 17 | REPO_FULL_NAME: ${{ github.event.repository.full_name }} 18 | WORKSPACE_ID: "780103692902078" 19 | run: | 20 | REPO_SCOPED_ISSUE_ID="$REPO_FULL_NAME#$ISSUE_ID" 21 | 22 | curl --request GET \ 23 | --url "https://app.asana.com/api/1.0/workspaces/$WORKSPACE_ID/tasks/search?opt_fields=notes&text=$REPO_SCOPED_ISSUE_ID&sort_by=modified_at&sort_ascending=false" \ 24 | --header 'accept: application/json' \ 25 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 26 | --output response.json 27 | TASK_GID=$(jq -r '.data[0].gid' response.json) 28 | echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV 29 | - name: Comment on Asana Task 30 | env: 31 | ISSUE_COMMENT: ${{ github.event.comment.body }} 32 | COMMENTER_NAME: ${{ github.event.comment.user.login }} 33 | run: | 34 | BODY_DATA=$(jq -n \ 35 | --arg text "$ISSUE_COMMENT" \ 36 | --arg commenter_name "$COMMENTER_NAME" \ 37 | '{ 38 | "data": { 39 | "text": "\($commenter_name) left a comment:\n\n\($text)", 40 | } 41 | }') 42 | curl --request POST \ 43 | --url https://app.asana.com/api/1.0/tasks/$TASK_GID/stories \ 44 | --header 'accept: application/json' \ 45 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 46 | --header 'content-type: application/json' \ 47 | --data "$BODY_DATA" -------------------------------------------------------------------------------- /test/test_basic_notification.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.filter_expression import FilterExpression 20 | from onesignal.model.include_aliases import IncludeAliases 21 | from onesignal.model.language_string_map import LanguageStringMap 22 | from onesignal.model.notification_target import NotificationTarget 23 | from onesignal.model.web_button import WebButton 24 | globals()['BasicNotificationAllOf'] = BasicNotificationAllOf 25 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 26 | globals()['Button'] = Button 27 | globals()['FilterExpression'] = FilterExpression 28 | globals()['IncludeAliases'] = IncludeAliases 29 | globals()['LanguageStringMap'] = LanguageStringMap 30 | globals()['NotificationTarget'] = NotificationTarget 31 | globals()['WebButton'] = WebButton 32 | from onesignal.model.basic_notification import BasicNotification 33 | 34 | 35 | class TestBasicNotification(unittest.TestCase): 36 | """BasicNotification unit test stubs""" 37 | 38 | def setUp(self): 39 | pass 40 | 41 | def tearDown(self): 42 | pass 43 | 44 | def testBasicNotification(self): 45 | """Test BasicNotification""" 46 | # FIXME: construct object with mandatory attributes with example values 47 | # model = BasicNotification() # noqa: E501 48 | pass 49 | 50 | 51 | if __name__ == '__main__': 52 | unittest.main() 53 | -------------------------------------------------------------------------------- /docs/UpdateLiveActivityRequest.md: -------------------------------------------------------------------------------- 1 | # UpdateLiveActivityRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | An internal name to assist with your campaign organization. This does not get displayed in the message itself. | 8 | **event** | **str** | | 9 | **event_updates** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | This must match the ContentState interface you have defined within your Live Activity in your app. | 10 | **contents** | [**LanguageStringMap**](LanguageStringMap.md) | | [optional] 11 | **headings** | [**LanguageStringMap**](LanguageStringMap.md) | | [optional] 12 | **sound** | **str** | Sound file that is included in your app to play instead of the default device notification sound. Omit to disable vibration and sound for the notification. | [optional] 13 | **stale_date** | **int** | Accepts Unix timestamp in seconds. When time reaches the configured stale date, the system considers the Live Activity out of date, and the ActivityState of the Live Activity changes to ActivityState.stale. | [optional] 14 | **dismissal_date** | **int** | Accepts Unix timestamp in seconds; only allowed if event is \"end\" | [optional] 15 | **priority** | **int** | Delivery priority through the the push provider (APNs). Pass 10 for higher priority notifications, or 5 for lower priority notifications. Lower priority notifications are sent based on the power considerations of the end user's device. If not set, defaults to 10. Some providers (APNs) allow for a limited budget of high priority notifications per hour, and if that budget is exceeded, the provider may throttle notification delivery. | [optional] 16 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | 21 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | # READ AND DELETE THIS SECTION BEFORE SUBMITTING PR 3 | * **Fill out each _REQUIRED_ section** 4 | * **Fill out _OPTIONAL_ sections, remove section if it doesn't apply to your PR** 5 | * **Read and fill out each of the checklists below** 6 | * **Remove this section after reading** 7 | 8 | 9 | # Description 10 | ## One Line Summary 11 | **REQUIRED** - Very short description that summaries the changes in this PR. 12 | 13 | ## Details 14 | 15 | ### Motivation 16 | **REQUIRED -** Why is this code change being made? Or what is the goal of this PR? Examples: Fixes a specific bug, provides additional logging to debug future issues, feature to allow X. 17 | 18 | ### Scope 19 | **RECOMMEND - OPTIONAL -** What is intended to be effected. What is known not to change. Example: Notifications are grouped when parameter X is set, not enabled by default. 20 | 21 | ### OPTIONAL - Other 22 | **OPTIONAL -** Feel free to add any other sections or sub-sections that can explain your PR better. 23 | 24 | # Testing 25 | 26 | ## Manual testing 27 | **REQUIRED -** Explain what scenarios were tested and the environment. 28 | 29 | 30 | # Checklist 31 | ## Overview 32 | - [ ] I have filled out all **REQUIRED** sections above 33 | - [ ] PR does one thing 34 | - If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR 35 | - [ ] Any Public API changes are explained in the PR details and conform to existing APIs 36 | 37 | ## Testing 38 | - [ ] I have personally tested this on my device, or explained why that is not possible 39 | 40 | ## Final pass 41 | - [ ] Code is as readable as possible. 42 | - Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code. 43 | - [ ] I have reviewed this PR myself, ensuring it meets each checklist item 44 | - WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this. -------------------------------------------------------------------------------- /docs/NotificationWithMetaAllOf.md: -------------------------------------------------------------------------------- 1 | # NotificationWithMetaAllOf 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **remaining** | **int** | Number of notifications that have not been sent out yet. This can mean either our system is still processing the notification or you have delayed options set. | [optional] 8 | **successful** | **int** | Number of notifications that were successfully delivered. | [optional] 9 | **failed** | **int** | Number of notifications that could not be delivered due to those devices being unsubscribed. | [optional] 10 | **errored** | **int** | Number of notifications that could not be delivered due to an error. You can find more information by viewing the notification in the dashboard. | [optional] 11 | **converted** | **int** | Number of users who have clicked / tapped on your notification. | [optional] 12 | **queued_at** | **int** | Unix timestamp indicating when the notification was created. | [optional] 13 | **send_after** | **int, none_type** | Unix timestamp indicating when notification delivery should begin. | [optional] 14 | **completed_at** | **int, none_type** | Unix timestamp indicating when notification delivery completed. The delivery duration from start to finish can be calculated with completed_at - send_after. | [optional] 15 | **platform_delivery_stats** | [**PlatformDeliveryData**](PlatformDeliveryData.md) | | [optional] 16 | **received** | **int, none_type** | Confirmed Deliveries number of devices that received the push notification. Paid Feature Only. Free accounts will see 0. | [optional] 17 | **throttle_rate_per_minute** | **int, none_type** | number of push notifications sent per minute. Paid Feature Only. If throttling is not enabled for the app or the notification, and for free accounts, null is returned. Refer to Throttling for more details. | [optional] 18 | **canceled** | **bool** | Indicates whether the notification was canceled before it could be sent. | [optional] 19 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 20 | 21 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/test_notification_with_meta.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | import onesignal 16 | from onesignal.model.basic_notification import BasicNotification 17 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 18 | from onesignal.model.button import Button 19 | from onesignal.model.delivery_data import DeliveryData 20 | from onesignal.model.filter_expression import FilterExpression 21 | from onesignal.model.include_aliases import IncludeAliases 22 | from onesignal.model.language_string_map import LanguageStringMap 23 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 24 | from onesignal.model.outcome_data import OutcomeData 25 | from onesignal.model.outcomes_data import OutcomesData 26 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 27 | from onesignal.model.web_button import WebButton 28 | globals()['BasicNotification'] = BasicNotification 29 | globals()['BasicNotificationAllOfAndroidBackgroundLayout'] = BasicNotificationAllOfAndroidBackgroundLayout 30 | globals()['Button'] = Button 31 | globals()['DeliveryData'] = DeliveryData 32 | globals()['FilterExpression'] = FilterExpression 33 | globals()['IncludeAliases'] = IncludeAliases 34 | globals()['LanguageStringMap'] = LanguageStringMap 35 | globals()['NotificationWithMetaAllOf'] = NotificationWithMetaAllOf 36 | globals()['OutcomeData'] = OutcomeData 37 | globals()['OutcomesData'] = OutcomesData 38 | globals()['PlatformDeliveryData'] = PlatformDeliveryData 39 | globals()['WebButton'] = WebButton 40 | from onesignal.model.notification_with_meta import NotificationWithMeta 41 | 42 | 43 | class TestNotificationWithMeta(unittest.TestCase): 44 | """NotificationWithMeta unit test stubs""" 45 | 46 | def setUp(self): 47 | pass 48 | 49 | def tearDown(self): 50 | pass 51 | 52 | def testNotificationWithMeta(self): 53 | """Test NotificationWithMeta""" 54 | # FIXME: construct object with mandatory attributes with example values 55 | # model = NotificationWithMeta() # noqa: E501 56 | pass 57 | 58 | 59 | if __name__ == '__main__': 60 | unittest.main() 61 | -------------------------------------------------------------------------------- /docs/LanguageStringMap.md: -------------------------------------------------------------------------------- 1 | # LanguageStringMap 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **en** | **str** | Text in English. Will be used as a fallback | [optional] 8 | **ar** | **str** | Text in Arabic. | [optional] 9 | **bs** | **str** | Text in Bosnian. | [optional] 10 | **bg** | **str** | Text in Bulgarian. | [optional] 11 | **ca** | **str** | Text in Catalan. | [optional] 12 | **zh_hans** | **str** | Text in Chinese (Simplified). | [optional] 13 | **zh_hant** | **str** | Text in Chinese (Traditional). | [optional] 14 | **zh** | **str** | Alias for zh-Hans. | [optional] 15 | **hr** | **str** | Text in Croatian. | [optional] 16 | **cs** | **str** | Text in Czech. | [optional] 17 | **da** | **str** | Text in Danish. | [optional] 18 | **nl** | **str** | Text in Dutch. | [optional] 19 | **et** | **str** | Text in Estonian. | [optional] 20 | **fi** | **str** | Text in Finnish. | [optional] 21 | **fr** | **str** | Text in French. | [optional] 22 | **ka** | **str** | Text in Georgian. | [optional] 23 | **de** | **str** | Text in German. | [optional] 24 | **el** | **str** | Text in Greek. | [optional] 25 | **hi** | **str** | Text in Hindi. | [optional] 26 | **he** | **str** | Text in Hebrew. | [optional] 27 | **hu** | **str** | Text in Hungarian. | [optional] 28 | **id** | **str** | Text in Indonesian. | [optional] 29 | **it** | **str** | Text in Italian. | [optional] 30 | **ja** | **str** | Text in Japanese. | [optional] 31 | **ko** | **str** | Text in Korean. | [optional] 32 | **lv** | **str** | Text in Latvian. | [optional] 33 | **lt** | **str** | Text in Lithuanian. | [optional] 34 | **ms** | **str** | Text in Malay. | [optional] 35 | **nb** | **str** | Text in Norwegian. | [optional] 36 | **pl** | **str** | Text in Polish. | [optional] 37 | **fa** | **str** | Text in Persian. | [optional] 38 | **pt** | **str** | Text in Portugese. | [optional] 39 | **pa** | **str** | Text in Punjabi. | [optional] 40 | **ro** | **str** | Text in Romanian. | [optional] 41 | **ru** | **str** | Text in Russian. | [optional] 42 | **sr** | **str** | Text in Serbian. | [optional] 43 | **sk** | **str** | Text in Slovak. | [optional] 44 | **es** | **str** | Text in Spanish. | [optional] 45 | **sv** | **str** | Text in Swedish. | [optional] 46 | **th** | **str** | Text in Thai. | [optional] 47 | **tr** | **str** | Text in Turkish. | [optional] 48 | **uk** | **str** | Text in Ukrainian. | [optional] 49 | **vi** | **str** | Text in Vietnamese. | [optional] 50 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 51 | 52 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 53 | 54 | 55 | -------------------------------------------------------------------------------- /docs/StartLiveActivityRequest.md: -------------------------------------------------------------------------------- 1 | # StartLiveActivityRequest 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | An internal name to assist with your campaign organization. This does not get displayed in the message itself. | 8 | **activity_id** | **str** | Set a unique activity_id to track and manage the Live Activity. | 9 | **event_attributes** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Default/static data to initialize the Live Activity upon start. | 10 | **event_updates** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Dynamic content used to update the running Live Activity at start. Must match the ContentState interface defined in your app. | 11 | **contents** | [**LanguageStringMap**](LanguageStringMap.md) | | 12 | **headings** | [**LanguageStringMap**](LanguageStringMap.md) | | 13 | **event** | **str** | | defaults to "start" 14 | **stale_date** | **int** | Accepts Unix timestamp in seconds. When time reaches the configured stale date, the system considers the Live Activity out of date, and the ActivityState of the Live Activity changes to ActivityState.stale. | [optional] 15 | **priority** | **int** | Delivery priority through the push provider (APNs). Pass 10 for higher priority notifications, or 5 for lower priority notifications. Lower priority notifications are sent based on the power considerations of the end user's device. If not set, defaults to 10. | [optional] 16 | **ios_relevance_score** | **float, none_type** | iOS 15+. A score to indicate how a notification should be displayed when grouped. Use a float between 0-1. | [optional] 17 | **idempotency_key** | **str, none_type** | Correlation and idempotency key. A request received with this parameter will first look for another notification with the same idempotency key. If one exists, a notification will not be sent, and result of the previous operation will instead be returned. Therefore, if you plan on using this feature, it's important to use a good source of randomness to generate the UUID passed here. This key is only idempotent for 30 days. After 30 days, the notification could be removed from our system and a notification with the same idempotency key will be sent again. See Idempotent Notification Requests for more details writeOnly: true | [optional] 18 | **include_aliases** | [**IncludeAliases**](IncludeAliases.md) | | [optional] 19 | **include_subscription_ids** | **[str], none_type** | Specific subscription ids to target. Not compatible with other targeting parameters. | [optional] 20 | **included_segments** | **[str], none_type** | Segment names to include. Only compatible with excluded_segments. | [optional] 21 | **excluded_segments** | **[str], none_type** | Segment names to exclude. Only compatible with included_segments. | [optional] 22 | **filters** | [**[FilterExpression], none_type**](FilterExpression.md) | | [optional] 23 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 24 | 25 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 26 | 27 | 28 | -------------------------------------------------------------------------------- /docs/SubscriptionNotificationTarget.md: -------------------------------------------------------------------------------- 1 | # SubscriptionNotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **include_subscription_ids** | **[str], none_type** | Specific subscription ids to send your notification to. _Does not require API Auth Key._ Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call | [optional] 8 | **include_email_tokens** | **[str]** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call | [optional] 9 | **include_phone_numbers** | **[str]** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call | [optional] 10 | **include_ios_tokens** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call | [optional] 11 | **include_wp_wns_uris** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call | [optional] 12 | **include_amazon_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call | [optional] 13 | **include_chrome_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 14 | **include_chrome_web_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 15 | **include_android_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 16 | **include_aliases** | [**IncludeAliases**](IncludeAliases.md) | | [optional] 17 | **target_channel** | **str** | | [optional] 18 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 19 | 20 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/NotificationTarget.md: -------------------------------------------------------------------------------- 1 | # NotificationTarget 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **included_segments** | **[str]** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 8 | **excluded_segments** | **[str]** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] | [optional] 9 | **include_subscription_ids** | **[str], none_type** | Specific subscription ids to send your notification to. _Does not require API Auth Key._ Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call | [optional] 10 | **include_email_tokens** | **[str]** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call | [optional] 11 | **include_phone_numbers** | **[str]** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call | [optional] 12 | **include_ios_tokens** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call | [optional] 13 | **include_wp_wns_uris** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call | [optional] 14 | **include_amazon_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call | [optional] 15 | **include_chrome_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 16 | **include_chrome_web_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 17 | **include_android_reg_ids** | **[str]** | Not Recommended: Please consider using include_subscription_ids or include_aliases instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call | [optional] 18 | **include_aliases** | [**IncludeAliases**](IncludeAliases.md) | | [optional] 19 | **target_channel** | **str** | | [optional] 20 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 21 | 22 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 23 | 24 | 25 | -------------------------------------------------------------------------------- /docs/App.md: -------------------------------------------------------------------------------- 1 | # App 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **str** | | [optional] [readonly] 8 | **name** | **str** | The name of your app, as displayed on your apps list on the dashboard. This can be renamed. | [optional] 9 | **players** | **int** | | [optional] [readonly] 10 | **messageable_players** | **int** | | [optional] [readonly] 11 | **updated_at** | **datetime** | | [optional] [readonly] 12 | **created_at** | **datetime** | | [optional] [readonly] 13 | **android_gcm_sender_id** | **str** | Android: Your Google Project number. Also known as Sender ID. | [optional] 14 | **gcm_key** | **str, none_type** | Android: Your Google Push Messaging Auth Key | [optional] 15 | **chrome_web_origin** | **str, none_type** | Chrome (All Browsers except Safari) (Recommended): The URL to your website. This field is required if you wish to enable web push and specify other web push parameters. | [optional] 16 | **chrome_key** | **str, none_type** | Not for web push. Your Google Push Messaging Auth Key if you use Chrome Apps / Extensions. | [optional] 17 | **chrome_web_default_notification_icon** | **str, none_type** | Chrome (All Browsers except Safari): Your default notification icon. Should be 256x256 pixels, min 80x80. | [optional] 18 | **chrome_web_sub_domain** | **str, none_type** | Chrome (All Browsers except Safari): A subdomain of your choice in order to support Web Push on non-HTTPS websites. This field must be set in order for the chrome_web_gcm_sender_id property to be processed. | [optional] 19 | **apns_env** | **str, none_type** | iOS: Either sandbox or production | [optional] 20 | **apns_p12** | **str** | iOS: Your apple push notification p12 certificate file, converted to a string and Base64 encoded. | [optional] 21 | **apns_p12_password** | **str** | iOS: Required if using p12 certificate. Password for the apns_p12 file. | [optional] 22 | **apns_certificates** | **str, none_type** | | [optional] [readonly] 23 | **safari_apns_certificates** | **str** | | [optional] [readonly] 24 | **safari_apns_p12** | **str** | Safari: Your apple push notification p12 certificate file for Safari Push Notifications, converted to a string and Base64 encoded. | [optional] 25 | **safari_apns_p12_password** | **str** | Safari: Password for safari_apns_p12 file | [optional] 26 | **apns_key_id** | **str, none_type** | iOS: Required if using p8. Unique identifier for the p8 authentication key. | [optional] 27 | **apns_team_id** | **str, none_type** | iOS: Required if using p8. Team ID generated by Apple for your developer account. | [optional] 28 | **apns_bundle_id** | **str, none_type** | iOS: Required if using p8. Bundle ID for your app in the Apple ecosystem. | [optional] 29 | **apns_p8** | **str, none_type** | iOS: Required if using p8. Base64 encoded p8 key | [optional] 30 | **safari_site_origin** | **str, none_type** | Safari (Recommended): The hostname to your website including http(s):// | [optional] 31 | **safari_push_id** | **str, none_type** | | [optional] [readonly] 32 | **safari_icon_16_16** | **str** | | [optional] [readonly] 33 | **safari_icon_32_32** | **str** | | [optional] [readonly] 34 | **safari_icon_64_64** | **str** | | [optional] [readonly] 35 | **safari_icon_128_128** | **str** | | [optional] [readonly] 36 | **safari_icon_256_256** | **str** | Safari: A url for a 256x256 png notification icon. This is the only Safari icon URL you need to provide. | [optional] 37 | **site_name** | **str, none_type** | All Browsers (Recommended): The Site Name. Requires both chrome_web_origin and safari_site_origin to be set to add or update it. | [optional] 38 | **basic_auth_key** | **str, none_type** | | [optional] [readonly] 39 | **organization_id** | **str** | The Id of the Organization you would like to add this app to. | [optional] 40 | **additional_data_is_root_payload** | **bool** | iOS: Notification data (additional data) values will be added to the root of the apns payload when sent to the device. Ignore if you're not using any other plugins, or not using OneSignal SDK methods to read the payload. | [optional] 41 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 42 | 43 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 44 | 45 | 46 | -------------------------------------------------------------------------------- /onesignal/models/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import all models into this package 4 | # if you have many models here with many references from one model to another this may 5 | # raise a RecursionError 6 | # to avoid this, import only the models that you directly need like: 7 | # from from onesignal.model.pet import Pet 8 | # or import this package, but before doing it, use: 9 | # import sys 10 | # sys.setrecursionlimit(n) 11 | 12 | from onesignal.model.api_key_token import ApiKeyToken 13 | from onesignal.model.api_key_tokens_list_response import ApiKeyTokensListResponse 14 | from onesignal.model.app import App 15 | from onesignal.model.apps import Apps 16 | from onesignal.model.basic_notification import BasicNotification 17 | from onesignal.model.basic_notification_all_of import BasicNotificationAllOf 18 | from onesignal.model.basic_notification_all_of_android_background_layout import BasicNotificationAllOfAndroidBackgroundLayout 19 | from onesignal.model.button import Button 20 | from onesignal.model.copy_template_request import CopyTemplateRequest 21 | from onesignal.model.create_api_key_request import CreateApiKeyRequest 22 | from onesignal.model.create_api_key_response import CreateApiKeyResponse 23 | from onesignal.model.create_notification_success_response import CreateNotificationSuccessResponse 24 | from onesignal.model.create_segment_conflict_response import CreateSegmentConflictResponse 25 | from onesignal.model.create_segment_success_response import CreateSegmentSuccessResponse 26 | from onesignal.model.create_template_request import CreateTemplateRequest 27 | from onesignal.model.create_user_conflict_response import CreateUserConflictResponse 28 | from onesignal.model.create_user_conflict_response_errors_inner import CreateUserConflictResponseErrorsInner 29 | from onesignal.model.create_user_conflict_response_errors_items_meta import CreateUserConflictResponseErrorsItemsMeta 30 | from onesignal.model.custom_event import CustomEvent 31 | from onesignal.model.custom_events_request import CustomEventsRequest 32 | from onesignal.model.delivery_data import DeliveryData 33 | from onesignal.model.export_events_success_response import ExportEventsSuccessResponse 34 | from onesignal.model.export_subscriptions_request_body import ExportSubscriptionsRequestBody 35 | from onesignal.model.export_subscriptions_success_response import ExportSubscriptionsSuccessResponse 36 | from onesignal.model.filter import Filter 37 | from onesignal.model.filter_expression import FilterExpression 38 | from onesignal.model.generic_error import GenericError 39 | from onesignal.model.generic_success_bool_response import GenericSuccessBoolResponse 40 | from onesignal.model.get_notification_history_request_body import GetNotificationHistoryRequestBody 41 | from onesignal.model.get_segments_success_response import GetSegmentsSuccessResponse 42 | from onesignal.model.identity_object import IdentityObject 43 | from onesignal.model.include_aliases import IncludeAliases 44 | from onesignal.model.language_string_map import LanguageStringMap 45 | from onesignal.model.notification import Notification 46 | from onesignal.model.notification_all_of import NotificationAllOf 47 | from onesignal.model.notification_history_success_response import NotificationHistorySuccessResponse 48 | from onesignal.model.notification_slice import NotificationSlice 49 | from onesignal.model.notification_target import NotificationTarget 50 | from onesignal.model.notification_with_meta import NotificationWithMeta 51 | from onesignal.model.notification_with_meta_all_of import NotificationWithMetaAllOf 52 | from onesignal.model.operator import Operator 53 | from onesignal.model.outcome_data import OutcomeData 54 | from onesignal.model.outcomes_data import OutcomesData 55 | from onesignal.model.platform_delivery_data import PlatformDeliveryData 56 | from onesignal.model.platform_delivery_data_email_all_of import PlatformDeliveryDataEmailAllOf 57 | from onesignal.model.platform_delivery_data_sms_all_of import PlatformDeliveryDataSmsAllOf 58 | from onesignal.model.properties_body import PropertiesBody 59 | from onesignal.model.properties_deltas import PropertiesDeltas 60 | from onesignal.model.properties_object import PropertiesObject 61 | from onesignal.model.purchase import Purchase 62 | from onesignal.model.rate_limit_error import RateLimitError 63 | from onesignal.model.segment import Segment 64 | from onesignal.model.segment_data import SegmentData 65 | from onesignal.model.segment_notification_target import SegmentNotificationTarget 66 | from onesignal.model.start_live_activity_request import StartLiveActivityRequest 67 | from onesignal.model.start_live_activity_success_response import StartLiveActivitySuccessResponse 68 | from onesignal.model.subscription import Subscription 69 | from onesignal.model.subscription_body import SubscriptionBody 70 | from onesignal.model.subscription_notification_target import SubscriptionNotificationTarget 71 | from onesignal.model.template_resource import TemplateResource 72 | from onesignal.model.templates_list_response import TemplatesListResponse 73 | from onesignal.model.transfer_subscription_request_body import TransferSubscriptionRequestBody 74 | from onesignal.model.update_api_key_request import UpdateApiKeyRequest 75 | from onesignal.model.update_live_activity_request import UpdateLiveActivityRequest 76 | from onesignal.model.update_live_activity_success_response import UpdateLiveActivitySuccessResponse 77 | from onesignal.model.update_template_request import UpdateTemplateRequest 78 | from onesignal.model.update_user_request import UpdateUserRequest 79 | from onesignal.model.user import User 80 | from onesignal.model.user_identity_body import UserIdentityBody 81 | from onesignal.model.web_button import WebButton 82 | -------------------------------------------------------------------------------- /.github/workflows/asana-create-task.yml: -------------------------------------------------------------------------------- 1 | name: Github --> Asana Create Task Workflow 2 | 3 | on: 4 | issues: 5 | types: [opened] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: read 13 | steps: 14 | - name: Create Asana task 15 | env: 16 | ISSUE_TITLE: ${{ github.event.issue.title }} 17 | ISSUE_BODY: ${{ github.event.issue.body }} 18 | ISSUE_HTML_URL: ${{ github.event.issue.html_url }} 19 | ISSUE_ID: ${{ github.event.issue.id }} 20 | ISSUE_NUMBER: ${{ github.event.issue.number }} 21 | REPO_FULL_NAME: ${{ github.event.repository.full_name }} 22 | SDK_PLATFORM_GROUP: "1208961704779581" 23 | SDK_PLATFORM_GROUP_SERVER: "1208961704779585" 24 | SDK_PLATFORM: "1208961704779592" 25 | SDK_PLATFORM_PYTHON: "1208961704779616" 26 | DSA_PRIORITY: "1208779519954980" 27 | DSA_PRIORITY_NO_PRIORITY: "1208779521616959" 28 | DSA_STATUS: "1210103546117753" 29 | DSA_STATUS_TRIAGE: "1210103546117756" 30 | DSA_REPO_TICKET_URL: "1210347857768758" 31 | WORKSPACE_ID: "780103692902078" 32 | PROJECT_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES: "1208970714650308" 33 | PROJECT_ID_SDK_BACKLOG: "1208777198342772" 34 | run: | 35 | DATA_BODY=$(jq -n \ 36 | --arg title "$ISSUE_TITLE" \ 37 | --arg body "$ISSUE_BODY" \ 38 | --arg url "$ISSUE_HTML_URL" \ 39 | --arg id "$ISSUE_ID" \ 40 | --arg number "$ISSUE_NUMBER" \ 41 | --arg repo_full_name "$REPO_FULL_NAME" \ 42 | --arg sdk_platform_group "$SDK_PLATFORM_GROUP" \ 43 | --arg sdk_platform_group_server "$SDK_PLATFORM_GROUP_SERVER" \ 44 | --arg sdk_platform "$SDK_PLATFORM" \ 45 | --arg sdk_platform_python "$SDK_PLATFORM_PYTHON" \ 46 | --arg dsa_priority "$DSA_PRIORITY" \ 47 | --arg dsa_priority_no_priority "$DSA_PRIORITY_NO_PRIORITY" \ 48 | --arg dsa_status "$DSA_STATUS" \ 49 | --arg dsa_status_triage "$DSA_STATUS_TRIAGE" \ 50 | --arg dsa_repo_ticket_url "$DSA_REPO_TICKET_URL" \ 51 | --arg workspace_id "$WORKSPACE_ID" \ 52 | --arg project_id_github_and_important_sdk_issues "$PROJECT_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES" \ 53 | --arg project_id_sdk_backlog "$PROJECT_ID_SDK_BACKLOG" \ 54 | '{ 55 | "data": { 56 | "custom_fields": { 57 | $sdk_platform_group: $sdk_platform_group_server, 58 | $sdk_platform: $sdk_platform_python, 59 | $dsa_priority: $dsa_priority_no_priority, 60 | $dsa_status: $dsa_status_triage, 61 | $dsa_repo_ticket_url: $url 62 | }, 63 | "name": $title, 64 | "workspace": $workspace_id, 65 | "projects": [$project_id_github_and_important_sdk_issues, $project_id_sdk_backlog], 66 | "notes": "Issue ID: \($repo_full_name)#\($id)\nIssue number: \($number)\nCreated via GitHub Actions\n----\n\n\($body)" 67 | } 68 | }') 69 | 70 | curl --request POST \ 71 | --url https://app.asana.com/api/1.0/tasks?opt_pretty=true \ 72 | --header 'accept: application/json' \ 73 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 74 | --header 'content-type: application/json' \ 75 | --data "$DATA_BODY" \ 76 | --output response.json 77 | 78 | TASK_GID=$(jq -r '.data.gid' response.json) 79 | echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV 80 | - name: Move to "0 Unclassified" section in "Github & Important SDK Issues" project 81 | env: 82 | SECTION_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES: "1208970755434051" 83 | run: | 84 | DATA_BODY=$(jq -n \ 85 | --arg task_gid "$TASK_GID" \ 86 | --arg section_id "$SECTION_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES" \ 87 | '{ 88 | "data": { 89 | "task": $task_gid, 90 | "insert_after": "null" 91 | } 92 | }') 93 | 94 | curl --request POST \ 95 | --url https://app.asana.com/api/1.0/sections/$section_id/addTask \ 96 | --header 'accept: application/json' \ 97 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 98 | --header 'content-type: application/json' \ 99 | --data "$DATA_BODY" 100 | - name: Move to "Untriaged" section in "SDK / Backlog" project 101 | env: 102 | SECTION_ID_SDK_BACKLOG: "1208899729378982" 103 | run: | 104 | DATA_BODY=$(jq -n \ 105 | --arg task_gid "$TASK_GID" \ 106 | --arg section_id "$SECTION_ID_SDK_BACKLOG" \ 107 | '{ 108 | "data": { 109 | "task": $task_gid, 110 | "insert_after": "null" 111 | } 112 | }') 113 | 114 | curl --request POST \ 115 | --url https://app.asana.com/api/1.0/sections/$section_id/addTask \ 116 | --header 'accept: application/json' \ 117 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 118 | --header 'content-type: application/json' \ 119 | --data "$DATA_BODY" -------------------------------------------------------------------------------- /onesignal/exceptions.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | class OpenApiException(Exception): 13 | """The base exception class for all OpenAPIExceptions""" 14 | 15 | 16 | class ApiTypeError(OpenApiException, TypeError): 17 | def __init__(self, msg, path_to_item=None, valid_classes=None, 18 | key_type=None): 19 | """ Raises an exception for TypeErrors 20 | 21 | Args: 22 | msg (str): the exception message 23 | 24 | Keyword Args: 25 | path_to_item (list): a list of keys an indices to get to the 26 | current_item 27 | None if unset 28 | valid_classes (tuple): the primitive classes that current item 29 | should be an instance of 30 | None if unset 31 | key_type (bool): False if our value is a value in a dict 32 | True if it is a key in a dict 33 | False if our item is an item in a list 34 | None if unset 35 | """ 36 | self.path_to_item = path_to_item 37 | self.valid_classes = valid_classes 38 | self.key_type = key_type 39 | full_msg = msg 40 | if path_to_item: 41 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 42 | super(ApiTypeError, self).__init__(full_msg) 43 | 44 | 45 | class ApiValueError(OpenApiException, ValueError): 46 | def __init__(self, msg, path_to_item=None): 47 | """ 48 | Args: 49 | msg (str): the exception message 50 | 51 | Keyword Args: 52 | path_to_item (list) the path to the exception in the 53 | received_data dict. None if unset 54 | """ 55 | 56 | self.path_to_item = path_to_item 57 | full_msg = msg 58 | if path_to_item: 59 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 60 | super(ApiValueError, self).__init__(full_msg) 61 | 62 | 63 | class ApiAttributeError(OpenApiException, AttributeError): 64 | def __init__(self, msg, path_to_item=None): 65 | """ 66 | Raised when an attribute reference or assignment fails. 67 | 68 | Args: 69 | msg (str): the exception message 70 | 71 | Keyword Args: 72 | path_to_item (None/list) the path to the exception in the 73 | received_data dict 74 | """ 75 | self.path_to_item = path_to_item 76 | full_msg = msg 77 | if path_to_item: 78 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 79 | super(ApiAttributeError, self).__init__(full_msg) 80 | 81 | 82 | class ApiKeyError(OpenApiException, KeyError): 83 | def __init__(self, msg, path_to_item=None): 84 | """ 85 | Args: 86 | msg (str): the exception message 87 | 88 | Keyword Args: 89 | path_to_item (None/list) the path to the exception in the 90 | received_data dict 91 | """ 92 | self.path_to_item = path_to_item 93 | full_msg = msg 94 | if path_to_item: 95 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 96 | super(ApiKeyError, self).__init__(full_msg) 97 | 98 | 99 | class ApiException(OpenApiException): 100 | 101 | def __init__(self, status=None, reason=None, http_resp=None): 102 | if http_resp: 103 | self.status = http_resp.status 104 | self.reason = http_resp.reason 105 | self.body = http_resp.data 106 | self.headers = http_resp.getheaders() 107 | else: 108 | self.status = status 109 | self.reason = reason 110 | self.body = None 111 | self.headers = None 112 | 113 | def __str__(self): 114 | """Custom error messages for exception""" 115 | error_message = "Status Code: {0}\n"\ 116 | "Reason: {1}\n".format(self.status, self.reason) 117 | if self.headers: 118 | error_message += "HTTP response headers: {0}\n".format( 119 | self.headers) 120 | 121 | if self.body: 122 | error_message += "HTTP response body: {0}\n".format(self.body) 123 | 124 | return error_message 125 | 126 | 127 | class NotFoundException(ApiException): 128 | 129 | def __init__(self, status=None, reason=None, http_resp=None): 130 | super(NotFoundException, self).__init__(status, reason, http_resp) 131 | 132 | 133 | class UnauthorizedException(ApiException): 134 | 135 | def __init__(self, status=None, reason=None, http_resp=None): 136 | super(UnauthorizedException, self).__init__(status, reason, http_resp) 137 | 138 | 139 | class ForbiddenException(ApiException): 140 | 141 | def __init__(self, status=None, reason=None, http_resp=None): 142 | super(ForbiddenException, self).__init__(status, reason, http_resp) 143 | 144 | 145 | class ServiceException(ApiException): 146 | 147 | def __init__(self, status=None, reason=None, http_resp=None): 148 | super(ServiceException, self).__init__(status, reason, http_resp) 149 | 150 | 151 | def render_path(path_to_item): 152 | """Returns a string representation of a path""" 153 | result = "" 154 | for pth in path_to_item: 155 | if isinstance(pth, int): 156 | result += "[{0}]".format(pth) 157 | else: 158 | result += "['{0}']".format(pth) 159 | return result 160 | -------------------------------------------------------------------------------- /.github/workflows/asana-update-issue.yml: -------------------------------------------------------------------------------- 1 | name: Github --> Asana Issue Updates Workflow 2 | 3 | on: 4 | issues: 5 | types: [edited, deleted, closed, reopened, assigned, unassigned, labeled, unlabeled, milestoned, demilestoned, pinned, unpinned, locked, unlocked, transferred] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: read 13 | steps: 14 | - name: Get Asana Task Corresponding to Issue 15 | env: 16 | ISSUE_ID: ${{ github.event.issue.id }} 17 | REPO_FULL_NAME: ${{ github.event.repository.full_name }} 18 | WORKSPACE_ID: "780103692902078" 19 | run: | 20 | REPO_SCOPED_ISSUE_ID="$REPO_FULL_NAME#$ISSUE_ID" 21 | 22 | curl --request GET \ 23 | --url "https://app.asana.com/api/1.0/workspaces/$WORKSPACE_ID/tasks/search?opt_fields=notes&text=$REPO_SCOPED_ISSUE_ID&sort_by=modified_at&sort_ascending=false" \ 24 | --header 'accept: application/json' \ 25 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 26 | --output response.json 27 | TASK_GID=$(jq -r '.data[0].gid' response.json) 28 | echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV 29 | - name: Determine Action and Post to Asana 30 | env: 31 | ACTION_TYPE: ${{ github.event.action }} 32 | ACTOR_NAME: ${{ github.event.sender.login }} 33 | ISSUE_TITLE: ${{ github.event.issue.title }} 34 | ISSUE_NUMBER: ${{ github.event.issue.number }} 35 | ISSUE_STATE: ${{ github.event.issue.state }} 36 | run: | 37 | # Map GitHub action types to human-readable descriptions 38 | case "$ACTION_TYPE" in 39 | "edited") 40 | ACTION_DESC="edited the issue" 41 | ;; 42 | "deleted") 43 | ACTION_DESC="deleted the issue" 44 | ;; 45 | "closed") 46 | ACTION_DESC="closed the issue" 47 | ;; 48 | "reopened") 49 | ACTION_DESC="reopened the issue" 50 | ;; 51 | "assigned") 52 | ACTION_DESC="assigned the issue" 53 | ;; 54 | "unassigned") 55 | ACTION_DESC="unassigned the issue" 56 | ;; 57 | "labeled") 58 | ACTION_DESC="added labels to the issue" 59 | ;; 60 | "unlabeled") 61 | ACTION_DESC="removed labels from the issue" 62 | ;; 63 | "milestoned") 64 | ACTION_DESC="added the issue to a milestone" 65 | ;; 66 | "demilestoned") 67 | ACTION_DESC="removed the issue from a milestone" 68 | ;; 69 | "pinned") 70 | ACTION_DESC="pinned the issue" 71 | ;; 72 | "unpinned") 73 | ACTION_DESC="unpinned the issue" 74 | ;; 75 | "locked") 76 | ACTION_DESC="locked the issue" 77 | ;; 78 | "unlocked") 79 | ACTION_DESC="unlocked the issue" 80 | ;; 81 | "transferred") 82 | ACTION_DESC="transferred the issue" 83 | ;; 84 | *) 85 | ACTION_DESC="performed an action on the issue" 86 | ;; 87 | esac 88 | 89 | # Add additional context for specific actions based on webhook payload 90 | if [ "$ACTION_TYPE" = "assigned" ] && [ -n "${{ github.event.assignee.login }}" ]; then 91 | ACTION_DESC="assigned the issue to ${{ github.event.assignee.login }}" 92 | fi 93 | 94 | if [ "$ACTION_TYPE" = "unassigned" ] && [ -n "${{ github.event.assignee.login }}" ]; then 95 | ACTION_DESC="unassigned the issue from ${{ github.event.assignee.login }}" 96 | fi 97 | 98 | if [ "$ACTION_TYPE" = "labeled" ] && [ -n "${{ github.event.label.name }}" ]; then 99 | LABEL_COLOR="${{ github.event.label.color }}" 100 | ACTION_DESC="added label '${{ github.event.label.name }}' to the issue" 101 | if [ -n "$LABEL_COLOR" ]; then 102 | ACTION_DESC="$ACTION_DESC (color: #$LABEL_COLOR)" 103 | fi 104 | fi 105 | 106 | if [ "$ACTION_TYPE" = "unlabeled" ] && [ -n "${{ github.event.label.name }}" ]; then 107 | LABEL_COLOR="${{ github.event.label.color }}" 108 | ACTION_DESC="removed label '${{ github.event.label.name }}' from the issue" 109 | if [ -n "$LABEL_COLOR" ]; then 110 | ACTION_DESC="$ACTION_DESC (color: #$LABEL_COLOR)" 111 | fi 112 | fi 113 | 114 | if [ "$ACTION_TYPE" = "milestoned" ] && [ -n "${{ github.event.milestone.title }}" ]; then 115 | MILESTONE_DUE_DATE="${{ github.event.milestone.due_on }}" 116 | ACTION_DESC="added the issue to milestone '${{ github.event.milestone.title }}'" 117 | if [ -n "$MILESTONE_DUE_DATE" ] && [ "$MILESTONE_DUE_DATE" != "null" ]; then 118 | ACTION_DESC="$ACTION_DESC (due: $MILESTONE_DUE_DATE)" 119 | fi 120 | fi 121 | 122 | if [ "$ACTION_TYPE" = "demilestoned" ] && [ -n "${{ github.event.milestone.title }}" ]; then 123 | ACTION_DESC="removed the issue from milestone '${{ github.event.milestone.title }}'" 124 | fi 125 | 126 | if [ "$ACTION_TYPE" = "transferred" ] && [ -n "${{ github.event.changes.new_repository.full_name }}" ]; then 127 | ACTION_DESC="transferred the issue to repository ${{ github.event.changes.new_repository.full_name }}" 128 | fi 129 | 130 | if [ "$ACTION_TYPE" = "edited" ] && [ -n "${{ github.event.changes.title.from }}" ]; then 131 | OLD_TITLE="${{ github.event.changes.title.from }}" 132 | NEW_TITLE="${{ github.event.issue.title }}" 133 | ACTION_DESC="edited the issue title from '$OLD_TITLE' to '$NEW_TITLE'" 134 | fi 135 | 136 | echo "ACTION_DESC=$ACTION_DESC" >> $GITHUB_ENV 137 | 138 | # Only proceed if we found a task 139 | if [ "$TASK_GID" != "null" ] && [ -n "$TASK_GID" ]; then 140 | # Create a more detailed message with additional context 141 | MESSAGE_TEXT="$ACTOR_NAME performed an action: $ACTION_DESC" 142 | 143 | # Add issue state information for state changes 144 | if [ "$ACTION_TYPE" = "closed" ] || [ "$ACTION_TYPE" = "reopened" ]; then 145 | MESSAGE_TEXT=$(printf "%s\nIssue state: %s" "$MESSAGE_TEXT" "$ISSUE_STATE") 146 | fi 147 | 148 | # Add repository information for transferred issues 149 | if [ "$ACTION_TYPE" = "transferred" ]; then 150 | REPO_NAME="${{ github.event.repository.full_name }}" 151 | MESSAGE_TEXT=$(printf "%s\nFrom repository: %s" "$MESSAGE_TEXT" "$REPO_NAME") 152 | fi 153 | 154 | MESSAGE_TEXT=$(printf "%s\n\nIssue: #%s - %s" "$MESSAGE_TEXT" "$ISSUE_NUMBER" "$ISSUE_TITLE") 155 | 156 | BODY_DATA=$(jq -n \ 157 | --arg text "$MESSAGE_TEXT" \ 158 | '{ 159 | "data": { 160 | "text": $text 161 | } 162 | }') 163 | 164 | curl --request POST \ 165 | --url https://app.asana.com/api/1.0/tasks/$TASK_GID/stories \ 166 | --header 'accept: application/json' \ 167 | --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \ 168 | --header 'content-type: application/json' \ 169 | --data "$BODY_DATA" 170 | else 171 | echo "No corresponding Asana task found for issue ID: $ISSUE_ID" 172 | fi -------------------------------------------------------------------------------- /test/test_default_api.py: -------------------------------------------------------------------------------- 1 | """ 2 | OneSignal 3 | 4 | A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com # noqa: E501 5 | 6 | The version of the OpenAPI document: 5.3.0 7 | Contact: devrel@onesignal.com 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import unittest 13 | 14 | import onesignal 15 | from onesignal.api.default_api import DefaultApi # noqa: E501 16 | 17 | 18 | class TestDefaultApi(unittest.TestCase): 19 | """DefaultApi unit test stubs""" 20 | 21 | def setUp(self): 22 | self.api = DefaultApi() # noqa: E501 23 | 24 | def tearDown(self): 25 | pass 26 | 27 | def test_cancel_notification(self): 28 | """Test case for cancel_notification 29 | 30 | Stop a scheduled or currently outgoing notification # noqa: E501 31 | """ 32 | pass 33 | 34 | def test_copy_template_to_app(self): 35 | """Test case for copy_template_to_app 36 | 37 | Copy template to another app # noqa: E501 38 | """ 39 | pass 40 | 41 | def test_create_alias(self): 42 | """Test case for create_alias 43 | 44 | """ 45 | pass 46 | 47 | def test_create_alias_by_subscription(self): 48 | """Test case for create_alias_by_subscription 49 | 50 | """ 51 | pass 52 | 53 | def test_create_api_key(self): 54 | """Test case for create_api_key 55 | 56 | Create API key # noqa: E501 57 | """ 58 | pass 59 | 60 | def test_create_app(self): 61 | """Test case for create_app 62 | 63 | Create an app # noqa: E501 64 | """ 65 | pass 66 | 67 | def test_create_custom_events(self): 68 | """Test case for create_custom_events 69 | 70 | Create custom events # noqa: E501 71 | """ 72 | pass 73 | 74 | def test_create_notification(self): 75 | """Test case for create_notification 76 | 77 | Create notification # noqa: E501 78 | """ 79 | pass 80 | 81 | def test_create_segment(self): 82 | """Test case for create_segment 83 | 84 | Create Segment # noqa: E501 85 | """ 86 | pass 87 | 88 | def test_create_subscription(self): 89 | """Test case for create_subscription 90 | 91 | """ 92 | pass 93 | 94 | def test_create_template(self): 95 | """Test case for create_template 96 | 97 | Create template # noqa: E501 98 | """ 99 | pass 100 | 101 | def test_create_user(self): 102 | """Test case for create_user 103 | 104 | """ 105 | pass 106 | 107 | def test_delete_alias(self): 108 | """Test case for delete_alias 109 | 110 | """ 111 | pass 112 | 113 | def test_delete_api_key(self): 114 | """Test case for delete_api_key 115 | 116 | Delete API key # noqa: E501 117 | """ 118 | pass 119 | 120 | def test_delete_segment(self): 121 | """Test case for delete_segment 122 | 123 | Delete Segment # noqa: E501 124 | """ 125 | pass 126 | 127 | def test_delete_subscription(self): 128 | """Test case for delete_subscription 129 | 130 | """ 131 | pass 132 | 133 | def test_delete_template(self): 134 | """Test case for delete_template 135 | 136 | Delete template # noqa: E501 137 | """ 138 | pass 139 | 140 | def test_delete_user(self): 141 | """Test case for delete_user 142 | 143 | """ 144 | pass 145 | 146 | def test_export_events(self): 147 | """Test case for export_events 148 | 149 | Export CSV of Events # noqa: E501 150 | """ 151 | pass 152 | 153 | def test_export_subscriptions(self): 154 | """Test case for export_subscriptions 155 | 156 | Export CSV of Subscriptions # noqa: E501 157 | """ 158 | pass 159 | 160 | def test_get_aliases(self): 161 | """Test case for get_aliases 162 | 163 | """ 164 | pass 165 | 166 | def test_get_aliases_by_subscription(self): 167 | """Test case for get_aliases_by_subscription 168 | 169 | """ 170 | pass 171 | 172 | def test_get_app(self): 173 | """Test case for get_app 174 | 175 | View an app # noqa: E501 176 | """ 177 | pass 178 | 179 | def test_get_apps(self): 180 | """Test case for get_apps 181 | 182 | View apps # noqa: E501 183 | """ 184 | pass 185 | 186 | def test_get_notification(self): 187 | """Test case for get_notification 188 | 189 | View notification # noqa: E501 190 | """ 191 | pass 192 | 193 | def test_get_notification_history(self): 194 | """Test case for get_notification_history 195 | 196 | Notification History # noqa: E501 197 | """ 198 | pass 199 | 200 | def test_get_notifications(self): 201 | """Test case for get_notifications 202 | 203 | View notifications # noqa: E501 204 | """ 205 | pass 206 | 207 | def test_get_outcomes(self): 208 | """Test case for get_outcomes 209 | 210 | View Outcomes # noqa: E501 211 | """ 212 | pass 213 | 214 | def test_get_segments(self): 215 | """Test case for get_segments 216 | 217 | Get Segments # noqa: E501 218 | """ 219 | pass 220 | 221 | def test_get_user(self): 222 | """Test case for get_user 223 | 224 | """ 225 | pass 226 | 227 | def test_rotate_api_key(self): 228 | """Test case for rotate_api_key 229 | 230 | Rotate API key # noqa: E501 231 | """ 232 | pass 233 | 234 | def test_start_live_activity(self): 235 | """Test case for start_live_activity 236 | 237 | Start Live Activity # noqa: E501 238 | """ 239 | pass 240 | 241 | def test_transfer_subscription(self): 242 | """Test case for transfer_subscription 243 | 244 | """ 245 | pass 246 | 247 | def test_unsubscribe_email_with_token(self): 248 | """Test case for unsubscribe_email_with_token 249 | 250 | Unsubscribe with token # noqa: E501 251 | """ 252 | pass 253 | 254 | def test_update_api_key(self): 255 | """Test case for update_api_key 256 | 257 | Update API key # noqa: E501 258 | """ 259 | pass 260 | 261 | def test_update_app(self): 262 | """Test case for update_app 263 | 264 | Update an app # noqa: E501 265 | """ 266 | pass 267 | 268 | def test_update_live_activity(self): 269 | """Test case for update_live_activity 270 | 271 | Update a Live Activity via Push # noqa: E501 272 | """ 273 | pass 274 | 275 | def test_update_subscription(self): 276 | """Test case for update_subscription 277 | 278 | """ 279 | pass 280 | 281 | def test_update_subscription_by_token(self): 282 | """Test case for update_subscription_by_token 283 | 284 | Update subscription by token # noqa: E501 285 | """ 286 | pass 287 | 288 | def test_update_template(self): 289 | """Test case for update_template 290 | 291 | Update template # noqa: E501 292 | """ 293 | pass 294 | 295 | def test_update_user(self): 296 | """Test case for update_user 297 | 298 | """ 299 | pass 300 | 301 | def test_view_api_keys(self): 302 | """Test case for view_api_keys 303 | 304 | View API keys # noqa: E501 305 | """ 306 | pass 307 | 308 | def test_view_template(self): 309 | """Test case for view_template 310 | 311 | View template # noqa: E501 312 | """ 313 | pass 314 | 315 | def test_view_templates(self): 316 | """Test case for view_templates 317 | 318 | View templates # noqa: E501 319 | """ 320 | pass 321 | 322 | 323 | if __name__ == '__main__': 324 | unittest.main() 325 | --------------------------------------------------------------------------------