Giter VIP home page Giter VIP logo

itc-api-docs's Introduction

deliversnapshotframeitPEMsighproducecertcodes

-------

itc-api-docs

Twitter: @KauseFx

The unofficial documentation of the iTunes Connect JSON API

Introduction

This document describes the iTunes Connect JSON API and how to use it. The API is used by the AngularJS based iTunes Connect front-end to update app metadata. It is public once you have a valid session.

To test your requests, I recommend the awesome Paw HTTP Client for Mac OS.

fastlane and some of the fastlane tools make use of the iTunes Connect API. Using this git repository it's easy to keep the documentation up to date.

Cookies

All requests (except for the login action) require you to pass cookies. If you're using a HTTP client, you'll get this for free.

Testing/Using the API

Download the pre-filled PAW file and open it with Paw.

Next, you can enter your iTunes Connect credentials in the Default Domain settings: assets/LoginInformation.png

The app_id is the ID of your app. You only need to fill that in, if you want to fetch the metadata for one of your apps.

Switch back to the list of requests on the left side and select Login. Click CMD + R to send the request to login.

API Docs

Login

For all requests listed below, you'll need a valid cookie which you have to pass for each request.

POST

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wo/0.0.1.11.3.15.2.1.1.3.1.1

Available parameters

  • theAccountName (POST): Your Apple ID
  • theAccountPW (POST): Your password

The response HTTP status codes are confusing:

  • 302 Moved Temporarily: Login successful
  • 200 OK: Login unsucessful, wrong credentials

If you get 200 and your credentials are correct, try deleting the cookies.

List Apps

List all your apps with the most basic app metadata:

GET

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/manageyourapps/summary

If you get 401, try deleting the cookies and sending a new login request.

Fetch App Information

Receive all metadata information available for this app, including app description, screenshots, review status and much more.

GET

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/[app_id]

Available parameters

  • App ID (GET): The ID of your app (e.g. 903020700)
  • v (GET): Defines if the app metadata of the version currently available in the App Store or the new version should be used.

Example:

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/[app_id]?v=live

This will fetch the app metadata from the version, that is currently available in the App Store. If you don't define this parameter, you receive the metadata from the version that is currently being edited. Usually you don't need this parameter.

Update App Information

You can update the app metadata using this request. It's not very easy to build the request, as there are many parameters required.

To upload screenshots it's recommended to use the iTMSTransporter, which is also used by deliver.

POST

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/save/[app_id]

Available parameters

See example POST Request (quite complex)

Create a new App Version

Create a new version of your existing app.

POST

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/version/create/[app_id]

Available parameters

  • App ID (GET): The ID of your app (e.g. 903020700) GET
  • JSON (POST): {"version": "2.0"}

Create a new App

Creates a new app on iTunes Connect

POST

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/create/?appType=ios

Available parameters

See example POST Request

The response HTTP status codes are not correctly used:

  • 200 OK: An error occured, check the response JSON to read the error message
  • 200 OK: Successfully created a new app

You have to read the response["data"]["sectionErrorKeys"] to be sure the request was successful.

Upload a new binary

Uploading a new binary is only possible using the iTMSTransporter. You can take a look at deliver how this is implemented.

fastlane

This documentation is part of the fastlane toolchain.

Thanks

Special thanks to this GitHub Issue in particular @spidfire and Christian Beer.

itc-api-docs's People

Contributors

krausefx avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.