Developers are generally required to create an account with your site and log in in order to submit and manage their apps. We don’t require any complex log-in or single-sign-on in order integrate developer accounts with the OpenChannel API. Instead, simply supply our API with an id that uniquely identifies the current developer (developerId) when performing requests or actions.

The API revolves around actions performed on behalf of users and developers. By utilizing this perspective it allows us to offer an API that is quick and simple to integrate. A userId always refers to the unique id that identifies the end users consuming the apps. A developerId always refers to the unique id that identifies the author creating the apps. You don’t need to explicitly create users or developers on the OpenChannel platform. When you provide a new userId as part of an action, a user record is created automatically if a user with that id doesn’t already exist – the same goes for developers.

For security reasons, never reuse or hash userIds or developerIds. Providing unique ids to the OpenChannel API is important for the proper operation of your marketplace.

Developer account details such as email, name or username can be attached to OpenChannel developer records. Providing developer details to OpenChannel can make it easier to manage your marketplace by gaining easy access to information when reviewing or approving apps. If you would like to synchronize your developer account details with OpenChannel, simple call the Create/Update Developer API method every time a developer account is created or modified in your system.

The customData field allows you to attach a custom JSON object to the user record.

An example of updating developer account details for the developer with id “123”:

curl --user {marketplaceId}:{secret} 
  -X POST 
  -H "Content-Type: application/json" 
  -d "{" 
        "'name':'Brian Johnson'," 
           "'companyName': 'Google'," 
           "'interests': ['Surfing', 'Kittens']'" 

The structure of an developer can be customized using the customData object. When creating or updating a developer, the customData object can be set to hold fields and arrays which gives you the flexibility to completely customize the structure of your developer. The OpenChannel platform will automatically detect and handle your custom structure.

A developer can either be:

  1. An individual, authenticated developer account that is able to log in.
  2. An organization which itself can have many developer accounts.

If developers should be individuals then the developerId should be a unique user ID which represents the logged in user. However, if a developer should be an organization consisting of many developer accounts then the developerId should be the organization ID. In order to represent the individual developer accounts then user the /developerAccounts API endpoint to create the representations of these users.