Register Your Solution
The RegisterSolution API provides a streamlined method for developers and organizations to register new solutions within the platform. It accommodates both App and API type solutions. During the registration process, developers can specify a variety of required and optional attributes to compose a solution per business needs.
Endpoint: POST /developer/solutions
Query Parameters
Parameter | Description | Example |
---|---|---|
organizationId* | The unique ID of the organization. | ac1582ea-3a2d-47a2-9aa5-4cf90c0e1e5d |
Request Parameters
Parameter | Description |
---|---|
displayName* | The name of the solution that will be displayed within the Marketplace and Console. |
solnListingId* | The unique human-readable identifier of the solution. |
type* | The type of the solution. Acceptable values:
|
version* | The semver version of the application. |
shortDescription* | A short description of the solution for display on the Marketplace. |
isConsoleCompatible* | Specifies if the solution is Console compatible. The acceptable boolean values are:
|
longDescription* | A long description of the solution for display on the Marketplace. |
visibility | Specifies if the solution is visible to all organizations or a few organizations in the Marketplace. |
visibility.isPrivate | Specifies if the application is visible publicly or for subscription. This value should be false if the app is to be visible in the Marketplace. |
visibility.permissionType | This is only applicable when isPrivate is false. Determines whether the selected orgs are permitted from viewing the solution in the Marketplace. Acceptable values:
|
visibility.orgIdentifiers | Only applicable when isPrivate is false. Provides a list of organization short names where a given permission is applied. |
productFamily | A product family is used to group multiple solutions under one category. |
supportedCountries* | A list of countries where the solution is supported. This is for organizational purpose meant for product admin usage. |
categories* | The categories that the solution belongs to. This is a free-form, tag-like set of strings. Some example categories include LastMile and Transport Management. |
solnUrls* | A list of urls associated with the solution. This can be used to set things like landing pages and support pages. Example: [{ name: "landingPage", url: "https://www.example.com/landing-page" }] |
solnUrls.name | Name of the solution URL. |
soln.Urls | The URL of the solution. |
apps* | A list of apps that are part of the solution if it's of type APP. |
apps.listingId* | The unique human-readable identifier of the application. |
apps.semver* | The semver version of the application. |
apps.displayOrder | Controls the listing sequence of the app within a solution. Assigning a numerical value like 1, 2, 3, etc., will arrange the apps in that specific order within the solution's left navigation. If this parameter is left blank or set to '0', the app will not be displayed in the menu. |
apps.initSequence | The sequence in which the permission file for a given app should be onboarded to a tenant. |
api* | Information regarding associated api endpoints if solution of type API. |
api.apiBaseUrl* | The base URL of the API. |
api.apiDetails* | List of URLs associated with the API solution. |
systemAppSettings | A list of system app settings to enable for a solution. Note: The payments app is only available at this time. |
Required Attributes
(*) Indicates that the attribute is required.
Example Request
The following example registers a solution for las mile delivery.
The response includes the solutionID and solutionVersionID which you will be able to use in subsequent API calls.
Configuring system app settings allows developers to easily enable system app settings for their solutions by providing a list of desired system apps in the systemAppSettings parameter when registering or updating a solution.
Note: The "payments" app is the only available system app for now.
To enable system app settings for your solution, follow these steps:
- When registering a new solution or updating an existing solution, include the systemAppSettings parameter in the request body of the RegisterSolution or UpdateSolution API.
- Set the value of systemAppSettings to an array of system app identifiers representing the system apps you want to enable for your solution.
- The available system app identifiers are predefined and can be selected based on your solution's requirements. For example, to enable the "payments" system app, you would include "payments" in the systemAppSettings array.
Example request body:
If you need to modify the enabled system app settings for your solution, you can update the systemAppSettings parameter using the UpdateSolution API by providing the updated array of system app identifiers in the request body.
Example request body to update system app settings: