A user can be assigned ownership of an app using the Install App API method. This is useful when users wish to use, launch or associate their account with an app. There are several different types of models that can be configured for an app and will be executed automatically when the app is installed. For instance, a single app can have one or all of the following Models:

  • A “free” model where users can install and use the app for free
  • A “single” payment model where users are required to pay a one-time fee in order to install and use the app
  • A “recurring” payment model where users are required to pay a monthly fee in order to install and use the app

In addition to different models, app models that require payment can be configured to allow a free trial.

Assigning ownership to free apps is easy and and straightforward – no credit card setup is required. Simply call the Install App API method with the appropriate modelId, appId and userId. Since a single app can have several models (you can think of different models as different “pricing plans”), the modelId indicates which plan to choose.

An example of assigning app ownership for a user with id “123” and app with id “5565322ae4b0a70b13a4563b “:

curl --user {marketplaceId}:{secret} https://market.openchannel.io/v2/ownership/install 
  -X POST 
  -d appId="5565322ae4b0a70b13a4563b" 
  -d userId="123" 
  -d modelId="abc"

 

An example of a free app model with id “abc”:

{ 
      "type": "free", 
      "price": 0, 
      "trial": 0, 
      "modelId": "abc"
}

 

Assigning ownership to apps that require payment requires the user to setup a credit card. Setting up payment details for users can be achieved by enabling payment for the marketplace.

If an attempt is made to assign ownership for apps that require payments and the user has not setup any credit cards then an error may be returned based on your selected gateway.

An example of an app model that has a 14 day free trial and a cost of $10 per month:

{ 
      "type": "recurring", 
      "price": 1000, 
      "trial": 14, 
      "modelId": "abc",
      "billingPeriod": "monthly",
      "billingPeriodUnit": 1
}