App Store Connect
A Ruby interface to the App Store Connect API
Installation
Add this line to your application's Gemfile:
gem 'app_store_connect'
And then execute:
$ bundle
Or install it yourself as:
$ gem install app_store_connect
Usage
AppStoreConnect.config = {
issuer_id: issuer_id,
key_id: key_id,
private_key: private_key
}
app_store_connect = AppStoreConnect::Client.new
app_store_connect.apps
app_store_connect.app(id: '1234')
app_store_connect.builds(id: '1234')
Web Service Endpoints
Users
- [X] List Users
- [X] Read User Information
- [X] Remove a User Account
- [X] Modify a User Account
- [X] Get All Visible App Resource IDs for a User
- [X] List All Apps Visible to a User
- [X] Remove Visible Apps from a User
- [X] Add Visible Apps to a User
- [X] Replace the List of Visible Apps for a User
Bundle IDs
- [X] Register a New Bundle ID
- [X] Modify a Bundle ID
- [X] Delete a Bundle ID
- [X] Read Bundle ID Information
- [X] List Bundle IDs
- [X] Get All Profile IDs for a Bundle ID
- [X] Get All Capabilility IDs for a Bundle ID
- [X] List All Profiles for a Bundle ID
- [X] List All Capabilities for a Bundle ID
Certificates
- [X] List and Download Certificates
- [X] Create a Certificate
- [X] Read and Download Certificate Information
- [X] Revoke a Certificate
User Invitations
- [X] Read User Invitation Information
- [X] List Invited Users
- [X] Invite a User
- [X] Cancel a User Invitation
- [X] Get All App Resource IDs Visible to an Invited User
- [X] List All Apps Visible to an Invited User
Bundle ID Capabilities
- [ ] Enable a Capability
- [X] Disable a Capability
- [X] Modify a Capability Configuration
Devices
- [X] List Devices
- [X] Read Device Information
- [X] Register a New Device
- [X] Modify a Registered Device
Sales and Finance Reports
- [X] Download Sales and Trends Reports
- [X] Download Finance Reports
Profiles
- [X] Create a Profile
- [X] Delete a Profile
- [X] List and Download Profiles
- [X] Get the Bundle Resource ID in a Profile
- [X] Read the Bundle ID in a Profile
- [X] Read and Download Profile Information
- [X] List All Certificates in a Profile
- [X] Get All Certificate IDs in a Profile
- [X] Get All Device Resource IDs in a Profile
- [X] List All Devices in a Profile
Beta Testers
- [X] Create a Beta Tester
- [X] Delete a Beta Tester
- [X] Add a Beta Tester to Beta Groups
- [X] List Beta Testers
- [X] Read Beta Tester Information
- [X] Individually Assign a Beta Tester to Builds
- [X] Remove a Beta Tester from Beta Groups
- [X] Remove a Beta Testerâs Access to Apps
- [X] Get All App Resource IDs for a Beta Tester
- [X] List All Builds Individually Assigned to a Beta Tester
- [X] List All Apps for a Beta Tester
- [X] Get All IDs of Builds Individually Assigned to a Beta Tester
- [X] List All Beta Groups to Which a Beta Tester Belongs
- [X] Get All Beta Group IDs of a Beta Tester's Groups
- [X] Individually Unassign a Beta Tester from Builds
Beta Tester Invitations
- [ ] Send an Invitation to a Beta Tester
Apps
- [X] Remove Beta Testers from All Groups and Builds of an App
- [X] Read App Information
- [X] List All Beta Groups for an App
- [X] List Apps
- [X] Get All Build IDs of an App
- [X] List All Builds of an App
- [X] Get All Beta Group IDs for an App
- [X] Get All Prerelease Version IDs for an App
- [X] List All Prerelease Versions for an App
- [X] Get the Beta App Review Details Resource ID for an App
- [X] Read the Beta App Review Details Resource of an App
- [X] List All Beta App Localizations of an App
- [X] Read the Beta License Agreement of an App
- [X] Get the Beta License Agreement ID for an App
- [X] Get All Beta App Localization IDs of an App
Beta Groups
- [X] Create a Beta Group
- [X] Modify a Beta Group
- [X] List Beta Groups
- [X] Read Beta Group Information
- [X] Delete a Beta Group
- [X] Read the App Information of a Beta Group
- [X] Get the App Resource ID for a Beta Group
- [X] Add Beta Testers to a Beta Group
- [X] Remove Beta Testers from a Beta Group
- [X] Remove Builds from a Beta Group
- [X] List All Builds for a BetaGroup
- [X] Add Builds to a Beta Group
- [X] Get All Build IDs in a Beta Group
- [X] Get All Beta Tester IDs in a Beta Group
- [X] List All Beta Testers in a BetaGroup
Prerelease Versions
- [X] List Prerelease Versions
- [X] Get the App Resource ID for a Prerelease Version
- [X] Read Prerelease Version Information
- [X] Read the App Information of a Prerelease Version
- [X] List All Builds of a Prerelease Version
- [X] Get All Build IDs of a Prerelease Version
Beta App Localizations
- [X] List Beta App Localizations
- [X] Read Beta App Localization Information
- [X] Read the App Information of a Beta App Localization
- [X] Get the App Resource ID for a Beta App Localization
- [X] Create a Beta App Localization
- [X] Modify a Beta App Localization
- [X] Delete a Beta App Localization
App Encryption Declarations
- [X] List App Encryption Declarations
- [X] Read App Encryption Declaration Information
- [X] Get the App Resource ID for an App Encryption Declaration
- [X] Read the App Information of an App Encryption Declaration
- [ ] Assign Builds to an App Encryption Declaration
Build Beta Details
- [X] Read Build Beta Detail Information
- [X] List Build Beta Details
- [X] Get the Build ID for a Build Beta Detail
- [X] Modify a Build Beta Detail
- [X] Read the Build Information of a Build Beta Detail
Beta Build Localizations
- [X] List Beta Build Localizations
- [X] Read Beta Build Localization Information
- [X] Read the Build Information of a Beta Build Localization
- [X] Create a Beta Build Localization
- [X] Delete a Beta Build Localization
- [X] Modify a Beta Build Localization
- [X] Get the Build ID for a Beta Build Localization
Builds
- [X] Read Build Information
- [X] Get the App Resource ID for a Build
- [X] List Builds
- [X] Read the App Information of a Build
- [X] Modify a Build
- [X] Read the Prerelease Version of a Build
- [X] Get All Resource IDs of Prerelease Versions for a Build
- [X] Assign the App Encryption Declaration for a Build
- [X] Remove Individual Testers from a Build
- [X] Add Access for Beta Groups to a Build
- [X] Remove Access for Beta Groups to a Build
- [X] List All Individual Testers for a Build
- [X] Assign Individual Testers to a Build
- [X] Get All Resource IDs of Individual Testers for a Build
- [X] Get the Beta App Review Submission ID of a Build
- [X] Read the Beta App Review Submission of a Build
- [X] Read the Build Beta Details Information of a Build
- [X] Get the Build Beta Details Resource ID for a Build
- [X] Get the App Encryption Declaration ID for a Build
- [X] Get All Beta Build Localization IDs of a Build
- [X] Read the App Encryption Declaration of a Build
- [X] List All Beta Build Localizations of a Build
Beta App Review Detail
- [X] List Beta App Review Details
- [X] Read Beta App Review Detail Information
- [X] Read the App Information of a Beta App Review Detail
- [X] Get the App Resource ID for a Beta App Review Details Resource
- [X] Modify a Beta App Review Detail
Beta App Review Submissions
- [X] Read Beta App Review Submission Information
- [X] Submit an App for Beta Review
- [X] Read the Build Information of a Beta App Review Submission
- [X] List Beta App Review Submissions
- [X] Get the Build ID for a Beta App Review Submission
Build Beta Notifications
- [ ] Send Notification of an Available Build
Beta License Agreements
- [X] Read Beta License Agreement Information
- [X] Read the App Information of a Beta License Agreement
- [X] Get the App Resource ID for a Beta License Agreement
- [X] Modify a Beta License Agreement
- [X] List Beta License Agreements
Create Bundle ID
app_store_connect.create_bundle_id(
name: 'Example',
identifier: 'com.kyledecot.Example',
platform: 'IOS'
)
Sales Reports
app_store_connect.sales_reports(
filter: {
report_type: 'SALES',
report_sub_type: 'SUMMARY',
frequency: 'DAILY',
vendor_number: '123456'
}
)
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kyledecot/app_store_connect.
License
The gem is available as open source under the terms of the MIT License.