App Store Connect
This is a Python wrapper around the Apple App Store Api : https://developer.apple.com/documentation/appstoreconnectapi
So far, it handles token generation / expiration, methods for listing resources and downloading reports.
Development
Get the soruce code on Github
Installation
The project is published on PyPI, install with:
pip install appstoreconnect
Usage
Please follow instructions on Apple documentation on how to generate an API key.
With your key ID, key file (you can either pass the path to the file or the content of it as a string) and issuer ID create a new API instance:
from appstoreconnect import Api
api = Api(key_id, path_to_key_file, issuer_id)
Here are a few examples of API usage. For a complete list of available methods please see api.py.
# list all apps
apps = api.list_apps()
for app in apps:
print(app.name, app.sku)
# sort resources
apps = api.list_apps(sort='name')
# filter apps
apps = api.list_apps(filters={'sku': 'DINORUSH', 'name': 'Dino Rush'})
print("%d apps found" % len(apps))
# read app information
app = api.read_app_information('1308363336')
print(app.name, app.sku, app.bundleId)
# get a related resource
for group in app.betaGroups():
print(group.name)
# list bundle ids
for bundle_id in api.list_bundle_ids():
print(bundle_id.identifier)
# list certificates
for certificate in api.list_certificates():
print(certificate.name)
# modify a user
user = api.list_users(filters={'username': '[email protected]'})[0]
api.modify_user_account(user, roles=[UserRole.FINANCE, UserRole.ACCESS_TO_REPORTS])
# download sales report
api.download_sales_and_trends_reports(
filters={'vendorNumber': '123456789', 'frequency': 'WEEKLY', 'reportDate': '2019-06-09'}, save_to='report.csv')
# download finance report
api.download_finance_reports(filters={'vendorNumber': '123456789', 'reportDate': '2019-06'}, save_to='finance.csv')
Please note this is a work in progress, API is subject to change between versions.
Credits
This project is developed by Ponytech