Do I have to know the “userId” of a user to get the ownership record of a specific user?

Yes you will need to know the userId for a particular user to get the ownership records for that specific user. The best way to get a list of apps currently owned by a specific user is to use the List Apps API method with the userId and isOwned parameters set.

I’m Receiving a 400 Error From the API With No Reason. What’s Wrong?

Our server is rejecting your API call due to the presence of unsafe characters. URL’s must be properly encoded! Unencoded characters like { ” } [ ] : may result in the return of a 400 error.

I’m Receiving Binary from the API. What’s Wrong?

Our server may choose to gzip the JSON responses in order to save bandwidth. Please ensure that your HTTP client can accept and decode gzipped responses.

How do I set username, email and other user metadata?

By default, users are automatically created when an action is performed on behalf of that user. For example, if an API call is made where a user with id “123” is to own the app with id “ABC” but the user does not yet exist in the OpenChannel service then the user record is created automatically.

To store additional user information like username, email or any other user metadata in OpenChannel then your system can call the Create/Update API method any time a user is created or updated on your system. This call works to synchronize user metadata between the two systems. See User Accounts for more details.

How can I edit developer account details?

Most customers have their own login and authentication within their product or website and you can sync your developer account details (like email and username) with OpenChannel by using the Update Developer API. To create a sync, simply call this API method when a developer user is created or updated. All Developer updates should be performed through the API. See Developer Accounts for more details.

How are record deletions handled?

When an object like an app, review or transaction is deleted, the objects are not completely removed. Instead, we implement soft deletes. For example, if an app was deleted then it would no longer show up when querying apps like with the List Apps API method but you can still use the appId to retrieve the specific deleted app using the Get an App API method. When retrieving a specific, deleted app using the API, the returned record will have it’s isDeleted field set to true. The case is the same with reviews, app versions and transactions.

Soft deleting and allowing you to retrieve the deleted records allows referential integrity to be maintained. Especially when referenced by other objects like ownership records.