Skip to main content

Publish and add to marketplace

Product publication is a two-step process:

  • Publishing - Capture a snapshot of the product and create a stable copy for distribution.
  • Adding to the marketplace - Distribute products to a channel such as a marketplace catalog for listing and sale.

You can do this using the two APIs described below.

Publish

important

If you would like to use the product capabilities described here, contact your AppDirect technical representative.

Product publication involves capturing a snapshot of a product at a particular time period, and creating a copy that can be distributed and sold in a marketplace. The publication is an asynchronous process where you first need to trigger the process to get a publication process ID and then query to see the status. After the process is complete, you can add your recently published product to the marketplace.

Trigger publication

Mutation

mutation {
triggerProductPublicationProcess(input: {productIds: ["06ea7f9d-4a1b-4a00-810f-089ac43972e2"]}) {
productPublicationProcesses {
id
productId
}
}
}

Response

{
"data": {
"productPublicationProcesses": {[{
"id": "ce0a5582-2601-4080-b969-99f949492982",
"productId": "06ea7f9d-4a1b-4a00-810f-089ac43972e2"
}]
}
}
}

Publication process status

Query

query {
productPublicationProcess(id: "ce0a5582-2601-4080-b969-99f949492982") {
completedOn
errors {
... on DuplicatePublicationTriggeredError {
__typename
message
}
... on EditionIdMismatchError {
__typename
message
}
}
id
productId
startedOn
status
triggeredOn
}
}

Response

{
"data": {
"productPublicationProcess": {
"completedOn": "2023-09-12T10:00:00Z",
"errors": null,
"id": "ce0a5582-2601-4080-b969-99f949492982",
"productId": "06ea7f9d-4a1b-4a00-810f-089ac43972e2",
"startedOn": "2023-09-12T09:00:00Z",
"status": "PUBLISHED",
"triggeredOn": "2023-09-12T09:00:00Z"
}
}
}

Add to marketplace and configure

Marketplace configuration

Important

You can call these product settings API only with a ROLE_CHANNEL_ADMIN or ROLE_CHANNEL_PRODUCT_SUPPORT scope. Currently, ROLE_PARTNER scope is not supported.

In order to add a product to your marketplace, you will need to define how a published product appears and behaves on your marketplace. The settings include the groups within which you can organize your products, whether a product can collect leads, search result ranking, billing behavior, and so on.

The information is divided in the following categories:

  • Billing: Information about the billing settings, free trials, billing patterns, or SKU settings of the product.
  • General settings: Information about the availability of the product, API health maintenance, and additional settings.
  • Product groups: Information about the categories, attributes, product lines, customer groups, and merchandising options of the product.
  • Product information: Information about the product, such as the name, icon URL, and whether it is a network product.

Not all the settings might apply to your product, as marketplace configuration, product type, and product configuration determine which settings apply.

For more information about each value, refer to (Edit product marketplace settings )[https://help.appdirect.com/platform/Default.htm#MarketplaceManager/MM-Prod-ProdCatal-EditMktplcSettings.html] and (Marketplace Product Settings)[/api/rest#tag/Marketplace-Product-Settings/operation/resource_Product_Active_Setting_readSettings_GET].

Request

Method and URL

PUT http://{baseUrl}/api/v3/marketplaceProduct/productSettings/{productId}

Body

{
"productId": "12345",
"billing": {
"billingSettings": {
"validations": [{
"field": "taxCode",
"maxLength": 255
}],
"taxCode": "123",
"disableSelfServe": true
},
"subscriptionManagementEditions": [{
"editionId": 234,
"editionName": "Recurring Edition",
"selfServiceabilityRestricted": true
}]
},
"general": {
"apiHealthMaintenance": {
"assignAndUnassign": {
"disabled": true,
"tooltip": "This endpoint has been disabled by the developer.",
"value": false
},
"purchase": {
"disabled": false,
"value": true
},
"singleSignOn": {
"disabled": false,
"value": false
},
"updateSubscription": {
"disabled": false,
"value": false
}
},
"settings": {
"availableToResellers": "true",
"collectLeads": {
"assignLeadsToDevelopers": false,
"editionLeadGenEnabled": false,
"enabled": true,
"selectedOption": "inAdditionToPurchase"
},
"disableSelfServe": true,
"hideAllPricing": true,
"showAsComingSoon": true,
"sortingRank": {
"options": [
"Very High",
"High",
"Medium",
"Low",
"Very Low"
],
"selectedOption": "Very Low"
},
"termsOfServiceURL": "http://www.google.com",
"validations": [
{
"field": "termsOfServiceURL",
"maxLength": 1024
}
],
"visibleOnMarketplace": true,
"visibleOnNetwork": true
}
}
}

Was this page helpful?