App and Solution
Solutions

Register Your Solution

6min

Overview

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.

Register Solution

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:

  • APP
  • API

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:

  • true
  • false

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:

  • ALLOW
  • DENY



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.

App Type
API Type


The response includes the solutionID and solutionVersionID which you will be able to use in subsequent API calls.

Configuring System Settings

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.

Enabling System App Settings

To enable system app settings for your solution, follow these steps:

  1. When registering a new solution or updating an existing solution, include the systemAppSettings parameter in the request body of the RegisterSolution or UpdateSolution API.
  2. Set the value of systemAppSettings to an array of system app identifiers representing the system apps you want to enable for your solution.
  3. 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:

JSON


Updating System App Settings

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:

JSON