app_store_connect_api_client 0.35.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +41 -0
- data/CHANGELOG.md +9 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +94 -0
- data/Rakefile +10 -0
- data/app_store_connect_api.gemspec +41 -0
- data/lib/app_store_connect_api/authorization.rb +36 -0
- data/lib/app_store_connect_api/client.rb +92 -0
- data/lib/app_store_connect_api/domain/age_rating_declarations.rb +14 -0
- data/lib/app_store_connect_api/domain/app_availabilities.rb +24 -0
- data/lib/app_store_connect_api/domain/app_categories.rb +27 -0
- data/lib/app_store_connect_api/domain/app_info_localizations.rb +31 -0
- data/lib/app_store_connect_api/domain/app_infos.rb +59 -0
- data/lib/app_store_connect_api/domain/app_price_points.rb +17 -0
- data/lib/app_store_connect_api/domain/app_price_schedules.rb +35 -0
- data/lib/app_store_connect_api/domain/app_store_version_localizations.rb +31 -0
- data/lib/app_store_connect_api/domain/app_store_version_phased_releases.rb +26 -0
- data/lib/app_store_connect_api/domain/app_store_version_release_requests.rb +13 -0
- data/lib/app_store_connect_api/domain/app_store_versions.rb +77 -0
- data/lib/app_store_connect_api/domain/apps.rb +125 -0
- data/lib/app_store_connect_api/domain/beta_app_localizations.rb +41 -0
- data/lib/app_store_connect_api/domain/beta_app_review_details.rb +29 -0
- data/lib/app_store_connect_api/domain/beta_app_review_submissions.rb +28 -0
- data/lib/app_store_connect_api/domain/beta_build_localizations.rb +41 -0
- data/lib/app_store_connect_api/domain/beta_groups.rb +81 -0
- data/lib/app_store_connect_api/domain/beta_license_agreements.rb +29 -0
- data/lib/app_store_connect_api/domain/beta_tester_invitations.rb +14 -0
- data/lib/app_store_connect_api/domain/beta_testers.rb +84 -0
- data/lib/app_store_connect_api/domain/build_beta_details.rb +29 -0
- data/lib/app_store_connect_api/domain/build_beta_notifications.rb +13 -0
- data/lib/app_store_connect_api/domain/builds.rb +105 -0
- data/lib/app_store_connect_api/domain/bundle_id_capabilities.rb +28 -0
- data/lib/app_store_connect_api/domain/bundle_ids.rb +50 -0
- data/lib/app_store_connect_api/domain/certificates.rb +29 -0
- data/lib/app_store_connect_api/domain/customer_reviews.rb +12 -0
- data/lib/app_store_connect_api/domain/devices.rb +31 -0
- data/lib/app_store_connect_api/domain/prerelease_versions.rb +27 -0
- data/lib/app_store_connect_api/domain/profiles.rb +44 -0
- data/lib/app_store_connect_api/domain/review_submission_items.rb +25 -0
- data/lib/app_store_connect_api/domain/review_submissions.rb +36 -0
- data/lib/app_store_connect_api/domain/sandbox_testers.rb +25 -0
- data/lib/app_store_connect_api/domain/user_invitations.rb +36 -0
- data/lib/app_store_connect_api/domain/users.rb +55 -0
- data/lib/app_store_connect_api/domain.rb +77 -0
- data/lib/app_store_connect_api/utils/hash_utils.rb +22 -0
- data/lib/app_store_connect_api/utils/relationship_mapper.rb +47 -0
- data/lib/app_store_connect_api/utils/string_utils.rb +31 -0
- data/lib/app_store_connect_api/version.rb +5 -0
- data/lib/app_store_connect_api.rb +28 -0
- metadata +198 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module AppPriceSchedules
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_an_app_s_price_schedule_information
|
7
|
+
def app_price_schedule(app_price_schedule_id, options = {})
|
8
|
+
get "/v1/appPriceSchedules/#{app_price_schedule_id}", options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/add_a_scheduled_price_change_to_an_app
|
12
|
+
def create_app_price_schedule(relationships, app_price_ids = [], territory_ids = [])
|
13
|
+
post '/v1/appPriceSchedules', data: { relationships: Utils::RelationshipMapper.expand(relationships, 'manualPrices' => 'appPrices', 'baseTerritories' => 'territories'),
|
14
|
+
included: Utils::RelationshipMapper.resource_keys(app_price_ids, 'appPrices') +
|
15
|
+
Utils::RelationshipMapper.resource_keys(territory_ids, 'territories'),
|
16
|
+
type: 'appPriceSchedules' }
|
17
|
+
end
|
18
|
+
|
19
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_automatically_generated_prices_for_an_app
|
20
|
+
def app_price_schedule_automatic_prices(app_price_schedule_id, options = {})
|
21
|
+
get "/v1/appPriceSchedules/#{app_price_schedule_id}/automaticPrices", options
|
22
|
+
end
|
23
|
+
|
24
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_manually_chosen_prices_for_an_app
|
25
|
+
def app_price_schedule_manual_prices(app_price_schedule_id, options = {})
|
26
|
+
get "/v1/appPriceSchedules/#{app_price_schedule_id}/manualPrices", options
|
27
|
+
end
|
28
|
+
|
29
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_base_territory_for_an_app_s_price_schedule
|
30
|
+
def app_price_schedule_base_territory(app_price_schedule_id, options = {})
|
31
|
+
get "/v1/appPriceSchedules/#{app_price_schedule_id}/baseTerritory", options
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module AppStoreVersionLocalizations
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_store_version_localization_information
|
7
|
+
def app_store_version_localization(app_store_version_localization_id, options = {})
|
8
|
+
get "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}", options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version_localization
|
12
|
+
def create_app_store_version_localization(attributes, relationships)
|
13
|
+
post '/v1/appStoreVersionLocalizations', data: { attributes: attributes,
|
14
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
15
|
+
type: 'appStoreVersionLocalizations' }
|
16
|
+
end
|
17
|
+
|
18
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_localization
|
19
|
+
def update_app_store_version_localization(app_store_version_localization_id, attributes)
|
20
|
+
patch "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}", data: { attributes: attributes,
|
21
|
+
id: app_store_version_localization_id,
|
22
|
+
type: 'appStoreVersionLocalizations' }
|
23
|
+
end
|
24
|
+
|
25
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version_localization
|
26
|
+
def delete_app_store_version_localization(app_store_version_localization_id)
|
27
|
+
delete "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module AppStoreVersionPhasedReleases
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version_phased_release
|
7
|
+
def create_app_store_version_phased_release(attributes, relationships)
|
8
|
+
post '/v1/appStoreVersionPhasedReleases', data: { attributes: attributes,
|
9
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
10
|
+
type: 'appStoreVersionPhasedReleases' }
|
11
|
+
end
|
12
|
+
|
13
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_phased_release
|
14
|
+
def update_app_store_version_phased_release(app_store_version_phased_release_id, attributes)
|
15
|
+
patch "/v1/appStoreVersionPhasedReleases/#{app_store_version_phased_release_id}", data: { attributes: attributes,
|
16
|
+
id: app_store_version_phased_release_id,
|
17
|
+
type: 'appStoreVersionPhasedReleases' }
|
18
|
+
end
|
19
|
+
|
20
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version_phased_release
|
21
|
+
def delete_app_store_version_phased_release(app_store_version_phased_release_id)
|
22
|
+
delete "/v1/appStoreVersionPhasedReleases/#{app_store_version_phased_release_id}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module AppStoreVersionReleaseRequests
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/manually_release_an_app_store_approved_version_of_your_app
|
7
|
+
def create_app_store_version_release_request(relationships)
|
8
|
+
post '/v1/appStoreVersionReleaseRequests', data: { relationships: Utils::RelationshipMapper.expand(relationships),
|
9
|
+
type: 'appStoreVersionReleaseRequests' }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module AppStoreVersions
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_store_version_information
|
7
|
+
def app_store_version(app_store_version_id, options = {})
|
8
|
+
get "/v1/appStoreVersions/#{app_store_version_id}", options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version
|
12
|
+
def create_app_store_version(attributes, relationships)
|
13
|
+
post '/v1/appStoreVersions', data: { attributes: attributes,
|
14
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
15
|
+
type: 'appStoreVersions' }
|
16
|
+
end
|
17
|
+
|
18
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version
|
19
|
+
def update_app_store_version(app_store_version_id, attributes = {}, relationships = {})
|
20
|
+
patch "/v1/appStoreVersions/#{app_store_version_id}", data: { attributes: attributes,
|
21
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
22
|
+
id: app_store_version_id,
|
23
|
+
type: 'appStoreVersions' }
|
24
|
+
end
|
25
|
+
|
26
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version
|
27
|
+
def delete_app_store_version(app_store_version_id)
|
28
|
+
delete "/v1/appStoreVersions/#{app_store_version_id}"
|
29
|
+
end
|
30
|
+
|
31
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_an_app_store_version
|
32
|
+
def app_store_version_build(app_store_version_id, options = {})
|
33
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/build", options
|
34
|
+
end
|
35
|
+
|
36
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/get_the_build_id_for_an_app_store_version
|
37
|
+
def app_store_version_build_id(app_store_version_id)
|
38
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/relationships/build"
|
39
|
+
end
|
40
|
+
|
41
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_the_build_for_an_app_store_version
|
42
|
+
def update_app_store_version_build(app_store_version_id, build_id)
|
43
|
+
patch "/v1/appStoreVersions/#{app_store_version_id}/relationships/build", data: { id: build_id, type: 'builds' }
|
44
|
+
end
|
45
|
+
|
46
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/get_v1_appstoreversions_id_appstoreversionexperiments
|
47
|
+
def app_store_version_app_store_version_experiments(app_store_version_id, options = {})
|
48
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionExperiments", options
|
49
|
+
end
|
50
|
+
|
51
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_version_localizations_for_an_app_store_version
|
52
|
+
def app_store_version_app_store_version_localizations(app_store_version_id, options = {})
|
53
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionLocalizations", options
|
54
|
+
end
|
55
|
+
|
56
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_store_version_phased_release_information_of_an_app_store_version
|
57
|
+
def app_store_version_app_store_version_phased_release(app_store_version_id, options = {})
|
58
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionPhasedRelease", options
|
59
|
+
end
|
60
|
+
|
61
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_store_review_details_resource_information_of_an_app_store_version
|
62
|
+
def app_store_version_app_store_review_detail(app_store_version_id, options = {})
|
63
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/appStoreReviewDetail", options
|
64
|
+
end
|
65
|
+
|
66
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_routing_app_coverage_information_of_an_app_store_version
|
67
|
+
def app_store_version_routing_app_coverage(app_store_version_id, options = {})
|
68
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/routingAppCoverage", options
|
69
|
+
end
|
70
|
+
|
71
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_customer_reviews_for_an_app_store_version
|
72
|
+
def app_store_version_customer_reviews(app_store_version_id, options = {})
|
73
|
+
get "/v1/appStoreVersions/#{app_store_version_id}/customerReviews", options
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module Apps
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_apps
|
7
|
+
def apps(options = {})
|
8
|
+
get '/v1/apps', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_information
|
12
|
+
def app(app_id, options = {})
|
13
|
+
get "/v1/apps/#{app_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app
|
17
|
+
def update_app(app_id, attributes = {}, app_price_ids = [])
|
18
|
+
patch "/v1/apps/#{app_id}", data: { attributes: attributes,
|
19
|
+
id: app_id,
|
20
|
+
type: 'apps' },
|
21
|
+
included: Utils::RelationshipMapper.resource_keys(app_price_ids, 'appPrices')
|
22
|
+
end
|
23
|
+
|
24
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_groups_for_an_app
|
25
|
+
def app_beta_groups(app_id, options = {})
|
26
|
+
get "/v1/apps/#{app_id}/betaGroups", options
|
27
|
+
end
|
28
|
+
|
29
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/remove_specified_beta_testers_from_all_groups_and_builds_of_an_app
|
30
|
+
def remove_app_beta_testers(app_id, beta_tester_ids)
|
31
|
+
delete "/v1/apps/#{app_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
|
32
|
+
end
|
33
|
+
|
34
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_beta_app_review_details_resource_of_an_app
|
35
|
+
def app_beta_app_review_detail(app_id, options = {})
|
36
|
+
get "/v1/apps/#{app_id}/betaAppReviewDetail", options
|
37
|
+
end
|
38
|
+
|
39
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_beta_license_agreement_of_an_app
|
40
|
+
def app_beta_license_agreement(app_id, options = {})
|
41
|
+
get "/v1/apps/#{app_id}/betaLicenseAgreement", options
|
42
|
+
end
|
43
|
+
|
44
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_app_localizations_of_an_app
|
45
|
+
def app_beta_app_localizations(app_id, options = {})
|
46
|
+
get "/v1/apps/#{app_id}/betaAppLocalizations", options
|
47
|
+
end
|
48
|
+
|
49
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_builds_of_an_app
|
50
|
+
def app_builds(app_id, options = {})
|
51
|
+
get "/v1/apps/#{app_id}/builds", options
|
52
|
+
end
|
53
|
+
|
54
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_prerelease_versions_for_an_app
|
55
|
+
def app_prerelease_versions(app_id, options = {})
|
56
|
+
get "/v1/apps/#{app_id}/preReleaseVersions", options
|
57
|
+
end
|
58
|
+
|
59
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_clips_for_an_app
|
60
|
+
def app_app_clips(app_id, options = {})
|
61
|
+
get "/v1/apps/#{app_id}/appClips", options
|
62
|
+
end
|
63
|
+
|
64
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_price_points_for_an_app
|
65
|
+
def app_app_price_points(app_id, options = {})
|
66
|
+
get "/v1/apps/#{app_id}/appPricePoints", options
|
67
|
+
end
|
68
|
+
|
69
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_versions_for_an_app
|
70
|
+
def app_app_store_versions(app_id, options = {})
|
71
|
+
get "/v1/apps/#{app_id}/appStoreVersions", options
|
72
|
+
end
|
73
|
+
|
74
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app
|
75
|
+
def app_app_infos(app_id, options = {})
|
76
|
+
get "/v1/apps/#{app_id}/appInfos", options
|
77
|
+
end
|
78
|
+
|
79
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_pre-order_information_of_an_app
|
80
|
+
def app_pre_order(app_id, options = {})
|
81
|
+
get "/v1/apps/#{app_id}/preOrder", options
|
82
|
+
end
|
83
|
+
|
84
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_end_user_license_agreement_information_of_an_app
|
85
|
+
def app_end_user_license_agreement(app_id, options = {})
|
86
|
+
get "/v1/apps/#{app_id}/endUserLicenseAgreement", options
|
87
|
+
end
|
88
|
+
|
89
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_custom_product_pages_for_an_app
|
90
|
+
def app_app_custom_product_pages(app_id, options = {})
|
91
|
+
get "/v1/apps/#{app_id}/appCustomProductPages", options
|
92
|
+
end
|
93
|
+
|
94
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_in-app_purchases_for_an_app
|
95
|
+
def app_in_app_purchases(app_id, options = {})
|
96
|
+
get "/v1/apps/#{app_id}/inAppPurchasesV2", options
|
97
|
+
end
|
98
|
+
|
99
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_promoted_purchases_for_an_app
|
100
|
+
def app_promoted_purchases(app_id, options = {})
|
101
|
+
get "/v1/apps/#{app_id}/promotedPurchases", options
|
102
|
+
end
|
103
|
+
|
104
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/get_review_submissions_for_an_app
|
105
|
+
def app_review_submissions(app_id, options = {})
|
106
|
+
get "/v1/apps/#{app_id}/reviewSubmissions", options
|
107
|
+
end
|
108
|
+
|
109
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_customer_reviews_for_an_app
|
110
|
+
def app_customer_reviews(app_id, options = {})
|
111
|
+
get "/v1/apps/#{app_id}/customerReviews", options
|
112
|
+
end
|
113
|
+
|
114
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_price_schedule_information_for_an_app
|
115
|
+
def app_app_price_schedule(app_id, options = {})
|
116
|
+
get "/v1/apps/#{app_id}/appPriceSchedule", options
|
117
|
+
end
|
118
|
+
|
119
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_availability_for_an_app
|
120
|
+
def app_app_availability(app_id, options = {})
|
121
|
+
get "/v1/apps/#{app_id}/appAvailability", options
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaAppLocalizations
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_localizations
|
7
|
+
def beta_app_localizations(options = {})
|
8
|
+
get '/v1/betaAppLocalizations', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_localization_information
|
12
|
+
def beta_app_localization(beta_app_localization_id, options = {})
|
13
|
+
get "/v1/betaAppLocalizations/#{beta_app_localization_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_app_localization
|
17
|
+
def create_beta_app_localization(attributes, relationships)
|
18
|
+
post '/v1/betaAppLocalizations', data: { attributes: attributes,
|
19
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
20
|
+
type: 'betaAppLocalizations' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_app_localization
|
24
|
+
def update_beta_app_localization(beta_app_localization_id, attributes)
|
25
|
+
patch "/v1/betaAppLocalizations/#{beta_app_localization_id}", data: { attributes: attributes,
|
26
|
+
id: beta_app_localization_id,
|
27
|
+
type: 'betaAppLocalizations' }
|
28
|
+
end
|
29
|
+
|
30
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_app_localization
|
31
|
+
def delete_beta_app_localization(beta_app_localization_id)
|
32
|
+
delete "/v1/betaAppLocalizations/#{beta_app_localization_id}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_app_localization
|
36
|
+
def beta_app_localization_app(beta_app_localization_id, options = {})
|
37
|
+
get "/v1/betaAppLocalizations/#{beta_app_localization_id}/app", options
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaAppReviewDetails
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_review_details
|
7
|
+
def beta_app_review_details(options = {})
|
8
|
+
get '/v1/betaAppReviewDetails', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_review_detail_information
|
12
|
+
def beta_app_review_detail(beta_app_review_detail_id, options = {})
|
13
|
+
get "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_app_review_detail
|
17
|
+
def update_beta_app_review_detail(beta_app_review_detail_id, attributes)
|
18
|
+
patch "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}", data: { attributes: attributes,
|
19
|
+
id: beta_app_review_detail_id,
|
20
|
+
type: 'betaAppReviewDetails' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_app_review_detail
|
24
|
+
def beta_app_review_detail_app(beta_app_review_detail_id, options = {})
|
25
|
+
get "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}/app", options
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaAppReviewSubmissions
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_review_submissions
|
7
|
+
def beta_app_review_submissions(options = {})
|
8
|
+
get '/v1/betaAppReviewSubmissions', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_review_submission_information
|
12
|
+
def beta_app_review_submission(beta_app_review_submission_id, options = {})
|
13
|
+
get "/v1/betaAppReviewSubmissions/#{beta_app_review_submission_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/submit_an_app_for_beta_review
|
17
|
+
def create_beta_app_review_submission(relationships)
|
18
|
+
post '/v1/betaAppReviewSubmissions', data: { relationships: Utils::RelationshipMapper.expand(relationships),
|
19
|
+
type: 'betaAppReviewSubmissions' }
|
20
|
+
end
|
21
|
+
|
22
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_a_beta_app_review_submission
|
23
|
+
def beta_app_review_submission_build(beta_app_review_submission_id, options = {})
|
24
|
+
get "/v1/betaAppReviewSubmissions/#{beta_app_review_submission_id}/build", options
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaBuildLocalizations
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_build_localizations
|
7
|
+
def beta_build_localizations(options = {})
|
8
|
+
get '/v1/betaBuildLocalizations', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_build_localization_information
|
12
|
+
def beta_build_localization(beta_build_localization_id, options = {})
|
13
|
+
get "/v1/betaBuildLocalizations/#{beta_build_localization_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_build_localization
|
17
|
+
def create_beta_build_localization(attributes, relationships)
|
18
|
+
post '/v1/betaBuildLocalizations', data: { attributes: attributes,
|
19
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
20
|
+
type: 'betaBuildLocalizations' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_build_localization
|
24
|
+
def update_beta_build_localization(beta_build_localization_id, attributes)
|
25
|
+
patch "/v1/betaBuildLocalizations/#{beta_build_localization_id}", data: { attributes: attributes,
|
26
|
+
id: beta_build_localization_id,
|
27
|
+
type: 'betaBuildLocalizations' }
|
28
|
+
end
|
29
|
+
|
30
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_build_localization
|
31
|
+
def delete_beta_build_localization(beta_build_localization_id)
|
32
|
+
delete "/v1/betaBuildLocalizations/#{beta_build_localization_id}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_a_beta_build_localization
|
36
|
+
def beta_build_localization_build(beta_build_localization_id, options = {})
|
37
|
+
get "/v1/betaBuildLocalizations/#{beta_build_localization_id}/build", options
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaGroups
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_groups
|
7
|
+
def beta_groups(options = {})
|
8
|
+
get '/v1/betaGroups', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_group_information
|
12
|
+
def beta_group(beta_group_id, options = {})
|
13
|
+
get "/v1/betaGroups/#{beta_group_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_group
|
17
|
+
def create_beta_group(attributes, relationships)
|
18
|
+
post '/v1/betaGroups', data: { attributes: attributes,
|
19
|
+
relationships: Utils::RelationshipMapper.expand(relationships),
|
20
|
+
type: 'betaGroups' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_group
|
24
|
+
def update_beta_group(beta_group_id, attributes)
|
25
|
+
patch "/v1/betaGroups/#{beta_group_id}", data: { attributes: attributes,
|
26
|
+
id: beta_group_id,
|
27
|
+
type: 'betaGroups' }
|
28
|
+
end
|
29
|
+
|
30
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_group
|
31
|
+
def delete_beta_group(beta_group_id)
|
32
|
+
delete "/v1/betaGroups/#{beta_group_id}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_group
|
36
|
+
def beta_group_app(beta_group_id, options = {})
|
37
|
+
get "/v1/betaGroups/#{beta_group_id}/app", options
|
38
|
+
end
|
39
|
+
|
40
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_testers_in_a_beta_group
|
41
|
+
def beta_group_beta_testers(beta_group_id, options = {})
|
42
|
+
get "/v1/betaGroups/#{beta_group_id}/betaTesters", options
|
43
|
+
end
|
44
|
+
|
45
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/get_all_beta_tester_ids_in_a_beta_group
|
46
|
+
def beta_group_beta_tester_ids(beta_group_id, options = {})
|
47
|
+
get "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", options
|
48
|
+
end
|
49
|
+
|
50
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/add_beta_testers_to_a_beta_group
|
51
|
+
def add_beta_group_beta_testers(beta_group_id, beta_tester_ids)
|
52
|
+
post "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
|
53
|
+
end
|
54
|
+
|
55
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/remove_beta_testers_from_a_beta_group
|
56
|
+
def remove_beta_group_beta_testers(beta_group_id, beta_tester_ids)
|
57
|
+
delete "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
|
58
|
+
end
|
59
|
+
|
60
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_builds_for_a_beta_group
|
61
|
+
def beta_group_builds(beta_group_id, options = {})
|
62
|
+
get "/v1/betaGroups/#{beta_group_id}/builds", options
|
63
|
+
end
|
64
|
+
|
65
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/get_all_build_ids_in_a_beta_group
|
66
|
+
def beta_group_build_ids(beta_group_id, options = {})
|
67
|
+
get "/v1/betaGroups/#{beta_group_id}/relationships/builds", options
|
68
|
+
end
|
69
|
+
|
70
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/add_builds_to_a_beta_group
|
71
|
+
def add_beta_group_builds(beta_group_id, build_ids)
|
72
|
+
post "/v1/betaGroups/#{beta_group_id}/relationships/builds", data: Utils::RelationshipMapper.resource_keys(build_ids, 'builds')
|
73
|
+
end
|
74
|
+
|
75
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/remove_builds_from_a_beta_group
|
76
|
+
def remove_beta_group_builds(beta_group_id, build_ids)
|
77
|
+
delete "/v1/betaGroups/#{beta_group_id}/relationships/builds", data: Utils::RelationshipMapper.resource_keys(build_ids, 'builds')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaLicenseAgreements
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_license_agreements
|
7
|
+
def beta_license_agreements(options = {})
|
8
|
+
get '/v1/betaLicenseAgreements', options
|
9
|
+
end
|
10
|
+
|
11
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_license_agreement_information
|
12
|
+
def beta_license_agreement(beta_license_agreement_id, options = {})
|
13
|
+
get "/v1/betaLicenseAgreements/#{beta_license_agreement_id}", options
|
14
|
+
end
|
15
|
+
|
16
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_license_agreement
|
17
|
+
def update_beta_license_agreement(beta_license_agreement_id, attributes)
|
18
|
+
patch "/v1/betaLicenseAgreements/#{beta_license_agreement_id}", data: { attributes: attributes,
|
19
|
+
id: beta_license_agreement_id,
|
20
|
+
type: 'betaLicenseAgreements' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_license_agreement
|
24
|
+
def beta_license_agreement_app(beta_license_agreement_id, options = {})
|
25
|
+
get "/v1/betaLicenseAgreements/#{beta_license_agreement_id}/app", options
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AppStoreConnectApi
|
4
|
+
module Domain
|
5
|
+
module BetaTesterInvitations
|
6
|
+
# @see https://developer.apple.com/documentation/appstoreconnectapi/send_an_invitation_to_a_beta_tester
|
7
|
+
def create_beta_tester_invitation(relationships)
|
8
|
+
post '/v1/betaTesterInvitations', data: { relationships: Utils::RelationshipMapper.expand(relationships),
|
9
|
+
type: 'betaTesterInvitations' }
|
10
|
+
end
|
11
|
+
alias invite_beta_tester create_beta_tester_invitation
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|