Небольшой sandbox-проект для экспериментов с App Store Connect API на Kotlin.
Цель проекта — попробовать работу с API Apple через:
- Kotlin/JVM
- Ktor HTTP client
- kotlinx.serialization
- JWT-аутентификацию для App Store Connect API
Проект не претендует на полноценную production-библиотеку. Это рабочая площадка для изучения API, проверки запросов и моделирования ответов.
- базовый
AppStoreConnectClient - авторизация через API key
- клиенты для builds, reviews и app store versions
- модели ответов API на kotlinx.serialization
- пример запуска из
App.kt
src/main/kotlin/ru/bykov/appstoreconnectapi
├── App.kt
├── AppStoreConnectClient.kt
├── auth/
├── clients/
└── models/
Для сборки проекта:
./gradlew buildДля запуска примера:
./gradlew run --args="com.example.app"В качестве аргумента передается bundleId приложения.
Пример ожидает файл:
src/main/resources/credentials.json
Этот файл должен содержать данные API key для App Store Connect. Реальные credentials не нужно коммитить в репозиторий: файл уже добавлен в .gitignore.
Структура файла:
{
"ISSUER_ID": "00000000-0000-0000-0000-000000000000",
"KEY_ID": "ABC123DEFG",
"APP_STORE_CONNECT_API_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}ISSUER_ID и KEY_ID можно найти в App Store Connect рядом с созданным API key. APP_STORE_CONNECT_API_KEY — это содержимое приватного .p8 ключа.
Проект находится в экспериментальном состоянии. API, структура моделей и поведение клиентов могут меняться по мере изучения App Store Connect API.