App and Solution
Solutions
Register Your Solution
6 min
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 required attributes ( ) indicates that the attribute is required example request the following example registers a solution for las mile delivery app type { "displayname" "last mile delivery", "solnlistingid" "last mile delivery", "type" "app", "version" "1 0 9", "shortdescription" "this is a solution for last mile delivery", "isconsolecompatible" true, "longdescription" "last mile delivery combines the benefits of route optimization and real time tracking to ensure that your customers get their deliveries on time it also helps you to reduce costs and improve customer satisfaction ", "visibility" { "isprivate" true, "permissiontype" "allow", "orgidentifiers" \[ "bf17e158 1951 47f9 84f1 e50aeb59fac2", "bf13f564 1951 47f9 84f1 e50aeb59fac2" ] }, "productfamily" "string", "supportedcountries" \[ "us", "ca", "in" ], "categories" \[ "vehicle", "tracking" ], "solnurls" \[ { "name" "landingpage", "url" "https //www example com/landing page" } ], "apps" \[ { "listingid" "vehicle trackers", "semver" "1 0 9", "displayorder" 1, "initsequence" 1 } ], }, "systemappsettings" \[ "payments" ] } api type { "displayname" "last mile delivery", "solnlistingid" "last mile delivery", "type" "app", "version" "1 0 9", "shortdescription" "this is a solution for last mile delivery", "isconsolecompatible" true, "longdescription" "last mile delivery combines the benefits of route optimization and real time tracking to ensure that your customers get their deliveries on time it also helps you to reduce costs and improve customer satisfaction ", "visibility" { "isprivate" true, "permissiontype" "allow", "orgidentifiers" \[ "bf17e158 1951 47f9 84f1 e50aeb59fac2", "bf13f564 1951 47f9 84f1 e50aeb59fac2" ] }, "productfamily" "string", "supportedcountries" \[ "us", "ca", "in" ], "categories" \[ "vehicle", "tracking" ], "solnurls" \[ { "name" "landingpage", "url" "https //www example com/landing page" } ], "api" { "apibaseurl" "https //api example com", "apidetails" \[ { "name" "geocoder v1", "relativepath" "geocoder/v1" } ], }, "systemappsettings" \[ "payments" ] } ] } } 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 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 { "systemappsettings" \[ "payments" ] } 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 { "systemappsettings" \[ "payments", "new system app" ] }