AppDirect API Reference
Use the following URL format to send API calls:
https://{marketplaceURL}/api/{endpoint}
For example:
https://myMarketplace.com/api/marketplace/v1/bundles
Companies (v296.0-SNAPSHOT)
Download OpenAPI specification:Download
The Companies API allows developers to manage marketplace companies and their user memberships.
Retrieve a bundle
This call returns all details about a specific bundle.
path Parameters
bundleId required | number Bundle product id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/bundles/%7BbundleId%7D
Response samples
- 200
Retrieve a bundle status
This call returns the current state of the bundle.
path Parameters
bundleId required | number Bundle product id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/bundles/%7BbundleId%7D/status
Response samples
- 200
Get item details
Retrieves product details such as branding, pricing, and so on.
Request Body schema: application/jsonrequired
ownerUserId required | string The owner user ID. The owner owns the product after the purchase is complete. |
ownerCompanyId required | string The owner's company's ID. |
buyerUserId required | string The buyer user ID. The buyer is the person who is making the purchase. In assisted sales or reseller scenarios, the buyer can be different than the owner. |
buyerCompanyId required | string The buyer's company's ID. In assisted sales or reseller scenarios, the buyer's company can be different than the owner's company. |
currency required | string = 3 characters Three-letter code, such as USD, that determines the currency in which to display item pricing details. |
productIds required | Array of strings List of product IDs to retrieve details for. |
pricingPlanIds | Array of strings List of pricing plan IDs to retrieve details for. |
bundleIds | Array of strings List of bundle IDs to retrieve details for. (Currently not supported) |
subscriptionIds | Array of strings List of subscription IDs to retrieve details for. (Currently not supported) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ownerUserId": "19d7343b-b8ab-464a-a893-8b107d77137d",
- "ownerCompanyId": "b0410709-8333-43e2-84d6-3228f6b9998b",
- "buyerUserId": "55144410-a14a-43a1-9e0a-062c6cf31770",
- "buyerCompanyId": "6e5a0af2-e6be-4a86-a1b0-ffabcc2c6324",
- "currency": "USD",
- "productIds": [
- "100",
- "200"
], - "pricingPlanIds": [
- "a12bcf2e-d27e-4808-aae0-6099cc828664",
- "3e0a22d3-dafb-4b3d-a487-7f4e7a94b32a"
], - "bundleIds": [
- "300",
- "400"
], - "subscriptionIds": [
- "915a6558-5a1b-446a-8ec6-334cc60e3d37",
- "8569269e-4c7f-4238-807c-513c718be135"
]
}
Response samples
- 200
{- "id": "098357e5-7a88-45fe-82d3-843bfd6bcbd1",
- "type": "PRODUCT",
- "branding": {
- "name": "Sample Application",
- "vendor": "AppDirect",
- "desc": "Sample Application description",
}, - "stacked": false,
- "editions": [
- {
- "id": "45b79e06-1ac6-11e5-90d8-ca7e16f380a7",
- "freeTrialTerms": {
- "freeTrialDuration": 1,
- "freeTrialDurationPeriod": "MONTH",
- "freeTrialGracePeriod": 10
}, - "name": "Sample Edition",
- "revenueModel": "RECURRING",
- "pricingPlans": [
- {
- "id": "b794c2a1-69a7-40bc-9bf7-75a2f945a5fc",
- "currency": "USD",
- "pricingPeriod": "MONTHLY",
- "pricingSources": [
- {
- "source": "BASE_CATALOG",
- "pricingDefinitions": [
- {
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_PER_UNIT",
- "pricingStrategy": "UNIT",
- "unit": "USER",
- "priceRanges": [
- {
- "min": 0,
- "max": 5,
- "salePrice": "4.0000000000",
- "wholeSalePrice": null
}
], - "unitAllowsDecimals": false,
- "increment": 5,
- "allowsMeteredUsage": true,
- "displaysPricePerIncrement": true
}
]
}, - {
- "source": "CHANNEL_CATALOG",
- "pricingDefinitions": [
- {
- "costTypeCategory": "ONE_TIME",
- "costType": "ONE_TIME_FLAT",
- "pricingStrategy": "FLAT",
- "salePrice": "3.0000000000",
- "wholeSalePrice": null
}
]
}
]
}
]
}
]
}
Read activities
Retrieve company or user activities.
The displayType parameter dictates whether activities for the given user or activities for the whole company are returned.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as an end user in the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
displayType | string Default: "ONLY_ME" Enum: "EVERYONE" "ONLY_ME" Scope |
page | integer Default: 0 Zero-based page index |
size | integer Default: 12 The size of the page to be returned |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/activities?displayType=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
List all companies
Retrieve all marketplace companies.
Rate limit: Bucket size is 20 requests, with a leak rate of 5 requests per second.
Rate limit uses leaky bucket algorithm. Usage of a leaky bucket algorithm allows client applications to make an unlimited number of requests over a large time horizon but prevents excessively large bursts over a short one.
Required Scopes and Authorization Rules
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
query Parameters
name | string Company name |
includeCustomAttributes | boolean Optional. Default is true. When set to true, company custom attributes are included in the API response. When set to false, company custom attributes are not included. |
includePurchaseLimitData | boolean Optional. Default is true. When set to true, the purchase limit attributes are fetched, calculated and populated in the response. When set to false, the purchase limit attributes are not fetched. |
page | integer Default: 0 Zero-based page index |
size | integer Default: 50 The number of search results to return per page |
sortField | string Default: "NAME" Value: "NAME" The property to sort by |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Ordering type |
custom.customAttributeName | string Accepts a notIn filter in the form of ?custom.customAttributeName=notIn(customAttributeValue1, customAttributeValue2, customAttributeValueN...) that excludes companies with matching values. Before you can use the filter, you must first create "Text" type company custom attributes in the user interface. You can then specify the custom attribute name and values as customAttributeName and customAttributeValueN. See https://help.appdirect.com/platform/Default.htm#MarketplaceManager/MM-Setgscustui-create-attribs.html. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies?name=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE&includePurchaseLimitData=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE'
Response samples
- 200
Create new company
Create a new marketplace company
Required Scopes and Authorization Rules
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
Request Body schema: application/jsonrequired
New marketplace company
name | string or null Company name |
allowLogin | boolean Optional. Default is "true". When set to "true", the marketplace company allows users, including the first user, to login to the marketplace and receive emails from the marketplace. Users can purchase and assign products within the company. Products can also be purchased on their behalf, and assigned to them. When set to "false", the marketplace company does not allow company members, including the first user, to login to the marketplace or receive email notifications from the marketplace. Products are purchased and assigned on users behalf, and they access those products directly through the product interface. |
idpUuid | string UUID of the identity provider that the user will always use to log in. Contact your AppDirect technical consultant or business consultant to obtain the UUID. |
object (CompanyAddress) | |
companySize | string (CompanySizeType) Enum: "SMALL" "MEDIUM" "ENTERPRISE" Company size types |
Array of objects (CustomAttributeAccountV2Request) Custom attributes | |
industry | string Company industry sector |
emailAddress | string Company email address |
website | string Company website URL |
vendor | boolean Indicates whether the company has Vendor access |
reseller | boolean Indicates whether the company has Reseller access |
channelAdmin | boolean Indicates whether the company has Channel Admin access |
referral | boolean Indicates whether the company has Referral access |
externalId | string Company external ID |
phoneNumber | string or null Company phone number |
defaultRole | string The default role newly created users receive |
countryCode | string Company country code defined by ISO ALPHA-2 standard |
thirtyDaysPurchaseLimitExempt | boolean Indicates if company is exempt from the marketplace default thirty day spend limit |
thirtyDaysPurchaseLimitOverrideAmt | number Company-level override amount of marketplace default thirty day spend limit |
dailyPurchaseLimitExempt | boolean Indicates if company is exempt from the marketplace default daily spend limit |
dailyPurchaseLimitOverrideAmt | number Company-level override amount of marketplace default daily spend limit |
onlyAdminsCanBuy | boolean Indicates if only selected roles in company that can make purchases or all roles in company can make purchases |
importAppsEnabled | boolean The import apps feature is enabled for this company |
billingDayOfMonth | integer (Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date. |
object (CreateCompanyV2RequestFirstUser) Represents the membership of the first user in a company, who also receives the Company Administrator role by default |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "externalId": "P02TSQ3YPZoykqx1a10",
- "name": "Company Example",
- "companySize": "SMALL",
- "defaultRole": "USER",
- "countryCode": "US",
- "emailAddress": "info@company12345.com",
- "phoneNumber": "11234567890",
- "industry": "Sales",
- "address": {
- "city": "New York",
- "country": "US",
- "state": "NY",
- "street1": "980 West 881st Street",
- "street2": "55AB",
- "zip": "12345"
}, - "channelAdmin": false,
- "reseller": false,
- "vendor": false,
- "customAttributes": [
- {
- "name": "text_example",
- "value": "foo"
}, - {
- "name": "multiselect_checkboxes_example",
- "valueKeys": [
- "ipsum",
- "fake"
]
}
], - "firstUser": {
- "firstName": "John",
- "lastName": "Smith",
- "email": "john.smith@company12345.com",
- "roles": [
- "ROLE_SYS_ADMIN"
]
}
}
Response samples
- 201
Read a company
Retrieve a marketplace company by ID or external ID. If you use the ID, you can omit a prefix or use 'id:' as the prefix. If you use the external ID, you must always specify the 'externalId:' prefix.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as an end user in the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier (ID or external ID) of the company in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D
Response samples
- 200
Update company
Update a marketplace company.
Required Scopes and Authorization Rules
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Company ID |
Request Body schema: application/jsonrequired
Marketplace company details to be updated
name | string or null Company name |
enabled | boolean Indicates whether company is enabled |
allowLogin | boolean Indicates whether a company's users are managed users (false) or not (true). Do not change the value with this request |
object (CompanyAddress) | |
companySize | string (CompanySizeType) Enum: "SMALL" "MEDIUM" "ENTERPRISE" Company size types |
Array of objects (CustomAttributeAccountV2) Custom attributes | |
industry | string Company industry sector |
emailAddress | string Company email address |
website | string Company website URL |
vendor | boolean Indicates whether the company has Vendor access |
reseller | boolean Indicates whether the company has Reseller access |
channelAdmin | boolean Indicates whether the company has Channel Admin access |
referral | boolean Indicates whether the company has Referral access |
externalId | string Company external ID |
phoneNumber | string or null Company phone number |
defaultRole | string The default role newly created users receive |
countryCode | string Company country code defined by ISO ALPHA-2 standard |
billingDayOfMonth | integer (Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date. |
thirtyDaysPurchaseLimit | number Monthly spend limit used as the default limit for all companies in the marketplace |
thirtyDaysPurchaseRemainingAmt | number Remaining monthly spending amount |
dailyPurchaseLimit | number Daily spend limit used as the default limit for all companies in the marketplace |
dailyPurchaseRemainingAmt | number Remaining daily spending amount |
thirtyDaysPurchaseLimitExempt | boolean Whether company is exempt from the marketplace default thirty-day spend limit |
thirtyDaysPurchaseLimitOverrideAmt | number Thirty-day spend limit for this company (overrides marketplace default for thirty-day company spend limit) |
dailyPurchaseLimitExempt | boolean Whether company is exempt from the marketplace default daily spend limit |
dailyPurchaseLimitOverrideAmt | number Daily spend limit for this company (overrides marketplace default for daily company spend limit) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Company 7078259907",
- "enabled": true,
- "address": {
- "city": "San Francisco",
- "country": "United Stated of America",
- "state": "California",
- "street1": "5th Ave",
- "street2": "#400",
- "zip": "32455"
}, - "companySize": "SMALL",
- "customAttributes": [
- {
- "name": "Geographic Region",
- "attributeType": "TEXT",
- "label": "Geographic Region",
- "hint": "US West, US Central, or US East",
- "value": "US"
}, - {
- "name": "Company Details",
- "attributeType": "MULTISELECT",
- "label": "Label Names",
- "hint": "",
- "valueKeys": [
- "Option 1"
]
}
], - "industry": "IT",
- "emailAddress": "info@company.com",
- "vendor": false,
- "reseller": false,
- "channelAdmin": false,
- "externalId": "d689b970-f3f9-42a6-a974-90e2bdadf860",
- "phoneNumber": "9259221234",
- "defaultRole": "USER",
- "countryCode": "US",
- "thirtyDaysPurchaseLimit": 0,
- "thirtyDaysPurchaseLimitExempt": false,
- "thirtyDaysPurchaseLimitOverrideAmt": null,
- "thirtyDaysPurchaseRemainingAmt": null,
- "dailyPurchaseLimit": 1000,
- "dailyPurchaseLimitExempt": false,
- "dailyPurchaseLimitOverrideAmt": 100,
- "dailyPurchaseRemainingAmt": null
}
Response samples
- 200
Patch company
Partially update marketplace company account information. This only adds or updates the values for the properties that you include in the call; all other properties are ignored.
Required Scopes and Authorization Rules
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Company ID |
Request Body schema: application/jsonrequired
Marketplace company account information and settings
name | string or null Company name |
enabled | boolean Indicates whether company is enabled |
allowLogin | boolean Indicates whether a company's users are managed users (false) or not (true). Do not change the value with this request. |
object (CompanyAddress) | |
companySize | string (CompanySizeType) Enum: "SMALL" "MEDIUM" "ENTERPRISE" Company size types |
Array of objects (CustomAttributeAccountV2) Custom attributes | |
industry | string Company industry sector |
emailAddress | string Company email address |
website | string Company website URL |
vendor | boolean Indicates whether the company has Vendor access |
reseller | boolean Indicates whether the company has Reseller access |
channelAdmin | boolean Indicates whether the company has Channel Admin access |
referral | boolean Indicates whether the company has Referral access |
externalId | string Company external ID |
phoneNumber | string or null Company phone number |
defaultRole | string The default role newly created users receive |
countryCode | string Company country code defined by ISO ALPHA-2 standard |
billingDayOfMonth | integer (Optional) Use this property in company creation requests to set the billing cycle start date. The date applies to all purchases made through the specified company, and overrides the marketplace-level billing cycle date. |
thirtyDaysPurchaseLimitExempt | boolean Whether company is exempt from the marketplace default thirty-day spend limit |
thirtyDaysPurchaseLimitOverrideAmt | number Thirty-day spend limit for this company (overrides marketplace default for thirty-day company spend limit) |
dailyPurchaseLimitExempt | boolean Whether company is exempt from the marketplace default daily spend limit |
dailyPurchaseLimitOverrideAmt | number Daily spend limit for this company (overrides marketplace default for daily company spend limit) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Company 7078259907",
- "enabled": true,
- "address": {
- "city": "San Francisco",
- "country": "United Stated of America",
- "state": "California",
- "street1": "5th Ave",
- "street2": "#400",
- "zip": "32455"
}, - "companySize": "SMALL",
- "customAttributes": [
- {
- "name": "Geographic Region",
- "attributeType": "TEXT",
- "label": "Geographic Region",
- "hint": "US West, US Central, or US East",
- "value": "US"
}, - {
- "name": "Company Details",
- "attributeType": "MULTISELECT",
- "label": "Label Names",
- "hint": "",
- "valueKeys": [
- "great option"
]
}
], - "industry": "IT",
- "emailAddress": "info@company.com",
- "vendor": false,
- "reseller": false,
- "channelAdmin": false,
- "externalId": "d689b970-f3f9-42a6-a974-90e2bdadf860",
- "phoneNumber": "9259221234",
- "defaultRole": "USER",
- "countryCode": "US",
- "thirtyDaysPurchaseLimitExempt": false,
- "thirtyDaysPurchaseLimitOverrideAmt": null,
- "dailyPurchaseLimitExempt": false,
- "dailyPurchaseLimitOverrideAmt": 10
}
Response samples
- 200
Update company picture
Update a marketplace company’s profile picture, for example, with an image of a logo. This method requires a Content-Type request header with a value of “multipart/form-data”. The updated company resource is returned.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
Request Body schema: application/jsonrequired
Image file that will be used as the profile picture.
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{ }
Response samples
- 200
Create company
Create a new company linked to the current reseller.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
Request Body schema: application/jsonrequired
Information about the new company that will be created
createdByCompanyId | string Reseller's company UUID |
name | string New company's name |
externalId | string External ID used to identify the new company (must be unique) |
phone | string New company's phone number |
companySize | string (AppResellerAccountCompanySize) Enum: "SMALL" "MEDIUM" "ENTERPRISE" Size of the new company |
website | string New company's website |
companyAccess | string (AppResellerAccountCompanyApiContext) Enum: "RESELLER" "REFERRAL" "CUSTOMER" Supported AppReseller contexts |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "createdByCompanyId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "name": "Test Name",
- "externalId": "externalRandom",
- "phone": "50505055",
- "companySize": "SMALL",
- "website": "www.new_company.com",
- "companyAccess": "RESELLER"
}
Response samples
- 200
{- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "externalId": "externalRandom",
- "name": "Test Name",
- "createdOn": 1519158286000,
- "phone": "50505055"
}
List companies
Retrieves companies depending on context: in the Reseller context, this endpoint lists all companies linked to the current reseller company; in the Reseller Manager context, it lists all referral and reseller companies in the current marketplace
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the companies
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the companies
query Parameters
context required | string Value: "RESELLER, RESELLER_MANAGER" Supported AppReseller contexts |
active | string User activation status |
enabled | string User enablement status |
searchText | string Search text |
fromDate | string From date, in timestamp format |
toDate | string To date, in timestamp format |
sortField | string Enum: "COMPANY_ID" "CREATED_ON" Field to sort by |
sortOrder | string Sort order |
page | integer Page number |
size | integer Number of results per page |
vendor | string Value: "ONLY_VENDORS, ONLY_NON_VENDORS, ONLY_RESELLERS" This enum filters companies that can sell (or not) or resell products in the marketplace. |
channelAdmin | string Value: "ONLY_CHANNEL_ADMINS, ONLY_NON_CHANNEL_ADMINS" This enum filters companies that have (or not) permission to manage the marketplace. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/companies?context=SOME_STRING_VALUE&active=SOME_STRING_VALUE&enabled=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&vendor=SOME_STRING_VALUE&channelAdmin=SOME_STRING_VALUE'
Response samples
- 200
[- {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "externalId": "externalRandom",
- "name": "Test Name",
- "createdOn": 1519158286000,
- "phone": "50505055",
- "activated": true,
- "numOfUsers": 1,
- "grantedAccesses": [ ]
}, - {
- "id": "296626c0-53e2-4515-8450-4a720bb5d040",
- "externalId": "externalRandom2",
- "name": "Test Name 2",
- "createdOn": 1519158286000,
- "phone": "50505056",
- "activated": true,
- "numOfUsers": 1,
- "grantedAccesses": [ ]
}
]
Company details
Retrieves the current reseller company details.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the company.
path Parameters
companyId required | string Company ID |
query Parameters
context required | string Value: "RESELLER, RESELLER_MANAGER" Supported AppReseller contexts |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/companies/%7BcompanyId%7D?context=SOME_STRING_VALUE'
Response samples
- 200
{- "id": "9e00b38b-7918-4a27-b2f6-123b77cfac0b",
- "name": "C37719018",
- "createdOn": 1523007202000,
- "enabled": true,
- "active": true,
- "grantedAccesses": [ ],
- "defaultRole": "USER",
- "availableAccesses": [ ],
- "availableTaxExemptions": [
- "FEDERAL_GOVERNMENT_US",
- "STATE_GOVERNMENT_US",
- "TRIBE_INDIAN",
- "FOREIGN_DIPLOMAT",
- "CHARITABLE_ORG",
- "RELIGIOUS_ORG",
- "RESALE",
- "COMMERCIAL_AGRICULTURAL",
- "INDUSTRIAL_PRODUCTION",
- "DIRECT_MAIL_US",
- "DIRECT_PAY_PERMIT_US",
- "OTHER",
- "LOCAL_GOVERNMENT_US",
- "COMMERCIAL_AQUACULTURE",
- "COMMERCIAL_FISHERY",
- "NON_RESIDENT_CAN",
- "MEDICAL_DEVICE_WITH_EXEMPT_SALES_TAX_US",
- "MEDICAL_DEVICE_WITH_TAXABLE_SALES_TAX_US"
], - "stats": [
- {
- "unit": "Free Trials",
- "children": "0"
}, - {
- "unit": "Expired Free Trials",
- "children": "0"
}, - {
- "unit": "Purchased Products",
- "children": "0"
}, - {
- "unit": "Suspended Products",
- "children": "0"
}, - {
- "unit": "Unpaid Invoices",
- "children": "0"
}, - {
- "unit": "Total Spent",
- "children": "$0.00"
}
], - "settings": [ ],
- "actions": [
- "JOIN_COMPANY",
- "DISABLE_COMPANY",
- "MANAGE_CUSTOM_ATTRIBUTES",
- "INVITE_USERS"
], - "availableRoles": [
- "USER"
], - "idpConfigurations": [ ]
}
Create user
Create a new user in a company linked to the Reseller company.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
query Parameters
context required | string Enum: "RESELLER" "RESELLER_MANAGER" |
Request Body schema: application/json
Information about the user to create
createdByCompanyId | string Reseller's company ID |
companyId | string New user's company ID |
externalId | string New user's external ID (must be unique) |
string New user's email (must be unique) | |
firstName | string New user's First Name |
lastName | string New user's Last Name |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "createdByCompanyId": "386626c0-53e2-0000-0000-4a720bb5d000",
- "companyId": "4c00cad1-f741-0zf6-bb00-0000e73cec00",
- "externalId": "01",
- "email": "user@appdirect.com",
- "firstName": "James",
- "lastName": "Smith"
}
Response samples
- 200
{- "id": "6d375008-3b19-4cb8-bbb9-dcd9fce99432",
- "companyId": "460fad0d-19e2-4eec-a756-59c15dc7a56a",
- "email": "test4@yopmail.com",
- "firstName": "user4",
- "lastName": "user4",
- "memberships": [
- {
- "company": {
- "id": "460fad0d-19e2-4eec-a756-59c15dc7a56a",
- "externalId": "external11",
- "name": "Company3",
- "createdOn": 1525682872000,
- "phone": null
}
}
]
}
List users
In the Reseller Manager context, this request retrieves all Resellers and Referral users. In the Reseller context, it retrieves all users that belong to companies linked to the reseller.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for reading the users from companies that are linked to mine.
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.
query Parameters
context required | string Enum: "RESELLER" "RESELLER_MANAGER" |
partner | string User partner |
companyId | string User company ID |
active | Array of strings List of user activation status |
searchText | string Search text |
fromDate | string From date, in timestamp format |
toDate | string To date, in timestamp format |
sortField | string Enum: "CUSTOMER_ID" "EMAIL" "FIRST_NAME" Field to sort by |
sortOrder | string Sort order |
page | integer Page number |
size | integer Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/users?context=SOME_STRING_VALUE&partner=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&active=SOME_ARRAY_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "0af398ee-0000-000a-0000-a83d70caeff8",
- "companyId": "0a357e6b-0000-000a-0000-680eabb9e322",
- "email": "john@appdirect.com",
- "firstName": "John",
- "lastName": "Grande",
- "createdOn": 1525682872000,
- "activated": false,
- "invitationRequired": false,
- "memberships": [
- {
- "company": {
- "id": "0a357e6b-0000-000a-0000-680eabb9e322",
- "name": "TestCompany",
- "createdOn": 1525682872000
}, - "enabled": true
}
]
}, - {
- "id": "47e70302-0000-000a-0000-a01cb6129c6c",
- "companyId": "a5811d92-0000-000a-0000-3c69e47fe126",
- "email": "george@appdirect.com",
- "firstName": "George",
- "lastName": "Common",
- "createdOn": 1461321550000,
- "activated": false,
- "invitationRequired": false,
- "memberships": [
- {
- "company": {
- "id": "a5811d92-0000-000a-0000-3c69e47fe126",
- "name": "C4027287",
- "createdOn": 1461321550000
}, - "enabled": true
}
]
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
User details
Get a single user details
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the company.
path Parameters
userId required | string User ID |
query Parameters
context required | string Enum: "RESELLER" "RESELLER_MANAGER" |
companyId required | string User's company ID (some user details depend on the specified company) |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/users/%7BuserId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'
Response samples
- 200
{- "id": "64535371-9e83-0000-0000-61cb17bc0c9e",
- "companyId": "c5fe2ca9-3db1-0000-0000-0cf0a01bd437",
- "email": "c4201720@appdirect.com",
- "firstName": "John",
- "lastName": "Grande",
- "createdOn": 1465984400000,
- "activated": true,
- "invitationRequired": false,
- "memberships": [
- {
- "company": {
- "id": "c5fe2ca9-0000-408c-0000-0cf0a01bd437",
- "name": "C4200000"
}, - "roles": [
- "BILLING_ADMIN",
- "SYS_ADMIN",
- "RESELLER"
], - "enabled": true
}
], - "partner": "APPDIRECT",
- "enabled": true,
- "customAttributes": [ ],
- "settings": [
- {
- "setting": "SYS_ADMIN",
- "permission": "READ",
- "value": "true"
}, - {
- "setting": "BILLING_ADMIN",
- "permission": "READ",
- "value": "true"
}
], - "actions": [
- "SEND_RESET_PASSWORD_EMAIL"
], - "availableRoles": [
- {
- "name": "BILLING_ADMIN",
- "permission": "READ"
}, - {
- "name": "SYS_ADMIN",
- "permission": "READ"
}
]
}
Create company association
Creates an association (link) between a customer company and a reseller company.
Required Scopes and Authorization Rules
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
Request Body schema: application/jsonrequired
Information about the association to create
customerCompanyId required | string Customer company ID |
resellerCompanyId required | string Reseller company ID |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "customerCompanyId": "string",
- "resellerCompanyId": "string"
}
Response samples
- 200
- 409
{- "id": "c39b8bcd-db7a-46d0-939f-facdeb1d6967",
- "resellerCompany": {
- "id": "0a69093c-0000-4f8d-0000-5e0000630000",
- "name": "Reseller"
}, - "customerCompany": {
- "id": "0dc2860e-0000-40f7-0000-ef0000a30000",
- "name": "Customer"
}, - "createdOn": 1531839782000
}
List company associations
Retrieves all customer company associations. This request requires either the Reseller company ID or the Customer company ID, which you can retrieve with the List companies request.
Required Scopes and Authorization Rules
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
query Parameters
resellerCompanyId required | string Reseller company ID. This field is required if you do not include the Customer company ID |
customerCompanyId required | string Customer company ID. This field is required if you do not include the Reseller company ID |
searchText | string Search term used to search on different fields of the customer company association. |
createdOn | string Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to' |
sort | string Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
number | integer Page number |
size | integer Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/companyAssociations?resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "c39b8bcd-db7a-46d0-939f-facdeb1d6967",
- "resellerCompany": {
- "id": "0a69093c-0000-4f8d-0000-5e0000630000",
- "name": "Reseller1"
}, - "customerCompany": {
- "id": "0dc2860e-0000-40f7-0000-ef0000a30000",
- "name": "Customer1"
}, - "createdOn": 1531839782000
}, - {
- "id": "c39b8bcd-db7a-46d0-939f-facdeb1d6967",
- "resellerCompany": {
- "id": "0a69093c-0000-4f8d-0000-5000020000ef",
- "name": "Reseller2"
}, - "customerCompany": {
- "id": "0dc2860e-0000-40f7-0000-e0000600000a",
- "name": "Customer2"
}, - "createdOn": 1531839782000
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
Remove company association
Deletes a company association.
Required Scopes and Authorization Rules
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for reading the users whose company are Reseller or Referral.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyAssociationId required | string Company Association ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/appReseller/v1/companyAssociations/%7BcompanyAssociationId%7D
Read company membership
Retrieve a marketplace user's company membership information.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as an end user in the company
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace. Only memberships with the Reseller role or that are linked to Reseller companies can be retrieved.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
query Parameters
includeCompanies | boolean Optional. Default is true. When set to true, companies will be included in the API response. When set to false, companies will not be included. |
includeUserCustomAttributes | boolean Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D?includeCompanies=SOME_BOOLEAN_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE'
Response samples
- 200
Update company membership
Update a marketplace user's company membership.
Updates the following roles based on the provided user company membership data: Product Support, Sales Support, Reseller Manager, Customer Support, Reseller, Billing Admin, Company Admin, Developer. This also enables/disables the membership based on provided user company membership data.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Request Body schema: application/json
Update User company membership data
enabled | boolean Indicates whether the membership is enabled |
roles | Array of strings Roles for this membership. One or more of the following: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer). |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "enabled": true,
- "roles": [
- "ROLE_BILLING_ADMIN",
- "ROLE_DEVELOPER",
- "ROLE_SYS_ADMIN"
]
}
Response samples
- 200
Delete company membership
Delete a marketplace user's company membership.
If this is the only company the user was member of, user is marked as deleted. A user that has active entitlements, owns products or is externally managed can't be deleted.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D
Enable/Disable company membership
Enable or disable marketplace user's company membership.
This only changes the user company membership's enabled status; all other attributes are ignored.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Request Body schema: application/json
User company membership data
enabled | boolean Indicates whether membership is enabled |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "enabled": true
}
Response samples
- 200
Create company membership (Add User)
Create a marketplace user with membership in the given company.
The created user is active, and is associated with the specified company (membership). User is set with a temporary password; the password is emailed to the recipients specified in the request body.
The domain part of the user's email address must match one of the verified domains associated with the company the user will be created in.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
Request Body schema: application/json
User creation data
recipientEmails | Array of strings List of emails where the temporary password is sent |
temporaryPassword | string Temporary password |
object (ActiveUserAccountV2) User information (company) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "user": {
- "email": "guy.smith@company9411805586.com",
- "firstName": "Guy",
- "lastName": "Smith",
- "roles": [
- "ROLE_DEVELOPER"
]
}, - "temporaryPassword": "Temporary Password",
- "recipientEmails": [
- "manager@company9411805586.com",
- "itteam@company9411805586.com"
]
}
Response samples
- 200
List company memberships
List a marketplace company's user memberships.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as an end user in the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
active | boolean If specified, returns only memberships associated with users having the specified active status |
enabled | boolean If specified, returns only memberships with the specified enabled status |
roleName | string If specified, returns only memberships with the specified role enabled |
groupUuid | string If specified, returns only memberships that are a part of the specified group |
page | integer Default: 0 Zero-based page index |
searchText | string Search term used to search on different fields of a membership |
size | integer Default: 50 The size of the page to be returned |
sortField | string Default: "DATE" Enum: "DATE" "FIRST_NAME" "LAST_NAME" The property to sort by |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Ordering type |
includeCompanies | boolean Optional. Default is true. When set to true, companies will be included in the API response. When set to false, companies will not be included. |
includeUserCustomAttributes | boolean Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships?active=SOME_BOOLEAN_VALUE&enabled=SOME_BOOLEAN_VALUE&roleName=SOME_STRING_VALUE&groupUuid=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&includeCompanies=SOME_BOOLEAN_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE'
Response samples
- 200
Create company membership
Add a new or existing user as a member of a marketplace company.
If no user exists with the given email address a new user account (Users) will be created. Use the allowLogin body parameter to control if a new user account should be invited to the marketplace with login access or created as a managed user without login access. See CreateUserAccountV2 for more information on the allowLogin parameter.
Depending on channel configuration, an invited membership is either created immediately, or when the invited user accepts the invitation.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
inviterUuid | string Unique identifier of the inviter in the API request. Required only when ROLE_PARTNER authority/scope is used to make the API request. |
Request Body schema: application/json
User company membership data
object (CreateUserAccountV2) User information data | |
roles | Array of strings Optional. When not included the company default role will be used. Roles for this membership. One or more of the following: ROLE_USER (User), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer). For user roles (not associated with membership), see UserAccountV2. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "user": {
- "email": "jane.lee@company1151609035.com",
- "firstName": "Jane",
- "lastName": "Lee",
- "allowLogin": true
}, - "roles": [
- "ROLE_USER"
]
}
Response samples
- 201
Update company membership roles (bulk)
Update role assignments for one or more company memberships (users).
API clients acting on behalf of an end user must first call Read assignable roles for company membership to retrieve the list of roles they are allowed to update.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
Request Body schema: application/json
User company membership role data
userUuid | string UUID of the user whose membership roles need to be modified |
rolesToAdd | Array of strings Roles to add to this membership. One or more of the following: ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer). |
rolesToRemove | Array of strings Roles to remove from this membership. One or more of the following: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer). |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "userUuid": "92a8d9f6-223d-11e8-a232-d879d2b204fc",
- "rolesToAdd": [
- "ROLE_DEVELOPER",
- "ROLE_RESELLER"
], - "rolesToRemove": [
- "ROLE_CHANNEL_SUPPORT"
]
}, - {
- "userUuid": "673d2cda-2d1a-11e8-a232-d879d2b204fc",
- "rolesToAdd": [
- "ROLE_SYS_ADMIN"
]
}
]
Read user checklist
Retrieve a marketplace user's checklist.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as current user matches the user in path.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/checklist
Response samples
- 200
Invite a managed user
Invite a managed user as a member of a marketplace company. If the user is a member of a managed company, the managed company identifier must be used in this request. The operation will then also convert the managed company to a regular company.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
query Parameters
inviterUuid | string Unique identifier of the inviter in the API request. Required only when ROLE_PARTNER authority/scope is used to make the API request. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/invite?inviterUuid=SOME_STRING_VALUE'
Request to purchase an application
Request to purchase an application for the given marketplace company and user.
This causes an email notification to be sent to company administrators (system and billing admins).
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as current user matches the user in path.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
applicationId required | integer Unique identifier of application to purchase |
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string User Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/applications/%7BapplicationId%7D/purchaseRequests
List application assignments for company membership
Retrieve a marketplace user's application assignments.
Returns assignments that are not FAILED or CANCELLED.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/assignments
Response samples
- 200
Read assignable roles for company membership
Retrieve marketplace roles that can be assigned by this company membership.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as current user matches the user in path.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/assignableRoles
Response samples
- 200
Read company assignable roles
Retrieves a list of marketplace roles that the current, logged-in user can assign to any user in any marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
path Parameters
companyUuid required | string Unique identifier of the company |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/assignableRoles
Response samples
- 200
List groups for company membership
Retrieve the list of groups the company membership is in.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as an end user in the company
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
userUuid required | string Unique identifier of user in the API request |
query Parameters
ldap | boolean Set to true when company is externally managed |
page | integer Default: 0 Zero-based page index |
searchText | string Search term used to search on group name and description |
size | integer Default: 50 The size of the page to be returned |
sortField | string Default: "createdOn" |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/groups?ldap=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
Publish content events
Publishes content events that contain new or changed data in referenced resources. To access this API, you must configure product-scoped OAuth2 authentication for your application.
Required Scopes and Authorization Rules
ROLE_APPLICATION
-Allows access as the Developer that owns the Product.
Request Body schema: application/jsonrequired
All information about a change to data in a referenced resource, including the resource key, change description, changes to fields, user access, and content.
object (EventMetadata) Metadata for Search content | |
required | object (Key) Identify a resource |
object (ContentEventActor) Identify the application user by identifier (accountName) and name. Required parameters: Only identifier is required to identify a user. | |
object (Action) An action statement that can be used to describe changes that appear in feeds. The statement is constructed of a verb suffixed by text. For example: Verb (assigned) + text (a task) = action description (assigned a task). If delete boolean is true, the resource is deleted from Customer Search. Required parameters: Only Text and Verb are required in requests to create action statements. Only delete is required to delete a resource. | |
object (Changes) Changes to a resource connected to Search | |
Array of objects (Content) Content items associated with the resource |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "eventMetadata": {
- "id": "6ed0279c-35ed-4c7e-928e-25e46c080431",
- "type": "ResourceUpdated",
- "timestamp": "2020-06-11T15:23:45Z"
}, - "key": {
- "source": "b2fc6737-3d3f-4da2-afda-f80f25b89af9",
- "instance": "myclient.myapp.com",
- "resourceId": "order-12345",
- "timestamp": 1500558736123
}, - "actor": {
- "identifier": "bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4",
- "name": "Bob Roberts"
}, - "action": {
- "verb": "assigned",
- "text": "a task"
}, - "changes": {
- "fields": [
- {
- "name": "projectStatus",
- "value": "In progress",
- "label": "Project Status",
- "op": "replace",
- "display": "expanded"
}
], - "users": [
- {
- "identifier": "bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4",
- "name": "Bob Roberts"
}
], - "groups": [
- {
- "identifier": "c390a4bf-4f54-418a-87ca-5970c332ba17"
}
]
}, - "contents": [
- {
- "title": "Order request",
- "searchText": "string",
- "mimeType": "application/pdf",
- "linkedToResource": true
}
]
}
Response samples
- 200
- 400
- 401
- 500
{ }
Read all Currency Exchange Rates
Retrieve all of the current and historical exchange rates set on the marketplace.
query Parameters
baseCurrency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" The base currency filter. Optional. |
counterCurrency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" The counter currency filter. Optional. |
page | integer Default: 0 The page number. Optional. |
size | integer Default: 20 The number of application returned by page. Optional. |
sortField | string Default: "VALID_FROM" Enum: "BASE_CURRENCY" "COUNTER_CURRENCY" "VALID_FROM" The order field. Optional. |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" The sort direction. Optional. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/exchangeRates?baseCurrency=SOME_STRING_VALUE&counterCurrency=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "baseCurrency": "USD",
- "counterCurrency": "CAD",
- "rate": 1.25,
- "validFrom": 1507077229000,
- "active": true,
- "authenticationType": "CHANNEL_CONSUMER_LOGIN",
- "oauthKey": "dNcCBthw82",
- "userId": 1111,
- "currencyExchangeRateUuid": "9ec1a010-2814-42c9-a9e0-44ed1f5895f0"
}
], - "page": {
- "size": 20,
- "totalElements": 50,
- "totalPages": 3,
- "number": 0
},
}
Create new Currency Exchange Rate
Define a new exchange rate to be used when custom metered usage is reported to your marketplace by a Developer in a currency that isn't supported by your marketplace. This enables you to invoice your customers in your marketplace currency, even though a Developer's external price list for metered usage charges (like Amazon Web Services) might be in a different currency.
Request Body schema: application/json
The new Currency Exchange Rate
baseCurrency required | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
counterCurrency required | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
rate required | number A currency pair is the quotation and pricing structure of the currencies traded in a forex market. A Currency Pair is represented as XXX/YYY where XXX is the Base currency and YYY is the Counter currency. In AppDirect the Base currency is an external currency and the Counter currency is a supported currency in your marketplace. When an exchange rate is provided with a Currency Pair, it represents how much of the Counter currency is required to purchase 1 unit of the Base currency. EUR/USD=1.18; EUR is the Base currency and USD is the counter currency. 1 EUR is equal to 1.18 USD. In order to buy 1 EUR, the buyer must pay 1.18 USD. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "baseCurrency": "USD",
- "counterCurrency": "CAD",
- "rate": 0.5
}
Response samples
- 200
{- "baseCurrency": "GTQ",
- "counterCurrency": "INR",
- "rate": 0.3,
- "validFrom": 1507077229000,
- "active": true,
- "authenticationType": "USER_LOGIN",
- "oauthKey": "",
- "userId": 3434556,
- "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}
Read a Currency Exchange Rate
Retrieve the details of a specific Currency Exchange Rate.
path Parameters
currencyExchangeRateUuid required | string The unique identifier of the currency exchange rate. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/channel/v1/exchangeRates/%7BcurrencyExchangeRateUuid%7D
Response samples
- 200
{- "baseCurrency": "GTQ",
- "counterCurrency": "INR",
- "rate": 0.3,
- "validFrom": 1507077229000,
- "active": true,
- "authenticationType": "USER_LOGIN",
- "oauthKey": "",
- "userId": 3434556,
- "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}
Deactivate a Currency Exchange Rate
Deactivate a Currency Exchange Rate. To stop supporting currency exchange on your marketplace, deactivate a rate. This will prevent the exchange rate from being used to convert usage.
path Parameters
currencyExchangeRateUuid required | string The unique identifier of the currency exchange rate. |
Request Body schema: application/json
Currency Exchange Rate active
active | boolean Currency Exchange Rates can be only deactivated. Allowed value: false. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "active": true
}
Response samples
- 200
{- "baseCurrency": "GTQ",
- "counterCurrency": "INR",
- "rate": 0.3,
- "validFrom": 1507077229000,
- "active": true,
- "authenticationType": "USER_LOGIN",
- "oauthKey": "",
- "userId": 3434556,
- "currencyExchangeRateUuid": "76b11329-e3a5-4944-93b0-0411c9f63369"
}
API endpoint to manage notification templates (email and sms) that are used to communicate with users on the marketplace when a event occurs on the marketplace that requires a notification to users.
Retrieve an SMS template by type
This call returns all details for a specific sms template type.
path Parameters
type required | string Sms template type |
query Parameters
directSales | boolean Default: false Get the developer sms tempalte |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/notification/v1/templates/sms/%7Btype%7D?directSales=SOME_BOOLEAN_VALUE'
Response samples
- 200
{- "id": 269,
- "type": "ACCOUNT_ACTIVATION",
- "Subject": "subject...",
- "locale": "en_US",
- "content": "activate that bad boy",
- "enabled": true,
- "directSales": false
}
List notification templates
List notification templates for the current channel
query Parameters
directSales | boolean Default: false List only the developers notification templates |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/notification/v1/templates?directSales=SOME_BOOLEAN_VALUE'
Response samples
- 200
[- {
- "type": "ACCOUNT_ACTIVATION",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}, - {
- "method": "SMS",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": true
}, - {
- "type": "ACCOUNT_ACTIVATION_AFTER_MIGRATION",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": false
}, - {
- "type": "BRANDED_ACCOUNT_ACTIVATION",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": true
}, - {
- "type": "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": false
}, - {
- "type": "ACTIVE_USER_TEMP_PASSWORD",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": false
}, - {
- "type": "NEW_USER",
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "methods": [
- {
- "method": "EMAIL",
- "enabled": true
}, - {
- "method": "SMS",
- "enabled": true
}
], - "reminder": "NONE",
- "generated": false,
- "required": true
}
]
Create or update a common email template element
This call allows you to create a new template element (for example, a variable) or update an existing one.
Request Body schema: application/json
Common element definition
content required | string Email notification content |
defaultCommonElement | boolean If the elements are default common elements |
enabled | boolean If the email template is enabled |
id | number Email notification template ID |
locale required | string Email notification locale to determine the language |
partner | string Partner being used to render the email |
type required | string (NotificationCommonElementType) Value: "UNSUBSCRIBE" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "content": "string",
- "defaultCommonElement": true,
- "enabled": true,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "type": "UNSUBSCRIBE"
}
Response samples
- 200
{- "id": 3,
- "type": "UNSUBSCRIBE",
- "content": "This is a test.",
- "locale": "en_US",
- "enabled": true,
- "partner": "APPDIRECT",
- "defaultCommonElement": false
}
List all notification parameters for a notification type
This call returns all parameter details from a notification template for a specified template type.
path Parameters
type required | string Notification type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/parameters/%7Btype%7D
Response samples
- 200
[- {
- "parameterName": "{SUPPORT_EMAIL}",
- "type": "SUPPORT_EMAIL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{BASE_URL}",
- "type": "BASE_URL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{SUPPORT_PHONE}",
- "type": "SUPPORT_PHONE",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{ACTIVATION_URL}",
- "type": "ACTIVATION_URL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{COMPANY_NAME}",
- "type": "COMPANY_NAME",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{PARTNER_LABEL}",
- "type": "PARTNER_LABEL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{PARTNER_STORE_LABEL}",
- "type": "PARTNER_STORE_LABEL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{USER_EMAIL}",
- "type": "USER_EMAIL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{ACTIVATION_TOKEN}",
- "type": "ACTIVATION_TOKEN",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{SUPPORT_URL}",
- "type": "SUPPORT_URL",
- "valueType": "SINGLE"
}, - {
- "parameterName": "{MARKETPLACE_LOGO_URL}",
- "type": "MARKETPLACE_LOGO_URL",
- "valueType": "SINGLE"
}
]
Retrieve an email template by type
This call returns all details from a specific email template type.
path Parameters
type required | string Email template type |
query Parameters
directSales | boolean Default: false Get the developer email template |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/notification/v1/templates/email/%7Btype%7D?directSales=SOME_BOOLEAN_VALUE'
Response samples
- 200
{- "id": 2,
- "type": "ACCOUNT_ACTIVATION",
- "locale": "en_US",
- "subject": "Please verify your email address for {PARTNER_LABEL}",
- "content": "Hello,<br/>Congratulations! You have a new {PARTNER_STORE_LABEL} account ready to be activated.<br/>Your account has been created with the username {USER_EMAIL}<br/>To activate your account please use the following link:<br/>{ACTIVATION_URL}<br/><br/>If you have any questions, our Support Team is standing by. You can<br/>email us at {SUPPORT_EMAIL}, call us at {SUPPORT_PHONE},<br/>or start a chat with us on the website at {SUPPORT_URL}.<br/>\n<br/>Thank you!<br/>Your friends at {PARTNER_LABEL}",
- "enabled": true,
- "reminderPattern": "pattern...",
- "directSales": false,
- "defaultTemplate": false,
- "partner": "APPDIRECT",
- "fallbackEmailTemplateId": 10
}
Create or update an sms template
This call create a new element or updates an existing SMS template.
Request Body schema: application/json
Sms Template definition
content required | string SMS notification content |
directSales | boolean If the template is used for a direct sale product |
enabled | boolean If the SMS template is enabled |
id | number SMS notification template ID |
locale required | string SMS notification locale to determine the language |
type required | string (NotificationTemplateType) Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "content": "string",
- "directSales": true,
- "enabled": true,
- "id": 0,
- "locale": "string",
- "type": "ACCOUNT_ACTIVATION"
}
Response samples
- 200
{- "id": 1,
- "type": "ACCOUNT_ACTIVATION",
- "locale": "en_US",
- "content": "This is a test.",
- "enabled": true,
- "directSales": false
}
Create or update an email template
This call creates a new email template or updates an existing template.
Request Body schema: application/json
Template definition
content required | string Email notification content |
defaultTemplate | boolean If the template is a default template of it's kind |
directSales | boolean If the template is used for a direct sale product |
enabled | boolean If the email template is enabled |
fallbackEmailTemplateId | number The ID of the template to fallback to if current one is disabled or not existing |
id | number Email notification template ID |
locale required | string Email notification locale to determine the language |
partner | string Partner being used to render the email |
reminderPattern | string Notification reminder pattern |
subject required | string Email notification subject |
type required | string (NotificationTemplateType) Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "content": "string",
- "defaultTemplate": true,
- "directSales": true,
- "enabled": true,
- "fallbackEmailTemplateId": 0,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "reminderPattern": "string",
- "subject": "string",
- "type": "ACCOUNT_ACTIVATION"
}
Response samples
- 200
{- "id": 573,
- "type": "ACCOUNT_ACTIVATION",
- "locale": "en_US",
- "subject": "Test email",
- "content": "This is a test.",
- "enabled": true,
- "reminderPattern": "pattern...",
- "directSales": false,
- "defaultTemplate": false,
- "partner": "APPDIRECT",
- "fallbackEmailTemplateId": 1
}
Retrieve common email element by type
Retrieve common email element by type for the current channel
path Parameters
type required | string Notification common element type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/common/email/%7Btype%7D
Response samples
- 200
{- "id": 4,
- "type": "UNSUBSCRIBE",
- "content": "This is a test.",
- "locale": "en_US",
- "enabled": true,
- "partner": "APPDIRECT",
- "defaultCommonElement": false
}
List notification common elements
List common element definitions that is present in each notification that is sent e.g. an unsubscribe message in an email footer.
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/common
Response samples
- 200
[- {
- "type": "UNSUBSCRIBE",
- "position": "BOTTOM",
- "methods": [
- "EMAIL",
- "SMS"
]
}
]
API endpoint to manage default notification templates (email and sms) When a partner have not customized a notification template, the default template will be used to send notification to users if it exists for the required notification template type and required locale.
Read default notification templates available for the current channel.
Read default notification templates available for the current channel. Reserved for super support users.
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/default
Response samples
- 200
[- {
- "audience": "NEW_USER",
- "category": "ACCOUNTS",
- "generated": true,
- "methods": [
- {
- "enabled": true,
- "method": "EMAIL"
}
], - "reminder": "NONE",
- "required": true,
- "type": "ACCOUNT_ACTIVATION"
}
]
Create or update a default common email template element.
Create or update a default common email template element
Request Body schema: application/json
Common element definition
content required | string Email notification content |
defaultCommonElement | boolean If the elements are default common elements |
enabled | boolean If the email template is enabled |
id | number Email notification template ID |
locale required | string Email notification locale to determine the language |
partner | string Partner being used to render the email |
type required | string (NotificationCommonElementType) Value: "UNSUBSCRIBE" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "content": "string",
- "defaultCommonElement": true,
- "enabled": true,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "type": "UNSUBSCRIBE"
}
Read default common email element by type.
Read default common email element by type
path Parameters
type required | string Notification common element type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/default/common/email/%7Btype%7D
Response samples
- 200
{- "content": "string",
- "defaultCommonElement": true,
- "enabled": true,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "type": "UNSUBSCRIBE"
}
Create or update default email template
Create or update default email template. Reserved for super support users.
Request Body schema: application/json
Template definition
content required | string Email notification content |
defaultTemplate | boolean If the template is a default template of it's kind |
directSales | boolean If the template is used for a direct sale product |
enabled | boolean If the email template is enabled |
fallbackEmailTemplateId | number The ID of the template to fallback to if current one is disabled or not existing |
id | number Email notification template ID |
locale required | string Email notification locale to determine the language |
partner | string Partner being used to render the email |
reminderPattern | string Notification reminder pattern |
subject required | string Email notification subject |
type required | string (NotificationTemplateType) Enum: "ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_AFTER_MIGRATION" "BRANDED_ACCOUNT_ACTIVATION" "ACCOUNT_ACTIVATION_CREATED_BY_ASSISTED_SALES" "ACTIVE_USER_TEMP_PASSWORD" "NEW_USER" "INVITE_USER" "BAAS_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REQUEST" "STORE_MARKETPLACE_SIGN_UP_REQUEST" "LISTING_MARKETPLACE_SIGN_UP_REMINDER" "STORE_MARKETPLACE_SIGN_UP_REMINDER" "PASSWORD_RESET" "PASSWORD_CHANGED_NOTICE" "PRIMARY_EMAIL_CHANGED_NOTICE" "EMAIL_VERIFICATION" "IMPERSONATE_REQUEST" "PASSWORD_REMINDER" "REGISTRATION_REMINDER" "FIRST_TIME_LOGIN" "INACTIVE_USER_LOGIN_REMINDER" "INACTIVE_USER_PURCHASE_REMINDER" "ACCOUNT_ACTIVATION_FOR_EMAIL_CHANGE" "TWO_FACTOR_AUTHENTICATION_EMAIL" "ASSIGNMENT_NOTICE" "UNASSIGNMENT_NOTICE" "ASSIGNED_USERS_LIMIT" "ADOPTION_NOTICE" "SUBSCRIPTION_ADOPTION" "APPLICATION_ACCESS_REQUEST_NOTICE" "APPLICATION_PURCHASE_REQUEST_NOTICE" "EXPIRED_APPLICATION_REQUEST" "SUSPENDED_APPLICATION_REQUEST" "UPDATED_DOWNLOAD" "REVIEW_PURCHASE_REMINDER" "DENY_REVIEW" "DISCOUNT_DEACTIVATED" "CHANGE_OWNERSHIP" "REACTIVATE_DOMAIN" "SUBSCRIPTION_ORDER" "SUBSCRIPTION_ORDER_SINGLE_USER" "SUBSCRIPTION_ORDER_FREE_TRIAL" "PERSONAL_SUBSCRIPTION_NOTICE" "SUBSCRIPTION_ORDER_DOCUMENT" "SUBSCRIPTION_ORDER_MODULE" "FAILED_ORDER" "SUBSCRIPTION_UPGRADE" "FREE_TRIAL_OVER" "FREE_TRIAL_AUTO_UPGRADE_TO_PAID" "EXPIRED_TRIAL_UPGRADE_REMINDER" "INVOICE" "PAYMENT_SUCCESSFUL" "PAYMENT_FAILED" "REFUND" "EXPIRED_CREDIT_CARD" "SUBSCRIPTION_SUSPENDED_OVERDUE_INVOICE" "SUBSCRIPTION_SUSPENDED" "SUBSCRIPTION_CANCEL" "SUBSCRIPTION_CANCEL_SCHEDULED" "SCHEDULED_CANCELLATION_REMINDER" "TICKET_SUPPORT_SUBSCRIPTION_CANCEL" "FAILED_TO_REMOVE_USER" "FAILED_TO_REMOVE_USER_HAS_ACTIVE_OR_PENDING_APPS" "FAILED_TO_REMOVE_USER_OWNS_APPS" "FAILED_TO_REMOVE_USER_SOLE_SYSADMIN" "END_OF_CONTRACT" "OFF_PURCHASE_ORDER" "ORDER_APPROVAL_REQUEST" "SUBSCRIPTION_ORDER_RESELLER" "SUBSCRIPTION_CHANGE_RESELLER" "PUBLISH_REQUEST_PENDING_APPROVAL" "APPLICATION_PUBLISHED" "PUBLISH_DENIED" "VENDOR_NOTIFICATION" "VENDOR_REVIEW" "QUESTION_ASKED" "VENDOR_PUBLISH_REQUEST" "NETWORK_APPLICATION_REPUBLISHED" "MANUAL_EVENT_RESOLUTION" "NEW_REPORT_AVAILABLE" "REPORT_GENERATED" "REPORT_SUMMARY" "NEW_REPORT_SPECIFIC_NOTIFICATION" "OFFLINE_ORDER" "OFFLINE_ASSIGNMENT" "PRODUCT_CREDENTIALS" "MOSI_BOOST_FAILURE" "CREST_NEW_ADMIN" "MOSI_NEW_ADMIN" "MOSI_NEW_USER" "MOSI_UPDATE_USERNAME" "MOSI_ORDER_PLACED" "GOOGLE_NEW_ADMIN_USER" "GOOGLE_NEW_USER" "SENDGRID_PURCHASE" "MCAFEE_PURCHASE" "SCALEXTREME_ACCOUNT" "SYMANTEC_CLOUD_NEW_ACCOUNT" "SYMANTEC_CLOUD_OLD_ACCOUNT" "SYMANTEC_EV_CLOUD_NOTIFICATION" "MOZY_NEW_USER" "NORTON_NEW_USER_PC" "WEBEX_NEW_USER" "ASYNCHRONOUS_PRODUCT_PURCHASE_NOTIFICATION" "MARKETPLACE_REQUEST_TO_ADD_PRODUCT" "VENDOR_ADD_REQUEST" "PRODUCT_ADDED" "VENDOR_APPROVED" "AZURE_SYNC_INVITE_NEW_USER" "AZURE_SYNC_INVITE_USER" "DOCUSIGN_PURCHASE" "DOCUSIGN_ASSIGN" "RESELLER_LINKED" "RESELLER_UNLINKED" "RESELLER_SIGNUP_REQUESTED" "RESELLER_SIGNUP_APPROVED" "RESELLER_SIGNUP_DENIED" "TBILL_VALIDATION" "TBILL_APPROVED_USER_NOTIFICATION" "TBILL_REJECTED_USER_NOTIFICATION" "TBILL_APPROVED_CHANNEL_NOTIFICATION" "TBILL_REJECTED_CHANNEL_NOTIFICATION" "TBILL_INVALID_NOTIFICATION" "LEFTRONIC_ACCOUNT_ACTIVATION" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_NEW" "DOMAIN_REGISTRATION_DOMAIN_PURCHASED_TRANSFER" "DOMAIN_REGISTRATION_DOMAIN_TRANSFER_COMPLETE" "DOMAIN_REGISTRATION_END_OF_CONTRACT" "DOMAIN_REGISTRATION_END_OF_CONTRACT_MANUAL_RENEWAL" "DOMAIN_REGISTRATION_DOMAIN_SUSPENDED" "DOMAIN_REGISTRATION_DOMAIN_CANCELED" "O365_RESET_DOMAIN_USER_PASSWORDS" "SALES_LEAD_CREATED" "SALES_LEAD_ACCEPTED" "SALES_LEAD_DENIED" "SALES_LEAD_ASSIGNED" "SALES_LEAD_WON" "SALES_LEAD_LOST" "LEAD_PRODUCT_CREATED_ADMIN" "LEAD_MANUAL_CREATED_RESELLER" "LEAD_MANUAL_CREATED_DEVELOPER" "LEAD_PRODUCT_CREATED_SSR" "LEAD_REFERRED_COMPANY_SSR" "LEAD_REFERRED_COMPANY_RESELLER" "LEAD_CONVERTED_ADMIN" "LEAD_CONVERTED_SSR" "PRODUCT_PROFILE_LEAD_CREATED" "CUSTOM_AD_HOC" "SALES_OPPORTUNITY_CREATED" "SALES_OPPORTUNITY_APPROVED" "SALES_OPPORTUNITY_DENIED" "RESELLER_PROFILE_PUBLICATION_REQUESTED" "RESELLER_PROFILE_PUBLICATION_REQUEST_CANCELLED" "RESELLER_PROFILE_UNPUBLISHED" "RESELLER_PROFILE_PUBLICATION_APPROVED" "RESELLER_PROFILE_PUBLICATION_DENIED" "MICROSOFT_CREDENTIALS_SENT" "FAILED_CONTRACT" "WHOLESALES_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_PRICE_GRANTED_BY_SALES_SUPPORT" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED" "WHOLESALE_PRICE_END_USER_ACTION_PENDING_REJECTED_BY_CHANNEL" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_PRICE_REQUESTED_FOR_COMPANY_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_RESELLER_MANAGER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_CHANNEL_ADMIN" "WHOLESALE_PRICE_RESELLER_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALE_PRICE_SALES_SUPPORT_ACTION_PENDING_REJECTED_BY_END_USER" "WHOLESALES_PRICE_RESELLER_ACTION_PENDING_MANAGER_APPROVED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED" "WHOLESALES_PRICE_RESELLER_MANAGER_ACTION_PENDING_PRICE_REQUESTED_FOR_CHANNEL_ADMIN" "API_ALERT" "WELCOME_USER" "CREDIT_CARD_REQUIRED" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "content": "string",
- "defaultTemplate": true,
- "directSales": true,
- "enabled": true,
- "fallbackEmailTemplateId": 0,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "reminderPattern": "string",
- "subject": "string",
- "type": "ACCOUNT_ACTIVATION"
}
Read default email template by type
Read default email template by type. Reserved for super support user.
path Parameters
type required | string Email template type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/notification/v1/templates/default/email/%7Btype%7D
Response samples
- 200
{- "content": "string",
- "defaultTemplate": true,
- "directSales": true,
- "enabled": true,
- "fallbackEmailTemplateId": 0,
- "id": 0,
- "locale": "string",
- "partner": "string",
- "reminderPattern": "string",
- "subject": "string",
- "type": "ACCOUNT_ACTIVATION"
}
List all discounts
Lists all available discounts. The parameters can be used to filter the results.
query Parameters
code | string Discount code |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "CREATED_ON" Enum: "APPLICATION" "CHANNEL" "CODE" "CREATED_ON" "END_DATE" "REDEMPTIONS" "START_DATE" Sort field. Default value is creation date. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. Default value is ascending. |
start | integer First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/discounts?code=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
Create discounts
Creates a discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).
Request Body schema: application/json
Discount data object
applicationId | number or null Application ID. |
applicationUuid | string or null Application UUID. |
applicationName | string or null Name of the application to which the discount applies. |
autoApply | boolean True if the discount is automatically applied. Default value is true. |
basePartnerSharePercentage | number or null Base partner's percentage share of the discount. |
billingCycles | number or null Number of billing cycles for which the discount should be applied. |
code | string or null Discount code. Must be at least 4 characters, but no longer than 103 characters. |
createdOn | number or null Creation date of the discount. |
description required | string Description of discount. Required field. Must be at least 4 characters, but no longer than 255 characters. |
editionId | number or null Edition ID. |
editionUuid | string or null Edition UUID. |
expirationDate | number or null Expiration date for the discount. This date must be in the future. |
id | number or null Discount ID. |
uuid | string or null Discount UUID. |
industryId | number or null Industry ID. |
maxRedemptions | number or null Maximum number of redemptions available. |
maxUnits | number Maximum number of units for which to apply the discount. |
minUnits | number Minimum number of units for which to apply the discount. |
partnerSharePercentage | number or null Partner's percentage share of the discount. |
paymentPlanId | number or null Payment plan ID. |
paymentPlanUuid | string or null Payment plan UUID. |
percentage | number Percentage discount if discount is of PERCENTAGE type. The percentage value cannot exceed two decimal places (for example, 10.15). |
price | number or null Amount to discount if discount is of FIXED_PRICE type. |
redemptionRestriction | string (RedemptionRestriction) |
redemptions | number Number of times the discount has been redeemed. |
retainable | boolean True if the discount is retainable. Retainable discounts can be redeemed on orders that are updated after the discount expires. For example, if an order includes a discount that expires on 01 January 2019, and the order is then updated on 02 January 2019, the discount would still be redeemable. The default value is false (discounts are not retained). |
startDate | number or null Start date for the discount. |
type required | string (DiscountType) |
unit | string (PricingUnit) Enum: "USER" "GIGABYTE" "MEGABYTE" "HOUR" "MINUTE" "INVOICE" "UNIT" "PROJECT" "PROPERTY" "ITEM" "WORD" "EMAIL" "CONTACT" "CALL" "CREDIT" "ROOM" "HOST" "AGENT" "OPERATOR" "PROVIDER" "MANAGER" "TESTER" "JVM" "SERVER" "WEB_USE_MINUTE" "AUDIO_USE_MINUTE" "PIECE" "EMPLOYEE_PAY_PERIOD" "EMPLOYEE_PER_PAY_PERIOD" "COMPUTER" "NOT_APPLICABLE" "ONE_TIME_SETUP" "DATA_POINTS" "TIER1_API_CALLS" "TIER2_API_CALLS" "ADVISORY_HOURS" "OVERAGE_AUDIO_MINUTE" "EMPLOYEE" "CONNECTION" "PUSH_USER" "THOUSAND_EMAILS_PER_DAY" "PUSH_NOTIFICATION_DEVICES" "API_CALLS" "SMS_TEXT_MESSAGE" "CONTACTS_1000" "CONTRACT_FEE" "TRANSFER_FEE" "REACTIVATION_FEE" "RECIPIENT" "ADDITIONAL_1000_CONTACTS_BLOCK" "SCHEDULE_PLAN" "EMAILS_1000" "EMAILS_2500" "MOBILE_DEVICE" "PAYSLIP" "PAYSLIP_CORRECTION" "STORE" "WEBSITE" "EPAPER" "PAGE" "POSTAGE_AND_PRINT" "INTERNATIONAL_POSTAGE_AND_PRINT" "TIER1_TOP_LEVEL_DOMAIN" "TIER2_TOP_LEVEL_DOMAIN" "DEDICATED_IP" "ENABLELCM" "MAXCOMPONENTS" "DATA_MANAGEMENT_USER" "SPECIALIST_USER" "PROFESSIONAL_USER" "MATERIALITY_MATRIX" "STAKEHOLDER_MANAGEMENT" "SCORECARD" "STANDARD_MAPPING" "DONATION_MANAGEMENT" "DOCUMENT" "PACKAGE_SMALL" "PACKAGE_LARGE" "MEMBER" "ATTENDEE" "MAILING" "RESPONSE" "EXTERNAL_INVOICE_FEE" "CLIENT_TEST" "IMAGE_TRANSFORMATION" "TOTAL_IMAGE" "LICENSE" "MAILBOX" "FREE_40_INCH_HDTV_PC" "FREE_46_INCH_HDTV_PC" "FREE_46_INCH_HDTV_PC_MOUNTING" "EMPLOYEE_PER_WEEK" "REGISTER" "END_USER" "CORE" "DEVICE" "PORT" "MEASURER" "PUBLISHED_MEASUREMENT" "NODE" "SERVER_RULE" "VPN_LP" "PROXY_LP" "DESKTOP_CONNECT_LP" "CAMERA" "MAIN_SOUND_ZONE" "SUB_SOUND_ZONE" "POST" "REPORT" "BOX" "SESSION" "DISPLAY" "TRUCKROLL" "TRANSACTION_FEE" "SENDING_API_CALL" "LOOKUP_API_CALL" "ANALYTICS_API_CALL" "MIGRATION_INSTANCE" "NFON_SETUP_PER_PHONE_EXTENSION" "NFON_SETUP_PER_PHONE_EXTENSION_PLUS" "NFON_SETUP_PER_EFAX_EXTENSION" "NFON_PHONE_EXTENSION" "NFON_PHONE_EXTENSION_PLUS" "NFON_EFAX_EXTENSION" "NFON_CALL_CENTER_MONITORING" "NFON_NMEETING" "NFON_MOBILE_NFON_DEVICE" "NFON_ISOFTPHONE_MAC" "NFON_NSOFTPHONE_STANDARD_WINDOWS" "NFON_NSOFTPHONE_PREMIUM_WINDOWS" "NFON_NCTI_STANDARD_WINDOWS" "NFON_NCTI_STANDARD_CRM_WINDOWS" "NFON_NCTI_STANDARD_MAC" "NFON_NSOFTPHONE_STANDARD_WINDOWS_OR_MOBILE" "WESUSTAIN_PERFORMANCE" "WESUSTAIN_STAKEHOLDER_REPUTATION" "WESUSTAIN_WEAPP" "FAX" "FAX_LINE" "ROOM_LINE" "DEPARTMENT_LINE" "INTERNATIONAL_LICENSE" "INTERNATIONAL_DEPARTMENT_LINE" "INTERNATIONAL_ROOM_LINE" "INTERNATIONAL_LINE" "CALLING_CREDIT" "LINE" "TOLLFREE_ROOM_LINE" "TOLLFREE_DEPARTMENT_LINE" "TAXES_AND_FEES" "LEAD" "OPPORTUNITY" "CAMPAIGN" "CASE" "CUSTOMER" "TIER1_STANDARD_LINE" "TIER1_ROOM_LINE" "TIER1_TOLLFREE_ROOM_LINE" "TIER1_TOLLFREE_DEPARTMENT_LINE" "TIER1_FAX_LINE" "TIER1_DEPARTMENT_LINE" "TIER2_STANDARD_LINE" "TIER2_ROOM_LINE" "TIER2_DEPARTMENT_LINE" "TIER3_STANDARD_LINE" "TIER3_ROOM_LINE" "TIER3_DEPARTMENT_LINE" "TIER4_STANDARD_LINE" "TIER4_ROOM_LINE" "TIER4_DEPARTMENT_LINE" "CLUSTER" "NODE_4VCPU" "FIVE_HUNDRED_GB_SSD" "TWELVE_TB_NETWORK_IO" "JBOSS_EAP" "JBOSS_FUSE" "JBOSS_A_MQ" "JBOSS_BRMS" "JBOSS_BPM_SUITE" "JBOSS_DATA_GRID" "JBOSS_DATA_VIRT" "USER_LICENSE" "ADDITIONAL_NUMBER_LICENSE" "ROOM_PHONE_LICENSE" "UBERCONFERENCE_PRO_LICENSE" "UBERCONFERENCE_PRO_LICENSE_UNBUNDLED" "INSTANCE" "INDOOR_CAMERA" "OUTDOOR_CAMERA" "VINGATE_LP_LICENCE" "ADMINISTRATOR" "MOBILE_USER" "G_SUITE" "T1" "PHONE" "AUTO_ATTENDANT" "HUNT_GROUP" "VOICEMAIL_BOX" "TOLL_FREE_NUMBER" "INBOUND_LONG_DISTANCE_MINUTE" "OUTBOUND_LONG_DISTANCE_MINUTE" "INBOUND_OUTBOUND_LONG_DISTANCE_MINUTE" "SET_TOP_BOX" "MODEM" "ACCESS_POINT" "CALLING_FEATURE" "IAD_DEVICE" "ANALOG_LINE" "PRI" "SBC_DEVICE" "ROUTER" "INTERNATIONAL_MINUTE" "PHONE_LINE" "DYNAMIC_IP_ADDRESS" "STATIC_IP_ADDRESS" "GATEWAY" "REMOTE_CONTROL" "TIER1_STANDARD_SEAT" "TIER2_STANDARD_SEAT" "TIER3_STANDARD_SEAT" "TIER4_STANDARD_SEAT" "TIER1_TOLL_FREE_SEAT" "MILLION_MESSAGES" "MESSAGE" "WEEKLY" "PHONE_NUMBER" "GUEST" "REVISION_SAFE_DATAROOM" "GROUP_SESSION" "MAILBOX_AD_SYNC" "PHONE_SUPPORT" "EXTRA_10TB" "EXTRA_50TB" "EXTRA_200TB" "MAP_VIEW" "SVM" "CHANNEL" "NUMBER_PRINTER_TABLET" "NUMBER_ONSITE_SERVER" "NUMBER_VISITS" "ONSITE_TECHNICIAN_PC" "ONSITE_TECHNICIAN_SERVER" "SHORTER_REACTION_TIMES" "E_COMMERCE_INTEGRATION" "LOCATION" "TRAINING_SESSION" "GIGABYTES_PER_HOUR" "FINANCIAL_PLANNING" "ONSITE_WORKPLACE" "INTERNAL_TOOLS_ACCESS" "DUTY_SERVICE" "TERABYTE" "HOST_UNIT_HOURS" "WEB_CHECKS" "ACTIVE_USERS" "ACTIVE_EMPLOYEE" "PC_OF_NET_RECURRING_FEE" "ACTIVE_VENDOR" "ADVERTISEMENT" "ADVERTISER_SPENDS" "ANNUAL_FUNDRAISING_INCOME" "ANNUAL_SUBSCRIPTION" "APPLIANCE" "ASSET" "ASSETS_UNDER_MANAGEMENT" "BUSINESS_PARTNERS" "CASH_FLOWS" "COMPONENT" "CONNECTED_SYSTEMS" "CONTRACTS" "COSTS" "DATA_STREAMS" "DATABASE_SIZE" "EXTERNAL_SERVICE_CALLS" "FILE" "FIXED" "FLAT" "FLAT_FEE_BASED_ON_ASSETS" "FLEET_PLANNING_ORDERS" "FORMS" "GIGABYTE_DATABASE_SIZES" "INSTALLATION" "INSTALLED_CAPACITY" "JOB_POSTING" "LEARNER" "LOGON" "MANAGED_SYSTEM" "MASTER_DATA_OBJECT" "MASTER_RECORDS" "MBPS" "MONITORED_USER" "MPLS" "ORDER" "OUTPATIENT_DAYS" "PAGE_VIEW" "PATIENT_CARE_DAY" "PATIENT_TREATED" "PLANT" "POINTS_OF_DELIVERY" "PREMIUM" "PROCESS" "PRODUCTS" "RECORDS" "RENTAL_UNIT" "RESOURCES" "REVENUE" "SALES_ORDER" "SALES_PORTFOLIOS" "SERVICE_ORDERS" "SITE_VISITS" "SPENDS" "SPEND_VOLUMES" "STREAM" "STUDENT" "SUBSCRIBER" "SUPPLIERS" "TICKETS" "TOTAL_ANNUAL_BUDGET" "TUNNEL" "VIRTUAL_USERS" "SAP_SYSTEM" "POSITION_TYPES" "OVERAGE_FEES" "OVERAGE_FEE_TRANSACTION" "OVERAGE_FEES_DOCUMENT" "OVERAGE_FEES_ITEM" "EVENT" "BUSINESS_EVENT" "LEGAL_TENDER" "ANNUAL_REVENUE" "AD_SYNC" "FULL_DATA_RESTORE" "USED_STORAGE_100GB" "COMPANY" "ADDITIONAL_USER" "VISIT" "VIDEO" "ELECTRONIC_PAYMENT" "CHECK_PAYMENT" "EXPRESS_PAY_ELECTRONIC_PAYMENT" "EXPRESS_PAY_CHECK_PAYMENT" "DATA_ENTRY_SERVICE" "MONTHLY_VISIT" "SCRUB_TRANSACTION" "DEVICE_LICENSE" "SERVER_LICENSE" "BASE_LICENSE" "SERVICE_CALL" "SUPPORT_INCIDENT_TICKET" "CUSTOM_REPORT_BUILDING_TRAINING" "QUOTA" "DOMESTIC_TRANSACTION" "BEE" "BEE_FLEET" "BEE_BEACON_AMBIENT_LIGHT" "BEE_BEACON_TEMPERATURE_HUMIDITY" "CONTACTS_100" "TEMPLATE" "TEMPLATE_PACKS_10" "PACK" "SMS_TEXT_MESSAGE_10" "VIRTUAL_SERVER" "PHYSICAL_SERVER" "WORKSTATION" "CHATS" "MATCH_LIST" "CERTIFICATE_12_MONTHS" "CERTIFICATE_24_MONTHS" "PRIVACY" "PAGE_VIEWS_100000" "VOICE_OUT" "EXAM" "PARTICIPANT" "ENCRYPTION_ADDON" "ESS" "ETI" "ATP_ADDON" "PBE_ADDO" "NETI_ADDON" "HUNDRED_SMS_REMINDER" "CALENDAR_SYNC" "PAYMENT_INTERFACE" "MULTILINGUAL_ONLINE_EVENT_BOOKING" "SOCKET" "OFFER" "FREELANCER" "SOAP" "DATEV_LEXWARE_INTERFACE" "TOKEN" "SERVICE_MONTH" "VIDEO_PACKAGE_50_HOURS" "INTERFACE" "TEST_CASE" "MINUTES_15" "MINUTES_30" "CONNECTED_ACCESS_POINT" "DAY" "SATURDAY_SURCHARGE" "NIGHT_SURCHARGE" "SUNDAY_SURCHARGE" "PUBLIC_HOLIDAY_SURCHARGE" "BASIC_PACKAGE" "STANDARD_PACKAGE" "PREMIUM_PACKAGE" "REPORTS_MODULE" "WORKFLOW_MODULE" "NBV_250K" "NBV" "INVENTORY" "ADDITIONAL_COMPANY" "TRANSACTION" "PREMIUM_CREDIT_REPORTS" "ADDITIONAL_CONNECTION" "STOCK_UNIT" "MONTHLY_USAGE_FEE" "USAGE_FEE" "MONTHLY_CHARGES" "STANDARD_USER" "ADDITIONAL_UNIT" "COMMISSION" "KITTING" "WOP" "SFDC" "NAMED_USER_LICENSE" "BARCODING_AND_WAREHOUSING" "MODULE" "MANUFACTURING_MODULE" "MRP" "CONSOLE_MODULE" "CONSOLIDATIONS" "MULTI_CURRENCY" "ADDON_LICENSE" "INBOUND_PAGE" "OUTBOUND_PAGE" "OPPORTUNITY_RETENTION" "SOCIAL_SENTIMENT" "DEMAND_PRICE" "SETUP_FEE" "SHAREPOINT" "INTEGRATION_MAINTENANCE" "VIEWER" "MANAGEMENT_USER" "SQ_FT" "LOCATION_UPTO_10_EMPLOYEES" "LOCATION_UPTO_20_EMPLOYEES" "LOCATION_UPTO_30_EMPLOYEES" "LOCATION_UPTO_60_EMPLOYEES" "LOCATION_UPTO_99_EMPLOYEES" "M365_ONLINE" "WEB_HOSTING_SERVER" "STANDARD_EDITION_GIGABYTE" "STORAGE_GIGABYTE" "EGRESS_GIGABYTE" "FEE_HW_DEFECT_NO_WARRANTY_CASE" "SIM_CARD" "SIM_CARDS_10" "APPLICATION_CONNECTOR" "ADDITIONAL_API_CALLS" "USED_STORAGE_PER_GB" "CERTIFICATION" "MACHINE" "CALCULATION_USER" "MAILBOX_S" "MAILBOX_M" "MAILBOX_L" "STORAGE" "GROUP" "VEHICLE" "ENDPOINT" "MANAGED_SERVICE" "SOC" "ONLINE_PLAN" "ENTERPRISE_PLAN" "FLOATING_LICENSE" "USER_PER_LICENSE" "CONCURRENT_USER_PER_LICENSE" "DASHBOARD" "IT_INTERFACE" "CONNECTABLE_IOT_DEVICE_VIA_USB" "CONNECTABLE_IOT_DEVICE_VIA_TULIP_GATEWAY" "CONNECTABLE_MACHINE_PER_LICENSE" "OBJECT_TO_BE_CHECKED" "MACHINE_WITH_BI_SUPPORT" "CONNECTED_DEVICE" "LISTING" "TLS_ENCRYPTION" "DOMAIN_LEVEL_SEND" "EFAX_ROUTER" "PRORATED_CREDIT" "NEW_HIRE" "NAS" "SALESFORCE_USER" "INTERVIEW" "ASSESSMENT" "NU_WEBEX_CALLING_ENHANCED" "NU_WEBEX_CALLING_PROFESSIONAL" "WEBEX_ASSISTANT_FOR_WEBEX_MEETINGS_NU" "NU_MEETINGS_BRIDGE_COUNTRY_CALL_BACK_AUDIO" "FLEX_TEAMS_MESSAGING" "ADDON_ANALYSES" "ADDITIONAL_LISTING" "MIGRATION_TENANT" "MIGRATION_GROUP" "MIGRATION_DOCUMENT" "MIGRATION_GSUITE" "MIGRATION_FOLDER" "ENHANCED_USER" "SINGLE_NAME_CERTIFICATE" "SETUP" "WILDCARD_CERTIFICATE" "SECURITY_PACKAGE" "ADDITIONAL_LANGUAGE" "VANITY_URL" "BRANDING" "DATA_SOURCE" "CREATOR_USER" "ESIGN_USER" "READ_ONLY_USER" "MEASURING_POINT" "ANDON_TV" "TABLET" "USER_10000" "USER_100" "PUBLIC_IP" "WORKLOAD" "PUBLIC_IP_ADDRESS" "COMPUTE_POINT" "RESOURCE_UNIT" "VALUE_POINT" "ACCOUNT" "REQUEST" "TRANSCRIPT" "NOTIFICATION" "CLAIM" "MID" "ENGAGEMENT" "TEAM_LICENSE_DIGITAL_TEAMBOARD" "TEAM_LICENSE_MODULE_CONNECTIVITY" "TEAM_LICENSE_MODULE_PROBLEM_SOLUTION" "TEAM_LICENSE_MODULE_AUDITS" "TEAM_LICENSE_MODULE_PROCESS_CONFIRMATION" "TEAM_LICENSE_MODULE_QUALIFICATION_MATRIX" "TEAM_LICENSE_MODULE_STANDARD_WORK_INSTRUCTION" "TEAM_LICENSE_MODULE_PARETO_ANALYSIS" "KPI" "YEAR_KPI_ARCHIVAL" "CORPORATE_CLOUD_HOSTING" "ON_PREMISES_HOSTING" "SUPPORT_SERVICE_HOUR" "CLASS" "EXPERT" "SPINDLE_HOUR" "ADDON_ADMINISTRATION" "ADDON_CONFIGURATION" "ADDON_PLANNING" "ADDON_PLANNING_OBJECTS" "ADDON_MASTER_DATA" "ADDON_CAPACITY_PLANS_CALENDAR" "ADDON_CONFLICT_RADAR" "ADDON_GAP_LIST" "ADDON_DASHBOARD" "ADDON_PLANNING_READ_ONLY" "ADDON_UTILIZATION_POOLS" "ADDON_FIXED_SCHEDULES" "ADDON_ASSEMBLY_GROUPS" "ADDON_ORDER_ON_HOLD" "ADDON_PARALLEL_RESSOURCES" "ADDON_MULTI_FUNCTIONAL_RESSOURCES" "ADDON_PLANEUS_TV_PER_TERMINAL" "ADDON_MASTER_DATA_WORK_PROCEDURES" "ADDON_MANUAL_IMPORT" "ADDON_AUTOMATIC_IMPORT" "ADDON_REPORTING_BASIC" "ADDON_REPORTING_ADVANCED" "ADDON_REPORT_RESOURCES_AVAILABILITY_PER_DAY" "ADDON_REPORT_OEE" "ADDON_REPORT_ON_TIME_DELIVERY_HISTORY" "ADDON_REPORT_PROCESS_PERFORMANCE_HISTORY" "ADDON_REPORT_UTILIZATION_PER_RESOURCE" "ADDON_REPORT_REPORTING_PLUG_IN" "ADDON_EXTERNAL_PARTNERS_BASIC_LICENSE" "ADDON_WORKBENCH_PACK_OF_5" "ADDON_WORKBENCH_PACK_OF_10" "ADDON_WORKBENCH_PACK_OF_15" "CLIENT" "VIRTUAL_MACHINE" "MODEL_TRANSFORMATION" "CASE_REFRESH" "CASE_VIEW" "CASE_DOCUMENT_DOWNLOAD" "VERIFICATION" "ADDON_CORPORATE_BRANDING" "CLIENT_TAX_FILINGS" "CLIENT_COMPLIANCE_SERVICES" "PROPOSAL" "UK_ID_CHECK" "INTERNATIONAL_ID_CHECK" "CREDIT_SCREEN" "UK_COMPANY_REPORT" "NON_UK_COMPANY_REPORT" "HR_SCREEN" "COMPANY_FORMATION" "CLIENT_ACCOUNTS" "SMARTKIT" "WORKFLOW" "EDITOR" "WORKER" "ADDON_POTENTIAL_ANALYSIS" "TRAINING_PACKAGE_SMALL" "TRAINING_PACKAGE_LARGE" "TOOL_PATH_OPTIMIZATION" "CLIENT_VAT_FILINGS" "BUNDLE" "PACKAGE" "VM" "INCIDENT" "SEND" "INTEGRATION" "BILLABLE_HOUR" "TB" "SOURCE" "TRAINING" "SITE" "CONSULTING_UNIT" "CAPACITY" "MIGRATION" "WORKSHOP" "ONBOARDING" "BENEFIT_ELIGIBLE_EMPLOYEE" "SEAT" "MS365_SEAT" "MS_EXCHANGE_MAILBOX" "GWORKSPACE_SEAT" "INTERNET_LINE" "BACKUP_LINE" "USER_PACK_50" "USER_PACK_100" "CIRCUIT" "NAC" "INFRASTRUCTURE" "TEN_THOUSAND_TEST_RUNS" "ONE_THOUSAND_TEST_RUNS" "INGESTED_OR_SCANNED_GB" "MILLION_LOG_EVENTS" "GB_OUTBOUND_PER_DESTINATION" "DESTINATION" "COMMITTER" "INGESTED_GB" "CPU" "ONE_THOUSAND_SESSIONS" "MILLION_RECORDS" "GB_OF_ANALYZED_LOGS" "ACTIVE_FUNCTION" "MILLION_TRACED_INVOCATIONS" "ACTIVE_APPLICATION_INSTANCES" "HUNDRED_TEST_RUNS" "ADDITIONAL_PARALLELIZATION" "TASK" "ONE_HUNDRED_WORKFLOW_EXECUTIONS" "SCANNED_GB" "USE_CASE" "ONE_THOUSAND_ERROR_EVENTS" "PERFORMANCE_GOAL" |
vendorSharePercentage | number or null Vendor's percentage share of the discount. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "applicationId": 0,
- "applicationUuid": "string",
- "applicationName": "string",
- "autoApply": true,
- "basePartnerSharePercentage": 0,
- "billingCycles": 0,
- "code": "string",
- "createdOn": 0,
- "description": "string",
- "editionId": 0,
- "editionUuid": "string",
- "expirationDate": 0,
- "id": 0,
- "uuid": "string",
- "industryId": 0,
- "maxRedemptions": 0,
- "maxUnits": 0,
- "minUnits": 0,
- "partnerSharePercentage": 0,
- "paymentPlanId": 0,
- "paymentPlanUuid": "string",
- "percentage": 0,
- "price": 0,
- "redemptionRestriction": "string",
- "redemptions": 0,
- "retainable": true,
- "startDate": 0,
- "type": "string",
- "unit": "USER",
- "vendorSharePercentage": 0
}
Response samples
- 201
Update discounts
Updates the specified discount with the provided data. Note that percentage discounts cannot exceed two decimal places (for example, 10.15).
path Parameters
discountId required | string Discount ID or Discount UUID |
Request Body schema: application/json
Discount data object
applicationId | number or null Application ID. |
applicationUuid | string or null Application UUID. |
applicationName | string or null Name of the application to which the discount applies. |
autoApply | boolean True if the discount is automatically applied. Default value is true. |
basePartnerSharePercentage | number or null Base partner's percentage share of the discount. |
billingCycles | number or null Number of billing cycles for which the discount should be applied. |
code | string or null Discount code. Must be at least 4 characters, but no longer than 103 characters. |
createdOn | number or null Creation date of the discount. |
description required | string Description of discount. Required field. Must be at least 4 characters, but no longer than 255 characters. |
editionId | number or null Edition ID. |
editionUuid | string or null Edition UUID. |
expirationDate | number or null Expiration date for the discount. This date must be in the future. |
id | number or null Discount ID. |
uuid | string or null Discount UUID. |
industryId | number or null Industry ID. |
maxRedemptions | number or null Maximum number of redemptions available. |
maxUnits | number Maximum number of units for which to apply the discount. |
minUnits | number Minimum number of units for which to apply the discount. |
partnerSharePercentage | number or null Partner's percentage share of the discount. |
paymentPlanId | number or null Payment plan ID. |
paymentPlanUuid | string or null Payment plan UUID. |
percentage | number Percentage discount if discount is of PERCENTAGE type. The percentage value cannot exceed two decimal places (for example, 10.15). |
price | number or null Amount to discount if discount is of FIXED_PRICE type. |
redemptionRestriction | string (RedemptionRestriction) |
redemptions | number Number of times the discount has been redeemed. |
retainable | boolean True if the discount is retainable. Retainable discounts can be redeemed on orders that are updated after the discount expires. For example, if an order includes a discount that expires on 01 January 2019, and the order is then updated on 02 January 2019, the discount would still be redeemable. The default value is false (discounts are not retained). |
startDate | number or null Start date for the discount. |
type required | string (DiscountType) |
unit | string (PricingUnit) Enum: "USER" "GIGABYTE" "MEGABYTE" "HOUR" "MINUTE" "INVOICE" "UNIT" "PROJECT" "PROPERTY" "ITEM" "WORD" "EMAIL" "CONTACT" "CALL" "CREDIT" "ROOM" "HOST" "AGENT" "OPERATOR" "PROVIDER" "MANAGER" "TESTER" "JVM" "SERVER" "WEB_USE_MINUTE" "AUDIO_USE_MINUTE" "PIECE" "EMPLOYEE_PAY_PERIOD" "EMPLOYEE_PER_PAY_PERIOD" "COMPUTER" "NOT_APPLICABLE" "ONE_TIME_SETUP" "DATA_POINTS" "TIER1_API_CALLS" "TIER2_API_CALLS" "ADVISORY_HOURS" "OVERAGE_AUDIO_MINUTE" "EMPLOYEE" "CONNECTION" "PUSH_USER" "THOUSAND_EMAILS_PER_DAY" "PUSH_NOTIFICATION_DEVICES" "API_CALLS" "SMS_TEXT_MESSAGE" "CONTACTS_1000" "CONTRACT_FEE" "TRANSFER_FEE" "REACTIVATION_FEE" "RECIPIENT" "ADDITIONAL_1000_CONTACTS_BLOCK" "SCHEDULE_PLAN" "EMAILS_1000" "EMAILS_2500" "MOBILE_DEVICE" "PAYSLIP" "PAYSLIP_CORRECTION" "STORE" "WEBSITE" "EPAPER" "PAGE" "POSTAGE_AND_PRINT" "INTERNATIONAL_POSTAGE_AND_PRINT" "TIER1_TOP_LEVEL_DOMAIN" "TIER2_TOP_LEVEL_DOMAIN" "DEDICATED_IP" "ENABLELCM" "MAXCOMPONENTS" "DATA_MANAGEMENT_USER" "SPECIALIST_USER" "PROFESSIONAL_USER" "MATERIALITY_MATRIX" "STAKEHOLDER_MANAGEMENT" "SCORECARD" "STANDARD_MAPPING" "DONATION_MANAGEMENT" "DOCUMENT" "PACKAGE_SMALL" "PACKAGE_LARGE" "MEMBER" "ATTENDEE" "MAILING" "RESPONSE" "EXTERNAL_INVOICE_FEE" "CLIENT_TEST" "IMAGE_TRANSFORMATION" "TOTAL_IMAGE" "LICENSE" "MAILBOX" "FREE_40_INCH_HDTV_PC" "FREE_46_INCH_HDTV_PC" "FREE_46_INCH_HDTV_PC_MOUNTING" "EMPLOYEE_PER_WEEK" "REGISTER" "END_USER" "CORE" "DEVICE" "PORT" "MEASURER" "PUBLISHED_MEASUREMENT" "NODE" "SERVER_RULE" "VPN_LP" "PROXY_LP" "DESKTOP_CONNECT_LP" "CAMERA" "MAIN_SOUND_ZONE" "SUB_SOUND_ZONE" "POST" "REPORT" "BOX" "SESSION" "DISPLAY" "TRUCKROLL" "TRANSACTION_FEE" "SENDING_API_CALL" "LOOKUP_API_CALL" "ANALYTICS_API_CALL" "MIGRATION_INSTANCE" "NFON_SETUP_PER_PHONE_EXTENSION" "NFON_SETUP_PER_PHONE_EXTENSION_PLUS" "NFON_SETUP_PER_EFAX_EXTENSION" "NFON_PHONE_EXTENSION" "NFON_PHONE_EXTENSION_PLUS" "NFON_EFAX_EXTENSION" "NFON_CALL_CENTER_MONITORING" "NFON_NMEETING" "NFON_MOBILE_NFON_DEVICE" "NFON_ISOFTPHONE_MAC" "NFON_NSOFTPHONE_STANDARD_WINDOWS" "NFON_NSOFTPHONE_PREMIUM_WINDOWS" "NFON_NCTI_STANDARD_WINDOWS" "NFON_NCTI_STANDARD_CRM_WINDOWS" "NFON_NCTI_STANDARD_MAC" "NFON_NSOFTPHONE_STANDARD_WINDOWS_OR_MOBILE" "WESUSTAIN_PERFORMANCE" "WESUSTAIN_STAKEHOLDER_REPUTATION" "WESUSTAIN_WEAPP" "FAX" "FAX_LINE" "ROOM_LINE" "DEPARTMENT_LINE" "INTERNATIONAL_LICENSE" "INTERNATIONAL_DEPARTMENT_LINE" "INTERNATIONAL_ROOM_LINE" "INTERNATIONAL_LINE" "CALLING_CREDIT" "LINE" "TOLLFREE_ROOM_LINE" "TOLLFREE_DEPARTMENT_LINE" "TAXES_AND_FEES" "LEAD" "OPPORTUNITY" "CAMPAIGN" "CASE" "CUSTOMER" "TIER1_STANDARD_LINE" "TIER1_ROOM_LINE" "TIER1_TOLLFREE_ROOM_LINE" "TIER1_TOLLFREE_DEPARTMENT_LINE" "TIER1_FAX_LINE" "TIER1_DEPARTMENT_LINE" "TIER2_STANDARD_LINE" "TIER2_ROOM_LINE" "TIER2_DEPARTMENT_LINE" "TIER3_STANDARD_LINE" "TIER3_ROOM_LINE" "TIER3_DEPARTMENT_LINE" "TIER4_STANDARD_LINE" "TIER4_ROOM_LINE" "TIER4_DEPARTMENT_LINE" "CLUSTER" "NODE_4VCPU" "FIVE_HUNDRED_GB_SSD" "TWELVE_TB_NETWORK_IO" "JBOSS_EAP" "JBOSS_FUSE" "JBOSS_A_MQ" "JBOSS_BRMS" "JBOSS_BPM_SUITE" "JBOSS_DATA_GRID" "JBOSS_DATA_VIRT" "USER_LICENSE" "ADDITIONAL_NUMBER_LICENSE" "ROOM_PHONE_LICENSE" "UBERCONFERENCE_PRO_LICENSE" "UBERCONFERENCE_PRO_LICENSE_UNBUNDLED" "INSTANCE" "INDOOR_CAMERA" "OUTDOOR_CAMERA" "VINGATE_LP_LICENCE" "ADMINISTRATOR" "MOBILE_USER" "G_SUITE" "T1" "PHONE" "AUTO_ATTENDANT" "HUNT_GROUP" "VOICEMAIL_BOX" "TOLL_FREE_NUMBER" "INBOUND_LONG_DISTANCE_MINUTE" "OUTBOUND_LONG_DISTANCE_MINUTE" "INBOUND_OUTBOUND_LONG_DISTANCE_MINUTE" "SET_TOP_BOX" "MODEM" "ACCESS_POINT" "CALLING_FEATURE" "IAD_DEVICE" "ANALOG_LINE" "PRI" "SBC_DEVICE" "ROUTER" "INTERNATIONAL_MINUTE" "PHONE_LINE" "DYNAMIC_IP_ADDRESS" "STATIC_IP_ADDRESS" "GATEWAY" "REMOTE_CONTROL" "TIER1_STANDARD_SEAT" "TIER2_STANDARD_SEAT" "TIER3_STANDARD_SEAT" "TIER4_STANDARD_SEAT" "TIER1_TOLL_FREE_SEAT" "MILLION_MESSAGES" "MESSAGE" "WEEKLY" "PHONE_NUMBER" "GUEST" "REVISION_SAFE_DATAROOM" "GROUP_SESSION" "MAILBOX_AD_SYNC" "PHONE_SUPPORT" "EXTRA_10TB" "EXTRA_50TB" "EXTRA_200TB" "MAP_VIEW" "SVM" "CHANNEL" "NUMBER_PRINTER_TABLET" "NUMBER_ONSITE_SERVER" "NUMBER_VISITS" "ONSITE_TECHNICIAN_PC" "ONSITE_TECHNICIAN_SERVER" "SHORTER_REACTION_TIMES" "E_COMMERCE_INTEGRATION" "LOCATION" "TRAINING_SESSION" "GIGABYTES_PER_HOUR" "FINANCIAL_PLANNING" "ONSITE_WORKPLACE" "INTERNAL_TOOLS_ACCESS" "DUTY_SERVICE" "TERABYTE" "HOST_UNIT_HOURS" "WEB_CHECKS" "ACTIVE_USERS" "ACTIVE_EMPLOYEE" "PC_OF_NET_RECURRING_FEE" "ACTIVE_VENDOR" "ADVERTISEMENT" "ADVERTISER_SPENDS" "ANNUAL_FUNDRAISING_INCOME" "ANNUAL_SUBSCRIPTION" "APPLIANCE" "ASSET" "ASSETS_UNDER_MANAGEMENT" "BUSINESS_PARTNERS" "CASH_FLOWS" "COMPONENT" "CONNECTED_SYSTEMS" "CONTRACTS" "COSTS" "DATA_STREAMS" "DATABASE_SIZE" "EXTERNAL_SERVICE_CALLS" "FILE" "FIXED" "FLAT" "FLAT_FEE_BASED_ON_ASSETS" "FLEET_PLANNING_ORDERS" "FORMS" "GIGABYTE_DATABASE_SIZES" "INSTALLATION" "INSTALLED_CAPACITY" "JOB_POSTING" "LEARNER" "LOGON" "MANAGED_SYSTEM" "MASTER_DATA_OBJECT" "MASTER_RECORDS" "MBPS" "MONITORED_USER" "MPLS" "ORDER" "OUTPATIENT_DAYS" "PAGE_VIEW" "PATIENT_CARE_DAY" "PATIENT_TREATED" "PLANT" "POINTS_OF_DELIVERY" "PREMIUM" "PROCESS" "PRODUCTS" "RECORDS" "RENTAL_UNIT" "RESOURCES" "REVENUE" "SALES_ORDER" "SALES_PORTFOLIOS" "SERVICE_ORDERS" "SITE_VISITS" "SPENDS" "SPEND_VOLUMES" "STREAM" "STUDENT" "SUBSCRIBER" "SUPPLIERS" "TICKETS" "TOTAL_ANNUAL_BUDGET" "TUNNEL" "VIRTUAL_USERS" "SAP_SYSTEM" "POSITION_TYPES" "OVERAGE_FEES" "OVERAGE_FEE_TRANSACTION" "OVERAGE_FEES_DOCUMENT" "OVERAGE_FEES_ITEM" "EVENT" "BUSINESS_EVENT" "LEGAL_TENDER" "ANNUAL_REVENUE" "AD_SYNC" "FULL_DATA_RESTORE" "USED_STORAGE_100GB" "COMPANY" "ADDITIONAL_USER" "VISIT" "VIDEO" "ELECTRONIC_PAYMENT" "CHECK_PAYMENT" "EXPRESS_PAY_ELECTRONIC_PAYMENT" "EXPRESS_PAY_CHECK_PAYMENT" "DATA_ENTRY_SERVICE" "MONTHLY_VISIT" "SCRUB_TRANSACTION" "DEVICE_LICENSE" "SERVER_LICENSE" "BASE_LICENSE" "SERVICE_CALL" "SUPPORT_INCIDENT_TICKET" "CUSTOM_REPORT_BUILDING_TRAINING" "QUOTA" "DOMESTIC_TRANSACTION" "BEE" "BEE_FLEET" "BEE_BEACON_AMBIENT_LIGHT" "BEE_BEACON_TEMPERATURE_HUMIDITY" "CONTACTS_100" "TEMPLATE" "TEMPLATE_PACKS_10" "PACK" "SMS_TEXT_MESSAGE_10" "VIRTUAL_SERVER" "PHYSICAL_SERVER" "WORKSTATION" "CHATS" "MATCH_LIST" "CERTIFICATE_12_MONTHS" "CERTIFICATE_24_MONTHS" "PRIVACY" "PAGE_VIEWS_100000" "VOICE_OUT" "EXAM" "PARTICIPANT" "ENCRYPTION_ADDON" "ESS" "ETI" "ATP_ADDON" "PBE_ADDO" "NETI_ADDON" "HUNDRED_SMS_REMINDER" "CALENDAR_SYNC" "PAYMENT_INTERFACE" "MULTILINGUAL_ONLINE_EVENT_BOOKING" "SOCKET" "OFFER" "FREELANCER" "SOAP" "DATEV_LEXWARE_INTERFACE" "TOKEN" "SERVICE_MONTH" "VIDEO_PACKAGE_50_HOURS" "INTERFACE" "TEST_CASE" "MINUTES_15" "MINUTES_30" "CONNECTED_ACCESS_POINT" "DAY" "SATURDAY_SURCHARGE" "NIGHT_SURCHARGE" "SUNDAY_SURCHARGE" "PUBLIC_HOLIDAY_SURCHARGE" "BASIC_PACKAGE" "STANDARD_PACKAGE" "PREMIUM_PACKAGE" "REPORTS_MODULE" "WORKFLOW_MODULE" "NBV_250K" "NBV" "INVENTORY" "ADDITIONAL_COMPANY" "TRANSACTION" "PREMIUM_CREDIT_REPORTS" "ADDITIONAL_CONNECTION" "STOCK_UNIT" "MONTHLY_USAGE_FEE" "USAGE_FEE" "MONTHLY_CHARGES" "STANDARD_USER" "ADDITIONAL_UNIT" "COMMISSION" "KITTING" "WOP" "SFDC" "NAMED_USER_LICENSE" "BARCODING_AND_WAREHOUSING" "MODULE" "MANUFACTURING_MODULE" "MRP" "CONSOLE_MODULE" "CONSOLIDATIONS" "MULTI_CURRENCY" "ADDON_LICENSE" "INBOUND_PAGE" "OUTBOUND_PAGE" "OPPORTUNITY_RETENTION" "SOCIAL_SENTIMENT" "DEMAND_PRICE" "SETUP_FEE" "SHAREPOINT" "INTEGRATION_MAINTENANCE" "VIEWER" "MANAGEMENT_USER" "SQ_FT" "LOCATION_UPTO_10_EMPLOYEES" "LOCATION_UPTO_20_EMPLOYEES" "LOCATION_UPTO_30_EMPLOYEES" "LOCATION_UPTO_60_EMPLOYEES" "LOCATION_UPTO_99_EMPLOYEES" "M365_ONLINE" "WEB_HOSTING_SERVER" "STANDARD_EDITION_GIGABYTE" "STORAGE_GIGABYTE" "EGRESS_GIGABYTE" "FEE_HW_DEFECT_NO_WARRANTY_CASE" "SIM_CARD" "SIM_CARDS_10" "APPLICATION_CONNECTOR" "ADDITIONAL_API_CALLS" "USED_STORAGE_PER_GB" "CERTIFICATION" "MACHINE" "CALCULATION_USER" "MAILBOX_S" "MAILBOX_M" "MAILBOX_L" "STORAGE" "GROUP" "VEHICLE" "ENDPOINT" "MANAGED_SERVICE" "SOC" "ONLINE_PLAN" "ENTERPRISE_PLAN" "FLOATING_LICENSE" "USER_PER_LICENSE" "CONCURRENT_USER_PER_LICENSE" "DASHBOARD" "IT_INTERFACE" "CONNECTABLE_IOT_DEVICE_VIA_USB" "CONNECTABLE_IOT_DEVICE_VIA_TULIP_GATEWAY" "CONNECTABLE_MACHINE_PER_LICENSE" "OBJECT_TO_BE_CHECKED" "MACHINE_WITH_BI_SUPPORT" "CONNECTED_DEVICE" "LISTING" "TLS_ENCRYPTION" "DOMAIN_LEVEL_SEND" "EFAX_ROUTER" "PRORATED_CREDIT" "NEW_HIRE" "NAS" "SALESFORCE_USER" "INTERVIEW" "ASSESSMENT" "NU_WEBEX_CALLING_ENHANCED" "NU_WEBEX_CALLING_PROFESSIONAL" "WEBEX_ASSISTANT_FOR_WEBEX_MEETINGS_NU" "NU_MEETINGS_BRIDGE_COUNTRY_CALL_BACK_AUDIO" "FLEX_TEAMS_MESSAGING" "ADDON_ANALYSES" "ADDITIONAL_LISTING" "MIGRATION_TENANT" "MIGRATION_GROUP" "MIGRATION_DOCUMENT" "MIGRATION_GSUITE" "MIGRATION_FOLDER" "ENHANCED_USER" "SINGLE_NAME_CERTIFICATE" "SETUP" "WILDCARD_CERTIFICATE" "SECURITY_PACKAGE" "ADDITIONAL_LANGUAGE" "VANITY_URL" "BRANDING" "DATA_SOURCE" "CREATOR_USER" "ESIGN_USER" "READ_ONLY_USER" "MEASURING_POINT" "ANDON_TV" "TABLET" "USER_10000" "USER_100" "PUBLIC_IP" "WORKLOAD" "PUBLIC_IP_ADDRESS" "COMPUTE_POINT" "RESOURCE_UNIT" "VALUE_POINT" "ACCOUNT" "REQUEST" "TRANSCRIPT" "NOTIFICATION" "CLAIM" "MID" "ENGAGEMENT" "TEAM_LICENSE_DIGITAL_TEAMBOARD" "TEAM_LICENSE_MODULE_CONNECTIVITY" "TEAM_LICENSE_MODULE_PROBLEM_SOLUTION" "TEAM_LICENSE_MODULE_AUDITS" "TEAM_LICENSE_MODULE_PROCESS_CONFIRMATION" "TEAM_LICENSE_MODULE_QUALIFICATION_MATRIX" "TEAM_LICENSE_MODULE_STANDARD_WORK_INSTRUCTION" "TEAM_LICENSE_MODULE_PARETO_ANALYSIS" "KPI" "YEAR_KPI_ARCHIVAL" "CORPORATE_CLOUD_HOSTING" "ON_PREMISES_HOSTING" "SUPPORT_SERVICE_HOUR" "CLASS" "EXPERT" "SPINDLE_HOUR" "ADDON_ADMINISTRATION" "ADDON_CONFIGURATION" "ADDON_PLANNING" "ADDON_PLANNING_OBJECTS" "ADDON_MASTER_DATA" "ADDON_CAPACITY_PLANS_CALENDAR" "ADDON_CONFLICT_RADAR" "ADDON_GAP_LIST" "ADDON_DASHBOARD" "ADDON_PLANNING_READ_ONLY" "ADDON_UTILIZATION_POOLS" "ADDON_FIXED_SCHEDULES" "ADDON_ASSEMBLY_GROUPS" "ADDON_ORDER_ON_HOLD" "ADDON_PARALLEL_RESSOURCES" "ADDON_MULTI_FUNCTIONAL_RESSOURCES" "ADDON_PLANEUS_TV_PER_TERMINAL" "ADDON_MASTER_DATA_WORK_PROCEDURES" "ADDON_MANUAL_IMPORT" "ADDON_AUTOMATIC_IMPORT" "ADDON_REPORTING_BASIC" "ADDON_REPORTING_ADVANCED" "ADDON_REPORT_RESOURCES_AVAILABILITY_PER_DAY" "ADDON_REPORT_OEE" "ADDON_REPORT_ON_TIME_DELIVERY_HISTORY" "ADDON_REPORT_PROCESS_PERFORMANCE_HISTORY" "ADDON_REPORT_UTILIZATION_PER_RESOURCE" "ADDON_REPORT_REPORTING_PLUG_IN" "ADDON_EXTERNAL_PARTNERS_BASIC_LICENSE" "ADDON_WORKBENCH_PACK_OF_5" "ADDON_WORKBENCH_PACK_OF_10" "ADDON_WORKBENCH_PACK_OF_15" "CLIENT" "VIRTUAL_MACHINE" "MODEL_TRANSFORMATION" "CASE_REFRESH" "CASE_VIEW" "CASE_DOCUMENT_DOWNLOAD" "VERIFICATION" "ADDON_CORPORATE_BRANDING" "CLIENT_TAX_FILINGS" "CLIENT_COMPLIANCE_SERVICES" "PROPOSAL" "UK_ID_CHECK" "INTERNATIONAL_ID_CHECK" "CREDIT_SCREEN" "UK_COMPANY_REPORT" "NON_UK_COMPANY_REPORT" "HR_SCREEN" "COMPANY_FORMATION" "CLIENT_ACCOUNTS" "SMARTKIT" "WORKFLOW" "EDITOR" "WORKER" "ADDON_POTENTIAL_ANALYSIS" "TRAINING_PACKAGE_SMALL" "TRAINING_PACKAGE_LARGE" "TOOL_PATH_OPTIMIZATION" "CLIENT_VAT_FILINGS" "BUNDLE" "PACKAGE" "VM" "INCIDENT" "SEND" "INTEGRATION" "BILLABLE_HOUR" "TB" "SOURCE" "TRAINING" "SITE" "CONSULTING_UNIT" "CAPACITY" "MIGRATION" "WORKSHOP" "ONBOARDING" "BENEFIT_ELIGIBLE_EMPLOYEE" "SEAT" "MS365_SEAT" "MS_EXCHANGE_MAILBOX" "GWORKSPACE_SEAT" "INTERNET_LINE" "BACKUP_LINE" "USER_PACK_50" "USER_PACK_100" "CIRCUIT" "NAC" "INFRASTRUCTURE" "TEN_THOUSAND_TEST_RUNS" "ONE_THOUSAND_TEST_RUNS" "INGESTED_OR_SCANNED_GB" "MILLION_LOG_EVENTS" "GB_OUTBOUND_PER_DESTINATION" "DESTINATION" "COMMITTER" "INGESTED_GB" "CPU" "ONE_THOUSAND_SESSIONS" "MILLION_RECORDS" "GB_OF_ANALYZED_LOGS" "ACTIVE_FUNCTION" "MILLION_TRACED_INVOCATIONS" "ACTIVE_APPLICATION_INSTANCES" "HUNDRED_TEST_RUNS" "ADDITIONAL_PARALLELIZATION" "TASK" "ONE_HUNDRED_WORKFLOW_EXECUTIONS" "SCANNED_GB" "USE_CASE" "ONE_THOUSAND_ERROR_EVENTS" "PERFORMANCE_GOAL" |
vendorSharePercentage | number or null Vendor's percentage share of the discount. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "applicationId": 0,
- "applicationUuid": "string",
- "applicationName": "string",
- "autoApply": true,
- "basePartnerSharePercentage": 0,
- "billingCycles": 0,
- "code": "string",
- "createdOn": 0,
- "description": "string",
- "editionId": 0,
- "editionUuid": "string",
- "expirationDate": 0,
- "id": 0,
- "uuid": "string",
- "industryId": 0,
- "maxRedemptions": 0,
- "maxUnits": 0,
- "minUnits": 0,
- "partnerSharePercentage": 0,
- "paymentPlanId": 0,
- "paymentPlanUuid": "string",
- "percentage": 0,
- "price": 0,
- "redemptionRestriction": "string",
- "redemptions": 0,
- "retainable": true,
- "startDate": 0,
- "type": "string",
- "unit": "USER",
- "vendorSharePercentage": 0
}
Response samples
- 200
Retrieve discounts
Retrieves the discount for the given discount ID or UUID.
path Parameters
discountId required | string Discount ID or Discount UUID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D
Response samples
- 200
Delete discounts
Deletes the discount with the specified discount ID or UUID.
path Parameters
discountId required | string Discount ID or Discount UUID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/channel/v1/discounts/%7BdiscountId%7D
List company domains
Retrieve a marketplace company's domains.
Required Scopes and Authorization Rules
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
searchText | string Search term used to search domain names |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/domains?searchText=SOME_STRING_VALUE'
Response samples
- 200
Read company domain
Get a specific company domain
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as owner of the company domain.
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
domainName required | string Company domain name |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/domains/%7BdomainName%7D
Response samples
- 200
List verified company domains
Retrieve a marketplace company's verified domains.
Required Scopes and Authorization Rules
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/verifiedDomains
Response samples
- 200
Retrieve an edition
This call returns all details related to a specific product edition
path Parameters
applicationId required | number product id |
editionId required | number Edition id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D
Response samples
- 200
List all events
This call lists all events on your marketplace.
query Parameters
fromDate | number Search events from this date in milliseconds. |
orderId | number Only return events for these purchase order. |
page | string Default: "0" The desired page. Defaults to "0". |
searchText | string [ 0 .. 1024 ] characters Search term used to search on different fields of an application. |
size | string Default: "50" The number of events per page. Defaults to "250". |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Ordering type. Default is "ASC". |
toDate | number Search events to this date in milliseconds. |
type | string Only return events for these event type. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/events?fromDate=SOME_NUMBER_VALUE&orderId=SOME_NUMBER_VALUE&page=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE&type=SOME_STRING_VALUE'
Response samples
- 200
{- "links": [ ],
- "content": [
- {
- "uuid": "EventID",
- "type": "SUBSCRIPTION_ORDER",
- "creationDate": 1480310700384,
- "product": {
- "productId": 1341,
- "name": "wvrZh7o1WOrZxmt3",
}, - "company": {
- "companyId": null,
- "name": "companyName",
}, - "orderId": 362,
- "subscriptionId": null,
- "consumed": false,
- "successful": true,
- "asynchronous": true,
- "error": {
- "code": null,
- "message": null
}, - "manuallyResolved": false
}
], - "page": {
- "size": 1,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Retrieve an event
This call returns all details for a specific event.
path Parameters
eventId required | string Only return event with this event id. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/channel/v1/events/%7BeventId%7D
Response samples
- 200
{- "uuid": "EventID",
- "type": "SUBSCRIPTION_ORDER",
- "creationDate": 1480310699136,
- "product": {
- "productId": 1335,
- "name": "rWA4Y3hiV6yU9OHm",
}, - "company": {
- "companyId": "acecc1af-174c-467c-9ac6-a1469ff9ef1a",
- "name": "companyName",
- "links": [
- {
- "rel": "self",
}
]
}, - "orderId": 356,
- "subscriptionId": 354,
- "consumed": false,
- "successful": true,
- "asynchronous": true,
- "error": {
- "code": null,
- "message": null
}, - "manuallyResolved": false,
}
List user groups
Retrieve a marketplace company's user groups.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
page | integer Default: 0 Zero-based page index |
searchText | string Search term used to search groups names |
size | integer Default: 50 The size of the page to be returned |
sortField | string Default: "createdOn" The property to sort by. Supported values are createdOn, name. |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Ordering type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups?page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
- 404
Create user group
Create a user group for a marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
Request Body schema: application/json
Group creation data
description | string Company group description. |
name | string Company group name. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "HR",
- "description": "Human Resources"
}
Response samples
- 201
- 404
Update user group
Update user group for the requested marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
Request Body schema: application/json
Updated user grouop data
description | string Company group description. |
name | string Company group name. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Engineer",
- "description": "Engineering"
}
Response samples
- 200
- 404
Read user group
Retrieve a marketplace company's user group.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D
Response samples
- 200
- 404
Delete user group
Delete a user group for the requested marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D
Response samples
- 404
List user group members
List members of a user group for the requested marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
query Parameters
searchText | string Optional parameter object containing: |
member | boolean Default: true When true, only group members are return. When false, non-members of the group are returned. |
page | integer Default: 0 Zero-based page index |
size | integer Default: 50 The size of the page to be returned @return List of user/company membership resources |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships?searchText=SOME_STRING_VALUE&member=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
- 404
Create batch group memberships change requests.
Create batched group memberships change requests.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
query Parameters
validateOnly | boolean Default: false If specified, the API returns a response without actually persisting it through to the database. |
Request Body schema: application/json
Array of objects (AssignmentRequest) | |
Array of objects (UassignmentRequest) | |
Array of objects (UserGroupAssignmentRequest) | |
Array of objects (UserGroupUnassignmentRequest) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "assignments": [
- {
- "userUuid": "85c8ccee-8207-45bb-9b3d-ac4e20f14234"
}
], - "unassignments": [
- {
- "userUuid": "17750a3b-d253-431e-8c72-deb7e0d0ef98"
}
], - "appAssignmentRequests": [
- {
- "userUuid": "49af5a70-e2ef-4c53-a44b-85510db91056",
- "companyEntitlementUuid": "e160db9b-9b72-4578-83b5-7bf61ce88069",
- "parameters": { }
}
], - "appUnassignmentRequests": [
- {
- "userEntitlementId": 1941
}
]
}
Response samples
- 200
- 404
Add user to group
Add a user to marketplace company's user group.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
userUuid required | string Unique identifier of user (part of company) in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request PUT \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D
Response samples
- 204
- 404
Read user from group
Retrieve a user/company membership resource.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D
Response samples
- 200
- 404
Delete user from group
Delete a user from a marketplace company's user group.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
groupUuid required | string Unique identifier of group in the API request |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/groups/%7BgroupUuid%7D/memberships/%7BuserUuid%7D
Response samples
- 404
Revoke user invitation
Revoke a user's invitiation to a marketplace company.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
email required | string Email address of invitee in the API request |
query Parameters
inviterUuid | string Unique identifier of marketplace user who sent invitation |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations/%7Bemail%7D?inviterUuid=SOME_STRING_VALUE'
List company invitations
Retrieve a marketplace company's user invitations.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
filter | string Filter query used to reduce the returned result set |
inviterUuid | string Unique identifier of marketplace user who sent invitation |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations?filter=SOME_STRING_VALUE&inviterUuid=SOME_STRING_VALUE'
Response samples
- 200
Invite users to company
Invite multiple users to a marketplace company using list of Invitation resources.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
api.usesExternalIds | boolean Default: false If "true", specified companyUuid is used as company external Id. |
inviterUuid | string Unique identifier of inviter (marketplace user) in the API request |
Request Body schema: application/json
List of invitation resources.
string Email the invitation was sent to. | |
role | string (Role) Enum: "USER" "APPLICATION" "PARTNER" "PARTNER_READ" "COMPANY" "CLIENT" "CHECKOUT_USER" "BILLING_ADMIN" "SYS_ADMIN" "DEVELOPER" "CHANNEL_PRODUCT_SUPPORT" "CHANNEL_SUPPORT" "CHANNEL_ADMIN" "CORPORATE_ADMIN" "SUPERUSER" "SUPER_SUPPORT" "ANALYTICS_ADMIN" "LAYOUT_DESIGNER" "SALES_SUPPORT" "RESTRICTED_SALES_SUPPORT" "RESELLER" "RESELLER_MANAGER" "TESTER" "MONITORING" "SYSTEM" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "email": "test1@email.com",
- "role": "DEVELOPER"
}, - {
- "email": "test2@email.com",
- "role": "ROLE_USER"
}, - {
- "email": "test3@email.com",
- "role": "ROLE_SYS_ADMIN"
}
]
Response samples
- 200
Invite users to company (CSV)
Invite multiple users to a marketplace company using a CSV file. This method expects a Content-Type request header with a value of “multipart/form-data”, “text/plain” or “text/csv”.
Note: You cannot set the Marketplace Manager role through the API.
Required Scopes and Authorization Rules
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
companyUuid required | string Unique identifier of company in the API request |
query Parameters
inviterUuid | string Unique identifier of inviter (marketplace user) in the API request |
Request Body schema: multipart/form-data
invitations | string <binary> CSV file to uploaded. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/invitations/csv?inviterUuid=SOME_STRING_VALUE' \ --header 'content-type: multipart/form-data'
Response samples
- 200
Accept user invitation
Accept a user's invitation to a marketplace company
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
path Parameters
invitationToken required | string Unique invitation token in the API request |
query Parameters
api.usesExternalIds | boolean Default: false When "true", inviter external Id will be used instead of UUID |
Request Body schema: application/json
User registration resource
Array of objects or null (Link) Resource links | |
externalIdentifier | string External identifier of user |
firstName | string First name of user |
lastName | string or null Last name of user |
locale | string Locale of user in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US', 'fr_CA' etc |
password | string Password |
title | string Title of user |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "links": [
- {
- "href": "...",
- "rel": "..."
}, - {
- "href": "...",
- "rel": "..."
}
], - "externalIdentifier": "123456456",
- "firstName": "John",
- "lastName": "Doe",
- "locale": "en_US",
- "password": "Admin123",
- "title": "MS"
}
Response samples
- 200
List all invoices for a user
List all of the invoices for the given user
path Parameters
companyId required | string User's company UUID |
userId required | string User UUID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude invoices with no charges (free) |
fromDate | number From date |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Invoice status |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List all invoices for a company
List all of the invoices for the given company
path Parameters
companyId required | string Company UUID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude invoices with no charges (free) |
fromDate | number From date |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" Sort field |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Invoice status |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List All Invoice Payments
List all payment data for an invoice
path Parameters
invoiceNumber required | integer Invoice number. |
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
fromDate | number From date. |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Payment method. |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Payment result. |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" Sort field. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
start | string Default: "0" First result index. Used for paging. |
toDate | number To date. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/invoices/%7BinvoiceNumber%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
- 204
Pay an Invoice
If the invoice is unpaid, will process the payment and return the result. Will return an exception otherwise
path Parameters
invoiceNumber required | integer The unique identifier for the invoice provided by the channel. |
Request Body schema:
Payment data object.
Array of objects or null (Link) Resource links | |
amount | number or null Payment amount. |
object or null (LinkWS) | |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
date | number or null Payment date. |
object (GatewayResponse) | |
id | number or null Payment number. |
method | string (PaymentMethod) Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS" The supported payment methods |
result | string (PaymentResult) Enum: "SUCCESSFUL" "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" |
transactionId | string or null Transaction ID. |
object or null (LinkWS) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
List All Invoices
List all invoice data
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude invoices with no charges. |
fromDate | number From date. |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" Sort field. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
start | string Default: "0" First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Invoice status. |
toDate | number To date. |
buyerRole | string Enum: "ALL" "CUSTOMER" "RESELLER" "SALES_SUPPORT" Filter invoices with purchases made by user with this role. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE&buyerRole=SOME_STRING_VALUE'
Response samples
- 200
- 204
Retrieve an Invoice
Read an invoice
path Parameters
invoiceNumber required | integer The unique identifier for the invoice provided by the channel. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/invoices/%7BinvoiceNumber%7D
Response samples
- 200
Patch method to partially update an invoice
Currently only used to void an invoice by updating the invoice status
path Parameters
invoiceNumber required | integer The unique identifier of the invoice that should be patched. |
Request Body schema:
Array of objects or null (Link) Resource links | |
object or null (LinkWS) | |
creationDate | number or null Creation date for the invoice. |
orderIds | Array of strings Array of Order IDs |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
dueDate | number or null Due date for the invoice. |
invoiceId | number or null Invoice ID. |
referenceNumber | string or null Reference number. |
status | string (InvoiceStatus) Enum: "PAID" "UNPAID" "CARRIED" "VOIDED" |
total | number or null Invoice total. |
object or null (LinkWS) | |
object or null (LinkWS) | |
Array of objects or null or null (LinkWS) List of links to the included invoices | |
Array of objects (InvoiceLine) List of Invoice lines |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
List leads
List leads
query Parameters
fromDate | integer Search for leads created on of after this date, in milliseconds since epoch |
page | integer Default: 0 Zero-based page index |
searchText | string Search term used to search on different fields of a lead |
size | integer Default: 50 The size of the page to be returned |
sortField | string Default: "DATE" Enum: "COMPANY_NAME" "DATE" "RESELLER_LAST_NAME" "USER_FULL_NAME" "USER_LAST_NAME" The property to sort by |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Ordering type |
source | Array of strings If specified, only return leads with matching source(s) |
status | Array of strings If specified, only return leads with matching status(es) |
target | Array of strings If specified, only return leads with matching target(s) |
toDate | integer Search for leads created on of before this date, in milliseconds since epoch |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/prm/v1/leads?fromDate=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&source=SOME_ARRAY_VALUE&status=SOME_ARRAY_VALUE&target=SOME_ARRAY_VALUE&toDate=SOME_INTEGER_VALUE'
Response samples
- 200
Create a lead
Create a lead
query Parameters
ignoreDuplicateEmail | boolean Default: false when true, duplicate emails are accepted. Applies only to reseller referral leads. |
Request Body schema: application/json
Lead data
additionalComment | string or null Any note that you want to add about the lead |
anticipatedCloseDate | number or null The anticipated date that the lead will be closed in UNIX Epoch milliseconds |
anticipatedNumberOfSeats | number or null The number of licenses required for the subcription |
attributes | object Custom attributes for the lead |
comment | string or null Any note that you want to add about the lead |
creationDate | number or null The date the lead was created in UNIX Epoch milliseconds |
object (CompanyContact) | |
externalIdentifier | string or null An optional identifier provided by the markeplace owner |
lastModificationDate | number or null The date that the lead was last modified in UNIX Epoch milliseconds |
object (CompanyContact) | |
useCaseDescription | string or null Description of what the lead customer needs |
uuid | string or null The unique identifier of either the lead or the opportunity |
object or null (ApplicationReseller) | |
customerLeadForProvider | boolean Indicates whether a lead is for a marketplace owner (true) or not (false) |
customerLeadForReseller | boolean Indicates whether a lead is for a Reseller (true) or not (false) |
customerLeadForVendor | boolean Indicates whether a lead is for a vendor (true) or not (false) |
object or null (LeadEdition) | |
referralLead | boolean Indicates whether the lead was created by a Reseller (true) or not (false) |
source | string (SalesLeadSource) Enum: "RESELLER" "CUSTOMER" |
status | string or null (SalesLeadStatus) Enum: "PENDING" "DENIED" "ACCEPTED" "ASSIGNED" "LOST" "WON" |
target | string or null (SalesLeadTarget) Enum: "PROVIDER" "RESELLER" "VENDOR" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "additionalComment": "...",
- "anticipatedCloseDate": "...",
- "anticipatedNumberOfSeats": "...",
- "attrbutes": "...",
- "comment": "...",
- "creationDate": "...",
- "customer": "...",
- "externalIdentifier": "...",
- "lastModificationDate": "...",
- "reseller": "...",
- "useCaseDescription": "...",
- "uuid": "...",
- "application": "...",
- "attributes": "...",
- "customerLeadForProvider": "...",
- "customerLeadForReseller": "...",
- "customerLeadForVendor": "...",
- "edition": "...",
- "referalLead": "...",
- "source": "...",
- "status": "...",
- "target": "..."
}
Response samples
- 204
Update a lead
Update a lead
path Parameters
uuid required | string Lead UUID |
Request Body schema: application/json
(Partial) Lead data. Only specified fields will override current lead fields. Unknown fields, or fields that can't be updated are ignored.
additionalComment | string or null Any note that you want to add about the lead |
anticipatedCloseDate | number or null The anticipated date that the lead will be closed in UNIX Epoch milliseconds |
anticipatedNumberOfSeats | number or null The number of licenses required for the subcription |
attributes | object Custom attributes for the lead |
comment | string or null Any note that you want to add about the lead |
creationDate | number or null The date the lead was created in UNIX Epoch milliseconds |
object (CompanyContact) | |
externalIdentifier | string or null An optional identifier provided by the markeplace owner |
lastModificationDate | number or null The date that the lead was last modified in UNIX Epoch milliseconds |
object (CompanyContact) | |
useCaseDescription | string or null Description of what the lead customer needs |
uuid | string or null The unique identifier of either the lead or the opportunity |
object or null (ApplicationReseller) | |
customerLeadForProvider | boolean Indicates whether a lead is for a marketplace owner (true) or not (false) |
customerLeadForReseller | boolean Indicates whether a lead is for a Reseller (true) or not (false) |
customerLeadForVendor | boolean Indicates whether a lead is for a vendor (true) or not (false) |
object or null (LeadEdition) | |
referralLead | boolean Indicates whether the lead was created by a Reseller (true) or not (false) |
source | string (SalesLeadSource) Enum: "RESELLER" "CUSTOMER" |
status | string or null (SalesLeadStatus) Enum: "PENDING" "DENIED" "ACCEPTED" "ASSIGNED" "LOST" "WON" |
target | string or null (SalesLeadTarget) Enum: "PROVIDER" "RESELLER" "VENDOR" |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "additionalComment": "...",
- "anticipatedCloseDate": "...",
- "anticipatedNumberOfSeats": "...",
- "attrbutes": "...",
- "comment": "...",
- "creationDate": "...",
- "customer": "...",
- "externalIdentifier": "...",
- "lastModificationDate": "...",
- "reseller": "...",
- "useCaseDescription": "...",
- "uuid": "...",
- "application": "...",
- "attributes": "...",
- "customerLeadForProvider": "...",
- "customerLeadForReseller": "...",
- "customerLeadForVendor": "...",
- "edition": "...",
- "referalLead": "...",
- "source": "...",
- "status": "...",
- "target": "..."
}
Response samples
- 200
List leads
Retrieves a list of all leads visible for a given context. You can filter the list using optional query parameters. Manual leads are visible to only those who created them. Company profile leads are visible to the Reseller that created the profile page as well as the Reseller Managers and Marketplace Managers. Product profile leads are visible to Marketplace Managers and Reseller Managers and can be configured so that the Developers who own the product profile can also see them.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who retrieved the list |
status | string Enum: "CONVERTED" "DISQUALIFIED" "DELETED" "PENDING_CONVERSION_APPROVAL" "CONVERSION_APPROVED" "PENDING_SUBMISSION" "SUBMITTED" "ASSIGNED" "LEGACY" "PENDING_FOR_MANAGERS" "ACCEPTED_FOR_MANAGERS" Lead status |
searchText | string Search text, which filters the list of leads |
fromDate | number Date on which the lead was created (lower bound) in Unix timestamp format |
toDate | number Date on which the lead was created (upper bound) in Unix timestamp format |
sortField | string Default: "DATE" Enum: "DATE" "COMPANY_NAME" The field by which to order the results |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Type of ordering used (ascending or descending) |
page | integer Default: 0 Page number |
size | integer Default: 50 Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/lead/v2/leads?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&status=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "SUBMITTED",
- "customer": {
- "company": {
- "name": "Acme",
- "street1": "1234 Main St",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com",
- "phone": "+14455555555"
}
}, - "createdOn": 1534531428,
- "lastModified": 1534531428,
- "creator": {
- "id": "833d4c99-1939-4366-a5ae-6fb7ae3ec1be",
- "companyId": "6b4bd452-895d-4098-aa56-e6046b238e0f",
- "companyName": "AppDirect",
- "role": "CHANNEL_ADMIN"
}, - "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}
}, - {
- "id": "acfce97c-5428-4310-b841-3bf7cca4e047",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "CONVERTED",
- "customer": {
- "company": {
- "name": "Globex",
- "street1": "5678 Main Av",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US",
- "companyExists": true
}, - "contact": {
- "firstName": "Jane",
- "lastName": "Doe",
- "email": "jane.doe@globex.com",
- "phone": "+18008888080"
}
}, - "reseller": {
- "id": "01d75b7c-ea78-4dc2-9e58-6ad217bddcbd",
- "companyId": "386626c0-53e2-4515-8450-4a720bb5d029"
}, - "createdOn": 1534531428,
- "lastModified": 1534531428,
- "creator": {
- "id": "01d75b7c-ea78-4dc2-9e58-6ad217bddcbd",
- "companyId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company",
- "role": "RESELLER"
}, - "convertedCompany": {
- "id": "dba89c75-f10c-4314-8a98-0692d04594d3",
- "name": "Acme"
}, - "convertedUser": {
- "id": "ad38f05b-7508-4c70-8ef8-c7929f35e414",
- "companyId": "dba89c75-f10c-4314-8a98-0692d04594d3"
}, - "customAttributes": { },
- "result": "WON",
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "COMPANY",
- "companyId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company"
}
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
Create lead
Creates a manual, company profile or product profile lead. Manual leads are visible to only those who created them. Company profile leads are visible to the Reseller that created the profile page as well as the Reseller Managers and Marketplace Managers. Product profile leads are visible to Marketplace Managers and Reseller Managers and can be configured so that the Developers who own the product profile can also see them.
Required parameters:
Company name
Contact email
Lead type
Partner
If the lead type is PRODUCT, the product ID
If the lead type is COMPANY, the reseller company ID
The required parameter correspond to the request payload in LeadCreationRequest
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
ROLE_PARTNER
-Allows access to read and write all Marketplace data. Non-interactive OAuth 1.0 credentials with read and write access are required to use this scope. The companyId, userId, and context parameters are also required.
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" The supported lead's API contexts. ANONYMOUS context can be used to create a PRODUCT or COMPANY lead without authentication. |
companyId required | string Company ID of the user who is creating the lead. Only required when creating a lead of type MANUAL. |
userId required | string User ID of the user who is creating the lead. Only required when using OAuth credentials with role PARTNER to create a lead of type MANUAL. In this case, the user ID must correspond to a marketplace user who has the Marketplace Manager role. The user must be a member of a company that has marketplace access. |
Request Body schema: application/jsonrequired
Information about the lead to create
partner required | string Marketplace partner code |
leadType required | string (LeadType) Enum: "MANUAL" "PRODUCT" "COMPANY" The type of lead. Leads created manually by users have the MANUAL type. Leads created by anonymous users through profiles have the PRODUCT or COMPANY types, depending on whether they were created from product profiles or reseller company profiles respectively. |
required | object (LeadCustomer) Information about the customer and customer company |
customAttributes | object Custom attributes associated with the lead. This is a key-value object where the values are a set of strings associated with a given key, which is also a String. |
object (LeadUser) Information about the marketplace user related to the lead | |
notes | string Notes attached to the lead |
object (LeadUser) Information about the marketplace user related to the lead | |
object (LeadCompany) Information about the marketplace company related to the lead | |
object (LeadProduct) Information about the product related to a lead | |
object (LeadProductEdition) Information about the product edition related to a lead |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "customer": {
- "company": {
- "street1": "1234 Main St",
- "street2": "30th Floor, Apt B",
- "city": "Miami",
- "country": "US",
- "state": "FL",
- "zip": "33033",
- "name": "Acme"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "phone": "+13055555555",
- "email": "john.doe@acme.com"
}
}, - "leadType": "MANUAL",
- "partner": "APPDIRECT"
}
Response samples
- 201
{- "id": "cc146924-afe3-4f6f-b368-2279e1e2039e",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "ASSIGNED",
- "customer": {
- "company": {
- "name": "Acme",
- "street1": "1234 Main St",
- "street2": "30th Floor, Apt B",
- "city": "Miami",
- "state": "FL",
- "zip": "33033",
- "country": "US"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@companysrl.com",
- "phone": "+13055555555"
}
}, - "createdOn": 1534875428054,
- "lastModified": 1534875428054,
- "creator": {
- "id": "e0f7521e-a297-4d02-942e-a8ee3216d5e5",
- "companyId": "fb2ea14d-2be2-4572-b607-2d70500c14f3",
- "companyName": "Referral Company",
- "role": "REFERRAL"
}, - "referrer": {
- "participantType": "COMPANY",
- "companyId": "fb2ea14d-2be2-4572-b607-2d70500c14f3",
- "companyName": "Referral Company"
}, - "recipient": {
- "participantType": "COMPANY",
- "companyId": "fb2ea14d-2be2-4572-b607-2d70500c14f3",
- "companyName": "Referral Company"
}
}
Get lead details
Retrieves a single lead and its details
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
path Parameters
leadId required | string Lead ID |
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is retrieving the lead |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'
Response samples
- 200
{- "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "SUBMITTED",
- "customer": {
- "company": {
- "name": "Acme",
- "street1": "1234 Main St",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com",
- "phone": "+14455555555"
}
}, - "createdOn": 1534465177000,
- "lastModified": 1534465179000,
- "creator": {
- "id": "833d4c99-1939-4366-a5ae-6fb7ae3ec1be",
- "companyId": "6b4bd452-895d-4098-aa56-e6046b238e0f",
- "companyName": "AppDirect",
- "role": "CHANNEL_ADMIN"
}, - "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}
}
Discard lead
Deletes or disqualifies a lead (depending on type and assignment)
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
path Parameters
leadId required | string Lead ID |
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is discarding the lead |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'
Update lead
Updates the contact information or notes from a lead
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
path Parameters
leadId required | string Lead ID |
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is updating the lead |
Request Body schema: application/jsonrequired
Information about the lead to update
object (LeadCustomer) Information about the customer and customer company | |
notes | string Notes attached to the lead |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "customer": {
- "company": {
- "name": "Globex",
- "street2": "5th floor"
}, - "contact": {
- "firstName": "Jane",
- "lastName": "Doe",
- "email": "jane.doe@globex.com"
}
}, - "notes": "Updated company name, added floor and changed person to be contacted"
}
Response samples
- 200
{- "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "SUBMITTED",
- "customer": {
- "company": {
- "name": "Globex",
- "street1": "1234 Main St",
- "street2": "5th floor",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US"
}, - "contact": {
- "firstName": "Jane",
- "lastName": "Jane",
- "email": "jane.doe@globex.com",
- "phone": "+14455555555"
}
}, - "notes": "Updated company name, added floor and changed person to be contacted",
- "createdOn": 1534465177000,
- "lastModified": 1534857159000,
- "creator": {
- "id": "833d4c99-1939-4366-a5ae-6fb7ae3ec1be",
- "companyId": "6b4bd452-895d-4098-aa56-e6046b238e0f",
- "companyName": "Appdirect",
- "role": "CHANNEL_ADMIN"
}, - "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}
}
Assign lead
Assigns a lead to a Reseller company. The assignee will be able to see that lead as long as is not assigned to another company. The owner of the lead retains visibility even if it is assigned to another company.
Required Scopes and Authorization Rules
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is assigning the lead |
Request Body schema: application/jsonrequired
Information about the person to whom the lead is being assigned
leadId required | string Lead ID |
required | object (LeadParticipant) Information about the person who is receiving or referring the lead |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "leadId": "29a1dc26-8088-475c-ba75-7b73915a0fab",
- "recipient": {
- "participantType": "COMPANY",
- "companyId": "386626c0-1234-4515-8450-4a720bb5d029"
}
}
Response samples
- 201
{- "lead": {
- "id": "29a1dc26-8088-475c-ba75-7b73915a0fab",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "ASSIGNED",
- "customer": {
- "company": {
- "name": "Acme",
- "street1": "1234 Main St",
- "street2": "1st floor",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com",
- "phone": "+14455555555"
}
}, - "notes": "Some notes",
- "createdOn": 1534465177000,
- "lastModified": 1534857159000,
- "creator": {
- "id": "833d4c99-1939-4366-a5ae-6fb7ae3ec1be",
- "companyId": "6b4bd452-895d-4098-aa56-e6046b238e0f",
- "companyName": "Appdirect",
- "role": "RESELLER_MANAGER"
}, - "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "COMPANY",
- "companyId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company"
}
}
}
Associate lead
Associates a lead with an existing marketplace user and company
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is updating the lead |
Request Body schema: application/jsonrequired
Information about the user/company that the lead is being associated with
leadId required | string Lead ID |
required | object (LeadUser) Information about the marketplace user related to the lead |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "leadId": "ce9d1713-7a48-43e4-bb43-b6880a19df24",
- "user": {
- "companyId": "62377315-61ba-4b50-9891-02799bef4257",
- "id": "1661c8d8-357b-4e8d-a0b9-a571ff00924b"
}
}
Response samples
- 200
{- "id": "ce9d1713-7a48-43e4-bb43-b6880a19df24",
- "partner": "APPDIRECT",
- "leadType": "MANUAL",
- "status": "SUBMITTED",
- "customer": {
- "company": {
- "name": "Globex",
- "street1": "1234 Main St",
- "city": "Beverly Hills",
- "state": "CA",
- "zip": "90210",
- "country": "US",
- "companyExists": true,
- "linked": false
}, - "contact": {
- "firstName": "Jane",
- "lastName": "Doe",
- "email": "jane.doe@company.com"
}
}, - "createdOn": 1534845351000,
- "lastModified": 1534845352000,
- "creator": {
- "id": "833d4c99-1939-4366-a5ae-6fb7ae3ec1be",
- "companyId": "6b4bd452-895d-4098-aa56-e6046b238e0f",
- "companyName": "Appdirect",
- "role": "CHANNEL_ADMIN"
}, - "convertedCompany": {
- "id": "62377315-61ba-4b50-9891-02799bef4257",
- "name": "Acme"
}, - "convertedUser": {
- "id": "1661c8d8-357b-4e8d-a0b9-a571ff00924b",
- "companyId": "62377315-61ba-4b50-9891-02799bef4257"
}, - "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}
}
List activities
Retrieves a list of all lead activities visible for a given context. You can filter the list using optional query parameters.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_REFERRAL
-Allows access as a Referral for the company
ROLE_DEVELOPER
-Allows access as a Developer for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
path Parameters
leadId required | string Lead ID |
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is retrieving the list |
fromDate | number Date on which the lead activity was created (lower bound) in Unix timestamp format |
toDate | number Date on which the lead activity was created (upper bound) in Unix timestamp format |
creationDateOrder | string Default: "DESC" Enum: "ASC" "DESC" Type of ordering used (ascending or descending) for the creation date |
page | integer Default: 0 Page number |
size | integer Default: 50 Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/lead/v2/leads/%7BleadId%7D/activities?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&creationDateOrder=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "9d0957c8-d78d-44ac-9789-4b60a5859a3a",
- "createdOn": 1528922810000,
- "verb": "LEAD_CONVERSION_REQUESTED",
- "verbContext": "COMPANY",
- "partner": "APPDIRECT",
- "actorCompany": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}, - "allowedResourcesAccess": [
- "ACTOR_COMPANY"
]
}, - {
- "id": "259558f5-da66-4ce9-aede-0f15f68478f5",
- "createdOn": 1528922659000,
- "verb": "LEAD_CREATED",
- "verbContext": "COMPANY",
- "partner": "APPDIRECT",
- "actorCompany": {
- "id": "386626c0-1234-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}, - "allowedResourcesAccess": [
- "ACTOR_COMPANY"
]
}, - {
- "id": "c6350331-caa9-4942-b53c-611df7d7c1d7",
- "createdOn": 1528922904000,
- "verb": "LEAD_CONVERSION_APPROVED",
- "verbContext": "MARKETPLACE",
- "partner": "APPDIRECT",
- "actorCompany": {
- "id": "6b4bd452-895d-4098-aaaa-e6046b238e0f",
- "name": "Appdirect"
}, - "allowedResourcesAccess": [
- "ACTOR_COMPANY"
]
}, - {
- "id": "49479105-36a9-4740-b9a3-b768c6755378",
- "createdOn": 1528922952000,
- "verb": "LEAD_CONVERTED",
- "verbContext": "COMPANY",
- "partner": "APPDIRECT",
- "actorCompany": {
- "id": "386626c0-1234-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}, - "allowedResourcesAccess": [
- "ACTOR_COMPANY"
]
}, - {
- "id": "45e3a909-e3ec-46fc-8b08-bcc264fdc2f7",
- "createdOn": 1528923325000,
- "verb": "LEAD_QUOTE_LINKED",
- "verbContext": "COMPANY",
- "partner": "APPDIRECT",
- "actorCompany": {
- "id": "386626c0-1234-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}, - "contextQuote": {
- "id": "5f7a98c8-deac-40b2-8cef-cd41af042233",
- "friendlyId": "I4HNJM",
- "applicationName": "AUTO_WEBAPP_NEW"
}, - "allowedResourcesAccess": [
- "ACTOR_COMPANY"
]
}
], - "page": {
- "size": 5,
- "totalElements": 17,
- "totalPages": 4,
- "number": 0
}
}
Convert lead
Converts the lead to a marketplace company
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is converting the lead |
leadId required | string Lead ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/lead/v2/conversion?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'
Response samples
- 200
{- "lead": {
- "id": "94890613-265d-4635-93d1-9fdddf70cf73",
- "partner": "APPDIRECT",
- "leadType": "COMPANY",
- "status": "CONVERTED",
- "customer": {
- "company": {
- "name": "Acme",
- "companyExists": true,
- "linked": true
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com"
}
}, - "reseller": {
- "id": "01d75b7c-ea78-4dc2-9e58-6ad217bddcbd",
- "companyId": "386626c0-1234-4515-8450-4a720bb5d029"
}, - "createdOn": 1534846329000,
- "lastModified": 1534985564812,
- "convertedCompany": {
- "id": "b3577d6f-8f29-454e-9d9d-da99e1e9618f",
- "name": "Acme"
}, - "convertedUser": {
- "id": "6f3b8110-4e66-49bd-aec9-2e2fbe8c54ea",
- "companyId": "b3577d6f-8f29-454e-9d9d-da99e1e9618f"
}, - "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "COMPANY",
- "companyId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company"
}, - "profileCompany": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}
}
}
Request conversion approval
Request permission to convert the lead to a marketplace company
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
companyId required | string Company ID of the user who is requesting the lead conversion |
leadId required | string Lead ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/lead/v2/conversionRequest?context=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'
Response samples
- 200
{- "lead": {
- "id": "94890613-265d-4635-93d1-9fdddf70cf73",
- "partner": "APPDIRECT",
- "leadType": "COMPANY",
- "status": "PENDING_CONVERSION_APPROVAL",
- "customer": {
- "company": {
- "name": "Acme"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com"
}
}, - "createdOn": 1534846329000,
- "lastModified": 1534846331000,
- "customAttributes": { },
- "referrer": {
- "participantType": "COMPANY",
- "companyId": "386626c0-1234-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company"
}, - "recipient": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "profileCompany": {
- "id": "386626c0-1234-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}
}
}
Approve conversion request
Approves the conversion request made by a Reseller company
Required Scopes and Authorization Rules
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace
query Parameters
context required | string Enum: "RESELLER" "REFERRAL" "DEVELOPER" "RESELLER_MANAGER" "PARTNER" "ANONYMOUS" Supported contexts |
leadId required | string Lead ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/lead/v2/conversionApproval?context=SOME_STRING_VALUE&leadId=SOME_STRING_VALUE'
Response samples
- 200
{- "lead": {
- "id": "94890613-265d-4635-93d1-9fdddf70cf73",
- "partner": "APPDIRECT",
- "leadType": "COMPANY",
- "status": "CONVERSION_APPROVED",
- "customer": {
- "company": {
- "name": "Acme"
}, - "contact": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@acme.com"
}
}, - "createdOn": 1534846329000,
- "lastModified": 1534984995000,
- "customAttributes": { },
- "referrer": {
- "participantType": "CHANNEL",
- "partner": "APPDIRECT"
}, - "recipient": {
- "participantType": "COMPANY",
- "companyId": "386626c0-1234-4515-8450-4a720bb5d029",
- "companyName": "Reseller Company"
}, - "profileCompany": {
- "id": "386626c0-1234-4515-8450-4a720bb5d029",
- "name": "Reseller Company"
}
}
}
Retrieve active settings for a given marketplace
Retrieve the settings, sections, tabs that should be visible to end user on the marketplace product settings UI for a given marketplace.
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_PRODUCT_SUPPORT
-Allows access as a Product Support agent for the marketplace.
path Parameters
productId required | integer The product identifier |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/marketplaceProduct/activeSettings/%7BproductId%7D
Response samples
- 200
- 404
{- "productInformation": {
- "productName": "AUTO_WEBAPP_NEW",
- "appFromNetwork": false
}, - "showSettingsContainer": true,
- "showVisibleOnNetwork": true,
- "showVisibleOnMarketplace": true,
- "showSellDomainAsStandalone": false,
- "showAsComingSoon": true,
- "showCollectLeads": true,
- "showCompanyGroupSegmentsContainer": true,
- "showHideAllPricing": true,
- "showDisableSelfService": false,
- "showTermsOfServiceURL": false,
- "showSortingRank": true,
- "showAdditionalSettingsContainer": false,
- "showAPIHealthMaintenanceContainer": true,
- "showSKUsContainer": false,
- "showFID1Number": false,
- "showProductTab": true,
- "showCategoriesContainer": true,
- "showAttributesContainer": true,
- "showProductLinesContainer": true,
- "showCustomerGroupsContainer": true,
- "showMerchandisingOptionsContainer": true,
- "showBillingTab": true,
- "showBillingSettingsContainer": true,
- "showSkipFirstPayment": false,
- "showTaxCode": true,
- "showSetupFeeTaxCode": false,
- "showBillingCycleStartDay": false,
- "showFreeTrialBillingOptionsContainer": true,
- "showBillingPatternsContainer": false
}
Retrieve product settings on a given marketplace
Retrieve product settings, including product information, general settings, product group, and billing settings for a product on a given marketplace.
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_PRODUCT_SUPPORT
-Allows access as a Product Support agent for the marketplace.
path Parameters
productId required | integer The product identifier |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/marketplaceProduct/productSettings/%7BproductId%7D
Response samples
- 200
- 404
{- "productInformation": {
- "productName": "AUTO_WEBAPP_NEW",
- "appFromNetwork": false
}, - "general": {
- "settings": {
- "validations": [
- {
- "field": "termsOfServiceURL",
- "maxLength": 1024
}
], - "visibleOnNetwork": true,
- "visibleOnMarketplace": true,
- "sellDomainAsStandalone": true,
- "showAsComingSoon": true,
- "collectLeads": {
- "options": [
- "inAdditionToPurchase",
- "insteadOfPurchase"
], - "enabled": true,
- "selectedOption": "inAdditionToPurchase",
- "assignLeadsToDevelopers": false,
- "editionLeadGenEnabled": false
}, - "hideAllPricing": true,
- "disableSelfServe": true,
- "sortingRank": {
- "selectedOption": "Very Low",
- "options": [
- "Very High",
- "High",
- "Medium",
- "Low",
- "Very Low"
]
}
}, - "additionalSettings": {
- "validations": [
- {
- "field": "externalIdentifier",
- "maxLength": 36
}, - {
- "field": "productStockNumber",
- "maxLength": 36
}
]
}, - "apiHealthMaintenance": {
- "purchase": {
- "value": true,
- "disabled": false
}, - "singleSignOn": {
- "value": false,
- "disabled": false
}, - "updateSubscription": {
- "value": true,
- "disabled": true,
- "tooltip": "The product is part of a bundle."
}, - "assignAndUnassign": {
- "value": false,
- "disabled": true,
- "tooltip": "This endpoint has been disabled by the developer."
}
}
}, - "productGroups": {
- "categories": {
- "tooltip": "Add categories to your application",
- "required": false,
- "options": [
- {
- "categoryId": 0,
- "name": "Select a Category",
- "subCategories": [
- {
- "subCategoryId": 0,
- "name": "Select a Sub Category"
}
]
}, - {
- "categoryId": 186,
- "name": "Numbers",
- "subCategories": [
- {
- "subCategoryId": 0,
- "name": "Select a Sub Category"
}, - {
- "subCategoryId": 113,
- "name": "One"
}, - {
- "subCategoryId": 114,
- "name": "Two"
}
]
}
], - "selectedOptions": [
- {
- "categoryId": 0,
- "subCategoryId": 0
}, - {
- "categoryId": 186,
- "subCategoryId": 0
}, - {
- "categoryId": 186,
- "subCategoryId": 115
}
]
}, - "attributes": [
- {
- "attributeId": 56,
- "name": "English",
- "required": false,
- "options": [
- {
- "attributeOptionId": 128,
- "name": "EngOpt1",
- "selected": true
}, - {
- "attributeOptionId": 129,
- "name": "EngOpt2",
- "selected": false
}, - {
- "attributeOptionId": 130,
- "name": "EngOpt3",
- "selected": false
}, - {
- "attributeOptionId": 131,
- "name": "EngOpt4",
- "selected": false
}, - {
- "attributeOptionId": 132,
- "name": "EngOpt5",
- "selected": false
}, - {
- "attributeOptionId": 133,
- "name": "EngOpt6",
- "selected": false
}, - {
- "attributeOptionId": 134,
- "name": "EngOpt7",
- "selected": false
}
]
}
], - "productLines": [
- {
- "productLineId": 1,
- "name": "MSFT",
- "selected": false
}
], - "customerGroups": [
- {
- "userAttributeId": 31,
- "name": "New Customer Group",
- "required": true,
- "options": [
- {
- "industryId": 55,
- "name": "Industry1",
- "selected": true
}, - {
- "industryId": 56,
- "name": "Industry2",
- "selected": false
}
]
}
], - "merchandisingOptions": {
- "ribbons": {
- "options": [
- {
- "ribbonId": 0,
- "text": "Choose One"
}, - {
- "ribbonId": 8,
- "color": "#0004FF",
- "text": "Discount",
- "textColor": "#FFFFF"
}, - {
- "ribbonId": 7,
- "color": "#0004FF",
- "text": "Free",
- "textColor": "#FFFFF"
}, - {
- "ribbonId": 9,
- "color": "#0004FF",
- "text": "Special",
- "textColor": "#FFFFF"
}
], - "selectedOption": 7
}, - "badges": {
- "options": [
- {
- "badgeId": 7,
- "name": "EngOpt1",
- "imageUrl": "common_resources/attributeOptions/128/badge.png?e5dc31b07b947203ce979bd55032f960",
- "position": 1
}, - {
- "badgeId": 8,
- "name": "EngOpt2",
- "imageUrl": "common_resources/attributeOptions/129/badge.png?e5dc31b07b947203ce979bd55032f960",
- "position": 2
}, - {
- "badgeId": 9,
- "name": "EngOpt3",
- "imageUrl": "common_resources/attributeOptions/130/badge.png?fd55e224f0cc01dd33f6ae864002e880"
}, - {
- "badgeId": 10,
- "name": "EngOpt4",
- "imageUrl": "common_resources/attributeOptions/null/badge.png?e5dc31b07b947203ce979bd55032f960"
}
], - "selectedOptions": [
- 7,
- 8
]
}
}, - "segmentSelections": {
- "availableCompanyGroups": [
- {
- "id": "1b0cc1f0-4945-4c6a-989c-d5f350a1b9d1",
- "name": "cda",
- "segments": [
- {
- "id": "e96f1bd2-c6c7-4546-ad9c-518f5ff650a9",
- "name": "fd"
}
]
}
], - "selectedSegments": [
- "e96f1bd2-c6c7-4546-ad9c-518f5ff650a9"
]
}
}, - "billing": {
- "billingSettings": {
- "validations": [
- {
- "field": "startDay",
- "numeric": true,
- "minValue": 1,
- "maxValue": 31
}, - {
- "field": "taxCode",
- "maxLength": 255
}, - {
- "field": "setupFeeTaxCode",
- "maxLength": 25
}
], - "skipFirstPayment": true,
- "taxCode": "ABC123",
- "setupFeeTaxCode": "DEF456",
- "billingCycle": {
- "options": [
- "MP_DEFAULT_CYCLE",
- "FIRST_DAY_OF_THE_MONTH",
- "LAST_DAY_OF_THE_MONTH",
- "PURCHASE_DAY",
- "CUSTOM_DAY_OF_THE_MONTH"
], - "selectedOption": "FIRST_DAY_OF_THE_MONTH",
- "startDay": 1
}
}, - "freeTrialBillingOptions": [
- {
- "editionId": 9890,
- "editionName": "Free Trial",
- "requireBillingInfo": true,
- "automaticUpgradeToPaidEnabled": true
}
], - "skuSettings": {
- "validations": [
- {
- "field": "sku",
- "required": true,
- "alphanumeric": true,
- "minLength": 6,
- "maxLength": 6
}, - {
- "field": "fid1",
- "required": false,
- "minLength": 2,
- "maxLength": 25
}
], - "editionPricingItems": [
- {
- "editionName": "Free Trial Edition",
- "paymentPlanId": 123,
- "skus": [
- {
- "pricingItemId": 20423,
- "price": "$0.03",
- "sku": "A1B2C3",
- "fid1": "yyyy-yyyyyy-yyyy"
}, - {
- "pricingItemId": 20424,
- "price": "$0.17",
- "sku": "321CBA",
- "fid1": "yyyy-yyyyyy-yyyy"
}
]
}
]
}
}
}
Update product settings on a given marketplace
Update product settings for a product on a given marketplace.
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_PRODUCT_SUPPORT
-Allows access as a Product Support agent for the marketplace.
path Parameters
productId required | integer The product identifier |
Request Body schema: application/jsonrequired
Information about the product settings that will be updated.
object (ProductInformation) Information about the product, such as the name, icon URL, and if it is a network product. | |
object (GeneralSettings) Information about the availability of the product, API health maintenance, and additional settings. | |
object (ProductGroups) Information about the tooltip, attribute, and list of categories associated to the product. | |
object (Billing) Information about the billing settings, free trials, billing patterns, or SKU settings of the product. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "productInformation": {
- "productName": "AUTO_WEBAPP_NEW",
- "appFromNetwork": false
}, - "general": {
- "settings": {
- "validations": [
- {
- "field": "termsOfServiceURL",
- "maxLength": 1024
}
], - "visibleOnNetwork": true,
- "visibleOnMarketplace": true,
- "sellDomainAsStandalone": true,
- "showAsComingSoon": true,
- "collectLeads": {
- "options": [
- "inAdditionToPurchase",
- "insteadOfPurchase"
], - "enabled": true,
- "selectedOption": "inAdditionToPurchase",
- "assignLeadsToDevelopers": false,
- "editionLeadGenEnabled": false
}, - "hideAllPricing": true,
- "disableSelfServe": true,
- "sortingRank": {
- "selectedOption": "Very Low",
- "options": [
- "Very High",
- "High",
- "Medium",
- "Low",
- "Very Low"
]
}
}, - "additionalSettings": {
- "validations": [
- {
- "field": "externalIdentifier",
- "maxLength": 36
}, - {
- "field": "productStockNumber",
- "maxLength": 36
}
]
}, - "apiHealthMaintenance": {
- "purchase": {
- "value": true,
- "disabled": false
}, - "singleSignOn": {
- "value": false,
- "disabled": false
}, - "updateSubscription": {
- "value": true,
- "disabled": true,
- "tooltip": "The product is part of a bundle."
}, - "assignAndUnassign": {
- "value": false,
- "disabled": true,
- "tooltip": "This endpoint has been disabled by the developer."
}
}
}, - "productGroups": {
- "categories": {
- "tooltip": "Add categories to your application",
- "required": false,
- "options": [
- {
- "categoryId": 0,
- "name": "Select a Category",
- "subCategories": [
- {
- "subCategoryId": 0,
- "name": "Select a Sub Category"
}
]
}, - {
- "categoryId": 186,
- "name": "Numbers",
- "subCategories": [
- {
- "subCategoryId": 0,
- "name": "Select a Sub Category"
}, - {
- "subCategoryId": 113,
- "name": "One"
}, - {
- "subCategoryId": 114,
- "name": "Two"
}
]
}
], - "selectedOptions": [
- {
- "categoryId": 0,
- "subCategoryId": 0
}, - {
- "categoryId": 186,
- "subCategoryId": 0
}, - {
- "categoryId": 186,
- "subCategoryId": 115
}
]
}, - "attributes": [
- {
- "attributeId": 56,
- "name": "English",
- "required": false,
- "options": [
- {
- "attributeOptionId": 128,
- "name": "EngOpt1",
- "selected": true
}, - {
- "attributeOptionId": 129,
- "name": "EngOpt2",
- "selected": false
}, - {
- "attributeOptionId": 130,
- "name": "EngOpt3",
- "selected": false
}, - {
- "attributeOptionId": 131,
- "name": "EngOpt4",
- "selected": false
}, - {
- "attributeOptionId": 132,
- "name": "EngOpt5",
- "selected": false
}, - {
- "attributeOptionId": 133,
- "name": "EngOpt6",
- "selected": false
}, - {
- "attributeOptionId": 134,
- "name": "EngOpt7",
- "selected": false
}
]
}
], - "productLines": [
- {
- "productLineId": 1,
- "name": "MSFT",
- "selected": false
}
], - "customerGroups": [
- {
- "userAttributeId": 31,
- "name": "New Customer Group",
- "required": true,
- "options": [
- {
- "industryId": 55,
- "name": "Industry1",
- "selected": true
}, - {
- "industryId": 56,
- "name": "Industry2",
- "selected": false
}
]
}
], - "merchandisingOptions": {
- "ribbons": {
- "options": [
- {
- "ribbonId": 0,
- "text": "Choose One"
}, - {
- "ribbonId": 8,
- "color": "#0004FF",
- "text": "Discount",
- "textColor": "#FFFFF"
}, - {
- "ribbonId": 7,
- "color": "#0004FF",
- "text": "Free",
- "textColor": "#FFFFF"
}, - {
- "ribbonId": 9,
- "color": "#0004FF",
- "text": "Special",
- "textColor": "#FFFFF"
}
], - "selectedOption": 7
}, - "badges": {
- "options": [
- {
- "badgeId": 7,
- "name": "EngOpt1",
- "imageUrl": "common_resources/attributeOptions/128/badge.png?e5dc31b07b947203ce979bd55032f960",
- "position": 1
}, - {
- "badgeId": 8,
- "name": "EngOpt2",
- "imageUrl": "common_resources/attributeOptions/129/badge.png?e5dc31b07b947203ce979bd55032f960",
- "position": 2
}, - {
- "badgeId": 9,
- "name": "EngOpt3",
- "imageUrl": "common_resources/attributeOptions/130/badge.png?fd55e224f0cc01dd33f6ae864002e880"
}, - {
- "badgeId": 10,
- "name": "EngOpt4",
- "imageUrl": "common_resources/attributeOptions/null/badge.png?e5dc31b07b947203ce979bd55032f960"
}
], - "selectedOptions": [
- 7,
- 8
]
}
}
}, - "billing": {
- "billingSettings": {
- "validations": [
- {
- "field": "startDay",
- "numeric": true,
- "minValue": 1,
- "maxValue": 31
}, - {
- "field": "taxCode",
- "maxLength": 255
}, - {
- "field": "setupFeeTaxCode",
- "maxLength": 25
}
], - "skipFirstPayment": true,
- "taxCode": "ABC123",
- "setupFeeTaxCode": "DEF456",
- "billingCycle": {
- "options": [
- "MP_DEFAULT_CYCLE",
- "FIRST_DAY_OF_THE_MONTH",
- "LAST_DAY_OF_THE_MONTH",
- "PURCHASE_DAY",
- "CUSTOM_DAY_OF_THE_MONTH"
], - "selectedOption": "FIRST_DAY_OF_THE_MONTH",
- "startDay": 1
}
}, - "freeTrialBillingOptions": [
- {
- "editionId": 9890,
- "editionName": "Free Trial",
- "requireBillingInfo": true,
- "automaticUpgradeToPaidEnabled": true
}
], - "skuSettings": {
- "validations": [
- {
- "field": "sku",
- "required": true,
- "alphanumeric": true,
- "minLength": 6,
- "maxLength": 6
}, - {
- "field": "fid1",
- "required": false,
- "minLength": 2,
- "maxLength": 25
}
], - "editionPricingItems": [
- {
- "editionName": "Free Trial Edition",
- "paymentPlanId": 123,
- "skus": [
- {
- "pricingItemId": 20423,
- "price": "$0.03",
- "sku": "A1B2C3",
- "fid1": "yyyy-yyyyyy-yyyy"
}, - {
- "pricingItemId": 20424,
- "price": "$0.17",
- "sku": "321CBA",
- "fid1": "yyyy-yyyyyy-yyyy"
}
]
}
]
}
}
}
Response samples
- 404
[- {
- "code": "Not Found",
- "message": "Product with id 10 not found."
}
]
Billing Usage V1
Submit usage data to be billed for the given account identifier
query Parameters
async | boolean Default: false True if asynchronous. Default value is false. |
Request Body schema:
Usage data information.
object or null (AccountInfo) | |
object (AddonInstanceInfo) | |
Array of objects (UsageItemBean) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Billing Usage V2
Submit preconfigured, custom, or volume-priced metered usage data to be billed for a customer account.
Volume pricing usage is always preconfigured, not custom. It is processed at 6:00 PM UTC, either on the last day of the billing period or, if delayed billing is configured (always recommended for volume pricing), on the last day of a defined number of days after the billing period ends. It must be submitted in requests that do not include other pricing models.
Request Body schema: application/json
Metered usage request body. The request body example includes a preconfigured metered usage item followed by a custom metered usage item. For volume price usage, the request is the same.
idempotencyKey | string Unique caller-generated identifier for the metered usage that is sent. Ensures duplicate submissions can be identified and an error returned. Required. |
requestGroupId | string or null A caller-generated identifier to group related metered usage requests. For example, 'January 2022' to group all requests that include January billing period events. |
billable | boolean Indicates usage is billable (true) or estimated (false). Required. |
Array of objects (MeteredUsageItem) List of metered usage events. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "idempotencyKey": "string",
- "requestGroupId": "string",
- "billable": true,
- "usages": [
- {
- "accountId": "string",
- "usageList": [
- {
- "eventId": "string",
- "eventDate": "2019-08-24T14:15:22Z",
- "pricingUnit": "string",
- "customUnit": "string",
- "quantity": "string",
- "unitPrice": "string",
- "description": "string",
- "currency": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}
]
}
]
}
Response samples
- 202
- 400
- 404
- 500
{- "requestId": "067464f3-be67-4dd3-b1a3-b2ac75180222",
- "idempotencyKey": "20210429-b436h7j2",
- "queryUsageStatus": "/api/integration/v2/billing/usage/requests/fade1f71-3f40-4f4e-81c1-e835cb459c30"
}
Fetch usage processing status
Retrieve whether the metered usage events submitted with a Billing Usage V2 request were successfully processed. In the Billing Usage V2 response, locate the path that is unique to the request (queryUsageStatus). Use it to retrieve the processing status for the submitted usage events, and error details if applicable.
path Parameters
requestId required | string Unique system-assigned identifier for the API request used to submit the metered usage; returned with the Billing Usage V2 submission response. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/integration/v2/billing/usage/requests/%7BrequestId%7D
Response samples
- 200
List applications
List all applications assigned to a marketplace company user.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the owner of the user entitlements.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
companyUuid required | string Company UUID |
userUuid required | string User UUID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps
Response samples
- 200
Update MyApps order
Update the order in which applications will should show up on the MyApps page.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the owner of the user entitlements.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
companyUuid required | string Company UUID |
userUuid required | string User UUID |
Request Body schema: application/jsonrequired
Ordered list of app hrefs
MyApps URL
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[
]
Read application with completed assignment
Retrieve a marketplace user's application when assignment is complete.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the owner of the user entitlement.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
companyUuid required | string Company UUID |
userUuid required | string User UUID |
userEntitlementId required | integer User entitlement ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps/assigned/%7BuserEntitlementId%7D
Response samples
- 200
Read application with pending assignment
Retrieve a marketplace user's application when assignment is pending.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the owner of the user entitlement.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_SUPERUSER
-Allows access as a Super User for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
companyUuid required | string Company UUID |
userUuid required | string User UUID |
pendingAppId required | integer Pending App ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/companies/%7BcompanyUuid%7D/memberships/%7BuserUuid%7D/myapps/pending/%7BpendingAppId%7D
Response samples
- 200
Create opportunity
Creates a new opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
query Parameters
context | string Enum: "RESELLER" "SSR" Deprecated. Parameter has no impact on this endpoint. |
Request Body schema: application/jsonrequired
Information about the opportunity being created
customerCompanyId required | string Customer company ID |
customerId required | string Customer user ID |
ownerCompanyId required | string Sales agent company ID |
ownerId required | string Sales agent user ID |
currency | string (OpportunityCurrency) ^[A-Z]{3}$ Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" The currency using the ISO-4217 currency code |
required | Array of objects (OpportunityItem) List of items in the opportunity |
purchaseEffectiveDate | number Opportunity purchase effective date, in UNIX Epoch milliseconds |
name | string Opportunity name |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "customerCompanyId": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "customerId": "505f0a0c-57a7-4d9e-9fac-66bbf557ac4d",
- "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3",
- "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "items": [
- {
- "pricingPlanId": "85d30404-c56b-4dff-9f3b-06636477fe55",
- "units": [
- {
- "quantity": 10,
- "unit": "USER"
}
]
}, - {
- "pricingPlanId": "d12931cf-eac6-45fa-8965-d33b1c5698b0",
- "units": [ ]
}
], - "currency": "USD"
}
Response samples
- 200
- 400
- 401
- 409
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "currency": "USD",
- "purchaseEffectiveDate": "1577750400000",
- "name": "Prospect N1",
- "status": "OPEN",
- "items": [
- {
- "id": "4ccf689b-4339-4fc9-a8b3-b05c5a87c1be",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "20",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}, - {
- "id": "dece524d-0466-4185-b3bb-1f8a300c37cd",
- "pricingPlanId": "80b85538-ffc1-4c4b-acb1-1bf87c8c2fc4",
- "units": [ ]
}
], - "availableActions": [
- "ADD_PRODUCT",
- "EDIT",
- "FINALIZE",
- "SET_CUSTOM_PRICE",
- "SET_CUSTOM_CONTRACT",
- "SET_PROVISIONING_DATE",
- "SET_BILLING_DATE",
- "CHANGE_OPPORTUNITY_OWNER"
], - "actionRestrictions": { }
}
List opportunities
Retrieve a list of opportunities. Returned opportunities are limited to role visibility: Marketplace Manager, Partner, Partner Read: all opportunities. Reseller Manager: all opportunities owned by Reseller companies. Reseller, SSR: all opportunities owned by the company to which the Reseller or SSR belongs. When users have multiple roles, visibility is the sum of visibility for all their roles. Additional filter parameters are available for some roles.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
query Parameters
ownerId | string Sales agent's user ID |
ownerCompanyId | string Sales agent's company ID, which defines which company owns opportunities. This is an optional filter to only return opportunities that the sale's agent's company owns. Only valid for Marketplace Manager, Reseller Manager, Partner, and Partner Read roles (invalid for Reseller and SSR roles because they can only see opportunities owned by their company). No opportunities are returned when the call is filtered by a company ID for which the user does not have access. |
customerId | string Customer's user ID |
customerCompanyId | string Customer's company ID |
context | string Enum: "RESELLER" "SSR" Optional. For Marketplace Manager, Partner, and Partner Read roles, filter the returned opportunities by those owned by SSRs or Resellers. |
status | string Enum: "OPEN" "CLOSED" "PENDING_REVIEW" Opportunity status |
purchaseEffectiveDate | Array of strings Opportunity purchase effective date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to' |
createdOn | Array of strings Opportunity creation date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; or lte([timestamp]) - 'less than or equal to' |
searchText | string General text search filter used for any ID (opportunity, sales agent, sales agent company, customer, or customer company) and opportunity name |
number | integer Default: 1 Page number |
size | integer Default: 10 Number of results per page |
sort | string Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities?ownerId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE&customerId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&context=SOME_STRING_VALUE&status=SOME_STRING_VALUE&purchaseEffectiveDate=SOME_ARRAY_VALUE&createdOn=SOME_ARRAY_VALUE&searchText=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE'
Response samples
- 200
- 403
{- "page": {
- "number": 1,
- "size": 10,
- "totalElements": 2,
- "totalPages": 1
}, - "content": [
- {
- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "name": "Prospect N1",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": 1557861989000,
- "purchaseEffectiveDate": 1577750400000,
- "status": "CLOSED",
- "ownerType": "PLATFORM_OWNER"
}, - {
- "id": "70826bb4-bb6c-43b8-9c39-2c4e481a8b5e",
- "name": null,
- "ownerUser": {
- "id": "d11cf5ef-6270-492f-9d2c-07fa01eeb5c2",
- "email": "jane.smith@globex.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "2",
- "name": "Globex Inc."
}
}, - "customerUser": {
- "id": "e0a6bec0-7e25-43a1-b601-6a8cec5a847f",
- "email": "gsymons@stark.com",
- "firstName": "Gary",
- "lastName": "Symons",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": 1557861989000,
- "purchaseEffectiveDate": null,
- "status": "OPEN",
- "ownerType": "PLATFORM_OWNER"
}
]
}
Remove opportunities
Removes a list of opportunities
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows Sales Support Representative access to opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
query Parameters
opportunityId required | Array of strings This parameter is required. The parameter lists the opportunity IDs. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities?opportunityId=SOME_ARRAY_VALUE'
Response samples
- 204
- 400
- 401
{ }
Get opportunity details
Read an opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D
Response samples
- 200
- 206
- 401
- 403
- 404
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "currency": "USD",
- "purchaseEffectiveDate": "1577750400000",
- "name": "Prospect N1",
- "status": "OPEN",
- "items": [
- {
- "id": "4ccf689b-4339-4fc9-a8b3-b05c5a87c1be",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "20",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}, - {
- "id": "dece524d-0466-4185-b3bb-1f8a300c37cd",
- "pricingPlanId": "80b85538-ffc1-4c4b-acb1-1bf87c8c2fc4",
- "units": [ ]
}
], - "availableActions": [
- "ADD_PRODUCT",
- "EDIT",
- "FINALIZE",
- "SET_CUSTOM_PRICE",
- "SET_CUSTOM_CONTRACT",
- "SET_PROVISIONING_DATE",
- "SET_BILLING_DATE",
- "CHANGE_OPPORTUNITY_OWNER"
], - "actionRestrictions": { }
}
Update opportunity
Updates an existing opportunity: name, purchase effective date and purchase custom attributes
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
Information about the opportunity being updated
name | string Opportunity name |
purchaseEffectiveDate | number Opportunity purchase effective date, in UNIX Epoch milliseconds |
object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "New opportunity",
- "purchaseEffectiveDate": 1577750400000,
- "purchaseCustomAttributes": {
- "paid_off_platform_contact": [
- "janet.doe@accounting.acme.com"
]
}
}
Response samples
- 200
- 401
- 403
- 404
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "currency": "USD",
- "purchaseEffectiveDate": "1577750400000",
- "name": "Prospect N1",
- "status": "OPEN",
- "items": [
- {
- "id": "4ccf689b-4339-4fc9-a8b3-b05c5a87c1be",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "20",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}, - {
- "id": "dece524d-0466-4185-b3bb-1f8a300c37cd",
- "pricingPlanId": "80b85538-ffc1-4c4b-acb1-1bf87c8c2fc4",
- "units": [ ]
}
], - "availableActions": [
- "ADD_PRODUCT",
- "EDIT",
- "FINALIZE",
- "SET_CUSTOM_PRICE",
- "SET_CUSTOM_CONTRACT",
- "SET_PROVISIONING_DATE",
- "SET_BILLING_DATE",
- "CHANGE_OPPORTUNITY_OWNER"
], - "actionRestrictions": { }
}
Add items
Add one or more items to an opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support for the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity. Role permissions are required to execute this action.
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
Information about the items being added to the opportunity. Request body must include either a product ID or pricing plan ID for each item. Item IDs are returned by the API after the items are added to the opportunity
id | string Item ID |
parentItemId | string The parent product's Product ID. Only relevant to and required for add-on products. |
pricingPlanId | string Pricing plan ID |
Array of objects (BillingConfiguration) List of units (quantity and type) associated with the item | |
productId | string Product ID |
object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array | |
object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array | |
object (ProvisioningConfiguration) Determines when to send the service activation request to the vendor, either immediately after the opportunity is finalized (set the provisioning strategy to IMMEDIATELY) or at a future date (set the provisioning strategy to CUSTOM and set the desired date). | |
object (BillingConfiguration) Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "pricingPlanId": "a22c03e9-9e27-4e85-8433-78f246345685",
- "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "jonh"
], - "lastname": [
- "doe"
], - "email": [
- "john.doe@acme.com"
]
}, - "provisioningConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
[- {
- "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
- "pricingPlanId": "a22c03e9-9e27-4e85-8433-78f246345685",
- "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "jonh"
], - "lastname": [
- "doe"
], - "email": [
- "john.doe@acme.com"
]
}, - "provisioningConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}
}
]
List items
Lists all items in an opportunity.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/items
Response samples
- 200
- 401
- 403
- 404
[- {
- "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
- "product": {
- "id": "cc0c7c28-ea65-4bab-8a4a-5e84d90ab291",
- "name": "Appsome Webapp",
- "type": "WEB_APP",
}, - "pricingPlan": {
- "id": "031d9ed2-3df1-44f5-876a-6b4318ba7bdb",
- "name": "Recurring Edition with Unlimited Included Users"
}, - "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "pricing": [
- {
- "costId": "cd3c7c22-sd64-4bag-8a4v-5e84d90ab291",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "priceRanges": [ ],
- "description": "RECURRING_FLAT",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costId": "kl3c7c24-sd33-4bui-8a4v-8u84d98ab333",
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "priceRanges": [ ],
- "description": "INCLUDED",
- "unit": "USER",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}, - "contractConfiguration": {
- "minimumServiceLength": 3,
- "minimumServiceLengthUnit": "MONTHLY",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 2
}, - "renewalConfiguration": "MONTH_TO_MONTH",
- "terminationFeeGracePeriod": 7,
- "terminationFeeGracePeriodUnit": "DAY",
- "contractCancellationPeriodLimit": null,
- "contractCancellationPeriodUnit": "NONE",
- "endOfContractGracePeriod": null,
- "endOfContractGracePeriodUnit": "INFINITY",
- "unitTerms": {
- "USER": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "blockContractUpgrades": false,
- "blockContractDowngrades": true,
- "blockSwitchToShorterContract": true,
- "keepContractDateOnPlanChange": false
}, - "provisioningConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}
}
]
Remove item
Removes an item from the opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
itemId required | string Item ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/items/%7BitemId%7D
Response samples
- 401
- 403
- 404
{- "status": 401,
- "code": "UNAUTHORIZED",
- "message": "HTTP 401 Unauthorized"
}
Edit item
Edit an item on the opportunity.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allow access as a Reseller to the opportunity. Role permissions are required to update, for example, custom prices, custom contracts, provisioning configuration, and billing configuration.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative to the opportunity. Role permissions are required to update, for example, custom prices, custom contracts, provisioning configuration, and billing configuration.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity. Role permissions are required to update, for example, custom prices.
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
itemId required | string Item ID |
Request Body schema: application/jsonrequired
Information about the item being edited
id | string Item ID |
pricingPlanId required | string Pricing plan ID |
Array of objects (Unit) List of units (quantity and type) associated with the item | |
Array of objects (CustomPrice) List of custom prices per cost | |
object (ContractConfiguration) Contract configuration options for subscriptions that customers purchase. For example: contract length and cancellation penalities. | |
object (ProvisioningConfiguration) Determines when to send the service activation request to the vendor, either immediately after the opportunity is finalized (set the provisioning strategy to IMMEDIATELY) or at a future date (set the provisioning strategy to CUSTOM and set the desired date). | |
object (BillingConfiguration) Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future. | |
object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array | |
object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
- "pricingPlanId": "a22c03e9-9e27-4e85-8433-78f246345685",
- "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "customPrices": [
- {
- "costId": "e5f403a3-7ba0-45d4-8117-8dd8cbceb6c6",
- "price": 100
}, - {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "contractConfiguration": {
- "minimumServiceLength": "3",
- "minimumServiceLengthUnit": "MONTHLY",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": "2"
}, - "renewalConfiguration": "MONTH_TO_MONTH",
- "terminationFeeGracePeriod": "7",
- "terminationFeeGracePeriodUnit": "DAY",
- "contractCancellationPeriodLimit": null,
- "contractCancellationPeriodUnit": "NONE",
- "endOfContractGracePeriod": null,
- "endOfContractGracePeriodUnit": "INFINITY",
- "unitTerms": {
- "USER": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "blockContractUpgrades": false,
- "blockContractDowngrades": true,
- "blockSwitchToShorterContract": true,
- "keepContractDateOnPlanChange": false
}, - "provisioningConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
{- "id": "37f56046-2cec-4bf4-a4e2-5a733dc849a9",
- "product": {
- "id": "cc0c7c28-ea65-4bab-8a4a-5e84d90ab291",
- "name": "Appsome Webapp",
- "type": "WEB_APP",
}, - "pricingPlan": {
- "id": "031d9ed2-3df1-44f5-876a-6b4318ba7bdb",
- "name": "Recurring Edition with Unlimited Included Users"
}, - "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "pricing": [
- {
- "costId": "cd3c7c22-sd64-4bag-8a4v-5e84d90ab291",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "priceRanges": [ ],
- "description": "RECURRING_FLAT",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costId": "kl3c7c24-sd33-4bui-8a4v-8u84d98ab333",
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "priceRanges": [ ],
- "description": "INCLUDED",
- "unit": "USER",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}, - "contractConfiguration": {
- "minimumServiceLength": "3",
- "minimumServiceLengthUnit": "MONTHLY",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": "2"
}, - "renewalConfiguration": "MONTH_TO_MONTH",
- "terminationFeeGracePeriod": "7",
- "terminationFeeGracePeriodUnit": "DAY",
- "contractCancellationPeriodLimit": null,
- "contractCancellationPeriodUnit": "NONE",
- "endOfContractGracePeriod": null,
- "endOfContractGracePeriodUnit": "INFINITY",
- "unitTerms": {
- "USER": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "blockContractUpgrades": false,
- "blockContractDowngrades": true,
- "blockSwitchToShorterContract": true,
- "keepContractDateOnPlanChange": false
}, - "provisioningConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}
}
Finalize opportunity
Finalize an opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity. Role permissions are required to execute this action.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity. Role permissions are required to execute this action.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity. Role permissions are required to execute this action.
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/assistedSales/v2/opportunities/%7BopportunityId%7D/finalize
Response samples
- 202
- 401
- 403
- 404
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "currency": "USD",
- "name": "Prospect N1",
- "status": "PROCESSING",
- "items": [
- {
- "id": "4ccf689b-4339-4fc9-a8b3-b05c5a87c1be",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "20",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}, - {
- "id": "dece524d-0466-4185-b3bb-1f8a300c37cd",
- "pricingPlanId": "80b85538-ffc1-4c4b-acb1-1bf87c8c2fc4",
- "units": [ ]
}
], - "availableActions": [ ]
}
Request opportunity review
Submit the opportunity to the manager for review. After it is submitted, the sales agent cannot modify the opportunity. Managers can still modify and finalize it.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity. Role permmission required to execute this action.
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/requestReview
Response samples
- 200
- 401
- 403
- 404
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "1",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "currency": "USD",
- "purchaseEffectiveDate": "1577750400000",
- "name": "Prospect N1",
- "status": "PENDING_REVIEW",
- "items": [
- {
- "id": "4ccf689b-4339-4fc9-a8b3-b05c5a87c1be",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "20",
- "unit": "USER"
}
], - "subscriptionCustomAttributes": {
- "intended_os": [
- "other",
- "ios",
- "macos"
], - "sales_agent_id": [
- "R353113R"
]
}, - "vendorRequiredFields": {
- "name": [
- "John"
], - "lastname": [
- "Doe"
], - "email": [
- "john.doe@acme.com"
]
}
}, - {
- "id": "dece524d-0466-4185-b3bb-1f8a300c37cd",
- "pricingPlanId": "80b85538-ffc1-4c4b-acb1-1bf87c8c2fc4",
- "units": [ ]
}
], - "availableActions": [ ]
}
Get opportunity summary
Read the pricing summary of an opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/summary
Response samples
- 200
- 401
- 403
- 404
{- "amountDueBeforeTax": "11.0000000000",
- "taxSummary": [
- {
- "description": "Flat Tax",
- "taxAmount": "2.0000000000"
}
], - "amountDueAfterTax": "13.0000000000",
- "items": [
- {
- "id": "c57331b7-0820-44ac-ad75-ee4ab2783b7c",
- "product": {
- "id": "fa776d2e-cda5-4256-9a27-125a0fe3f448",
- "name": "Supported Product for Opportunity MVP",
- "type": "WEB_APP_STACKED",
- "isAddon": false,
- "hasAddons": false
}, - "pricingPlan": {
- "id": "7e1fd1fa-de0e-49e9-9e6a-9c474c57f22d",
- "name": "Tiered monthly+yearly flat with included YEARLY",
- "editionCode": "Tiered monthly+yearly flat with included"
}, - "pricing": [
- {
- "costType": "RECURRING_FLAT",
- "description": "Tiered monthly+yearly flat with included",
- "quantity": "1.0000000000",
- "totalSalePrice": "240.0000000000"
}, - {
- "costType": "INCLUDED",
- "description": "INCLUDED",
- "quantity": "1.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "contractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "YEARLY",
- "unitTerms": { },
- "blockContractUpgrades": true,
- "blockContractDowngrades": true,
- "blockSwitchToShorterContract": true,
- "keepContractDateOnPlanChange": true
}, - "unitDefinitions": [
- {
- "unit": "USER",
- "minimum": "1.0000000000",
- "meteredUsage": false,
- "allowDecimals": false,
- "readOnly": true,
- "pricePerIncrement": false
}
]
}
], - "recurringTotals": [
- {
- "billingCycle": {
- "period": "YEARLY",
- "dayOfMonth": 17
}, - "totalSalePrice": "240.0000000000"
}
]
}
Get opportunity pricing plan costs
Read initial costs for a pricing plan of an opportunity item.
'Required: Accept-Language' header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
query Parameters
pricingPlanId required | string Pricing plan ID |
currency required | string Opportunity currency, using the ISO-4217 currency code |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/pricingPlanCosts?pricingPlanId=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE'
Response samples
- 200
- 401
- 403
- 404
{- "pricingPlanId": "a01c46d4-8925-4719-a891-2c036e2216a1",
- "pricing": [
- {
- "costId": "0121502b-0bac-4927-825c-d1f6c19e79c7",
- "costTypeCategory": "ONE_TIME",
- "frequency": "ONE_TIME",
- "costType": "CONTRACT_FEE",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Contract charge",
- "unit": "CONTRACT_FEE",
- "quantity": "1.0000000000",
- "salePrice": "300.0000000000",
- "wholesalePrice": "300.0000000000",
- "totalSalePrice": "300.0000000000"
}, - {
- "costId": "78092def-eeb6-42dc-917e-182e38b53d16",
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Recurring monthly flat+ppu+ot with contract+ot+tf with included",
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "wholesalePrice": "10.0000000000",
- "totalSalePrice": "10.0000000000"
}, - {
- "costId": "ea5b596d-950f-427b-87d0-7c82340b468b",
- "costTypeCategory": "ONE_TIME",
- "frequency": "ONE_TIME",
- "costType": "SETUP_FEE",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Recurring monthly flat+ppu+ot with contract+ot+tf with included",
- "quantity": "1.0000000000",
- "salePrice": "100.0000000000",
- "wholesalePrice": "100.0000000000",
- "totalSalePrice": "100.0000000000"
}, - {
- "costId": "6160b953-88f7-49ec-a90d-aef0f9ae5d17",
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "RECURRING_PER_UNIT",
- "pricingStrategy": "UNIT",
- "priceRanges": [
- {
- "min": "0.0000000000"
}
], - "description": "Per User Fee",
- "unit": "USER",
- "quantity": "0.0000000000",
- "salePrice": "8.5000000000",
- "wholesalePrice": "8.5000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "INCLUDED",
- "pricingStrategy": "UNIT",
- "priceRanges": [
- {
- "min": "1.0000000000",
- "max": "1.0000000000"
}
], - "description": "INCLUDED",
- "unit": "USER",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "contractConfiguration": {
- "minimumServiceLength": 12,
- "minimumServiceLengthUnit": "MONTHLY",
- "renewalConfiguration": "AUTO_RENEW",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 400,
- "description": "Termination fee!"
}, - "terminationFeeGracePeriodUnit": "NONE",
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodUnit": "NONE",
- "unitTerms": { },
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "isDefault": true
}, - "unitDefinitions": [
- {
- "unit": "USER",
- "minimum": "1.0000000000",
- "meteredUsage": false,
- "allowDecimals": false,
- "readOnly": false,
- "quantity": "1.0000000000",
- "increment": 1,
- "pricePerIncrement": false
}
]
}
Get opportunity pricing plan costs without specifying an opportunity
Read initial costs for a pricing plan of an opportunity item without specifying an opportunity.
'Required: Accept-Language' header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as Partner to the opportunity
query Parameters
pricingPlanId required | string Pricing plan ID |
ownerId required | string Sales agent's user ID |
ownerCompanyId required | string Sales agent's company ID |
currency required | string Opportunity currency, using the ISO-4217 currency code |
header Parameters
Accept-Language required | string Locale. Format: 'en-US' |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/pricingPlanCosts?pricingPlanId=SOME_STRING_VALUE&ownerId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE' \ --header 'Accept-Language: SOME_STRING_VALUE'
Response samples
- 200
- 400
- 403
{- "pricingPlanId": "a01c46d4-8925-4719-a891-2c036e2216a1",
- "pricing": [
- {
- "costId": "0121502b-0bac-4927-825c-d1f6c19e79c7",
- "costTypeCategory": "ONE_TIME",
- "frequency": "ONE_TIME",
- "costType": "CONTRACT_FEE",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Contract charge",
- "unit": "CONTRACT_FEE",
- "quantity": "1.0000000000",
- "salePrice": "300.0000000000",
- "wholesalePrice": "300.0000000000",
- "totalSalePrice": "300.0000000000"
}, - {
- "costId": "78092def-eeb6-42dc-917e-182e38b53d16",
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Recurring monthly flat+ppu+ot with contract+ot+tf with included",
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "wholesalePrice": "10.0000000000",
- "totalSalePrice": "10.0000000000"
}, - {
- "costId": "ea5b596d-950f-427b-87d0-7c82340b468b",
- "costTypeCategory": "ONE_TIME",
- "frequency": "ONE_TIME",
- "costType": "SETUP_FEE",
- "pricingStrategy": "FLAT",
- "priceRanges": [ ],
- "description": "Recurring monthly flat+ppu+ot with contract+ot+tf with included",
- "quantity": "1.0000000000",
- "salePrice": "100.0000000000",
- "wholesalePrice": "100.0000000000",
- "totalSalePrice": "100.0000000000"
}, - {
- "costId": "6160b953-88f7-49ec-a90d-aef0f9ae5d17",
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "RECURRING_PER_UNIT",
- "pricingStrategy": "UNIT",
- "priceRanges": [
- {
- "min": "0.0000000000"
}
], - "description": "Per User Fee",
- "unit": "USER",
- "quantity": "0.0000000000",
- "salePrice": "8.5000000000",
- "wholesalePrice": "8.5000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "frequency": "MONTHLY",
- "costType": "INCLUDED",
- "pricingStrategy": "UNIT",
- "priceRanges": [
- {
- "min": "1.0000000000",
- "max": "1.0000000000"
}
], - "description": "INCLUDED",
- "unit": "USER",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "wholesalePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "contractConfiguration": {
- "minimumServiceLength": 12,
- "minimumServiceLengthUnit": "MONTHLY",
- "renewalConfiguration": "AUTO_RENEW",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 400,
- "description": "Termination fee!"
}, - "terminationFeeGracePeriodUnit": "NONE",
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodUnit": "NONE",
- "unitTerms": { },
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "isDefault": true
}, - "unitDefinitions": [
- {
- "unit": "USER",
- "minimum": "1.0000000000",
- "meteredUsage": false,
- "allowDecimals": false,
- "readOnly": false,
- "quantity": "1.0000000000",
- "increment": 1,
- "pricePerIncrement": false
}
]
}
Change opportunity owner
Changes the owner of an opportunity. When the owner changes, all products are removed from the opportunity.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
Information about the new owner of the opportunity
ownerId required | string The unique user ID of the owner |
ownerCompanyId required | string The unique company ID of the owner |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3"
}
Response samples
- 200
- 400
- 401
- 403
- 404
{- "id": "ef6c414f-39da-401f-a4b8-81adc6190fda",
- "ownerUser": {
- "id": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3",
- "name": "Acme Corp."
}
}, - "customerUser": {
- "id": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "100",
- "name": "Customer Company"
}
}, - "createdOn": "1546300800000",
- "status": "OPEN",
- "availableActions": [
- "ADD_PRODUCT"
], - "actionRestrictions": { }
}
Retrieve validation results
Retrieve the latest validation results for an opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
query Parameters
enforce | boolean Indicates that a new validation must be executed and returned |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/validation?enforce=SOME_BOOLEAN_VALUE'
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "blockingErrors": [
- {
- "itemId": "f9b31739-ee52-42dd-bd3c-44d40d4875f9",
- "code": "ASSOCIATION_VALIDATION_API_ERROR",
- "message": "Invalid parent product",
- "messageParameters": [ ]
}, - {
- "itemId": "eb690c8d-1c57-497c-82bf-a4194362d954",
- "code": "REQUIRED_FIELD_VALIDATION_ERROR",
- "message": "There are validation errors",
- "messageParameters": [
- {
- "key": "REQUIRED_FIELD_KEY",
- "value": "DOMAIN"
}, - {
- "key": "REQUIRED_FIELD_ERROR_MESSAGE",
- "value": "The domain is not valid"
}
]
}, - {
- "itemId": "eb690c8d-1c57-497c-82bf-a4194362d954",
- "code": "REQUIRED_FIELD_VALIDATION_ERROR",
- "message": "There are validation errors",
- "messageParameters": [
- {
- "key": "REQUIRED_FIELD_KEY",
- "value": "USERNAME"
}, - {
- "key": "REQUIRED_FIELD_ERROR_MESSAGE",
- "value": "The username is not valid"
}
]
}
], - "pendingValidations": [
- "SUBSCRIPTION_VALIDATIONS"
]
}
Required field definitions
For a customer/sales agent combination, returns the vendor-required fields for one or more products, and a description of the fields. Request can be made before or after an opportunity is created. It returns the fields that will be required, and any values previously saved on the AppDirect platform that can be prepopulated when an opportunity is created. It does not return required field values edited, added, or saved with an opportunity.
Some vendors (for example, Microsoft) have business rules that exclude required fields from the response when the vendor already has the information stored on their platform for the customer/sales agent/product combination.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
query Parameters
userId required | string Customer's unique identifier |
companyId required | string Customer's company's unique identifier |
salesAgentUserId required | string Sales agent's unique user identifier |
salesAgentCompanyId required | string Sales agent's company's unique identifier |
header Parameters
Accept-Language required | string Locale. Format: 'en-US' |
Request Body schema: application/jsonrequired
List of product IDs for which to retrieve required field details. Required: editionID and productID.
productId required | string The product ID |
editionId required | string The edition code |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "productId": "dfc9cefb-610b-4e49-ade8-6ae51a4d35c9",
- "editionId": "EDITION_CODE"
}
]
Response samples
- 200
- 400
- 401
- 404
{- "productId": "dfc9cefb-610b-4e49-ade8-6ae51a4d35c9",
- "editionId": "EDITION_CODE",
- "forms": [
- {
- "isvIdentifier": "ISV",
- "context": "CART_LEVEL",
- "title": "Additional Information",
- "subTitle": "Additional Information Subtitle",
- "fields": [
- {
- "inputCode": "FirstName",
- "inputTitle": "First name",
- "subTitle": "",
- "tooltip": "",
- "value": "John",
- "fieldType": "TEXT",
- "validations": {
- "required": true,
- "readonly": false,
- "minLength": "2",
- "maxLength": "255",
- "expression": "^[A-Za-z]+(((\\'|\\-|\\.(\\s)?|\\,(\\s)?|\\s)?([A-Za-z])+))*$"
}, - "options": {
- "suffix": {
- "text": "",
- "inputCode": ""
}
}
}, - {
- "inputCode": "Address/ISO3Country",
- "inputTitle": "Country",
- "subTitle": "",
- "tooltip": "",
- "value": "USA",
- "fieldType": "COUNTRY",
- "validations": {
- "required": true,
- "readonly": false,
- "minLength": "2",
- "maxLength": "3",
- "expression": "^[A-Za-z]{2}$"
}, - "options": {
- "suffix": {
- "text": ""
}, - "placeholder": ""
}
}, - {
- "inputCode": "SubDomain",
- "inputTitle": "Your primary domain name",
- "subTitle": "",
- "tooltip": "Your subdomain and domain names. For example: When subdomain=movies, and domain=entertainment.com, the subdomain value is: movies.entertainment.com",
- "value": "",
- "fieldType": "TEXT",
- "validations": {
- "required": true,
- "readonly": false,
- "minLength": "1",
- "maxLength": "255",
- "expression": "^([^\\W|http(s?)://][a-zA-Z]+)(\\.[a-zA-Z]+)*"
}, - "options": {
- "suffix": {
- "text": ".thedomain.com",
- "inputCode": ""
}, - "placeholder": "movies.entertainment.com"
}
}
]
}
]
}
Apply discount
Apply a discount to an opportunity. More than one discount (one per call) can be applied to an opportunity. The response is an updated opportunity summary. The discount is applied to all eligible products. However, redemption limits apply. When the redemption limits exceed the contents of the opportunity, the discount is not applied.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
The discount to be applied
discountCode | string The discount code can be a combination of letters, numbers, and special characters |
itemIds | Array of strings The opportunity's item IDs to which the discount is applied or removed |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "discountCode": "10%OFF",
- "itemIds": [
- "166e0ce6-4309-4a16-ac9b-61bea7ce1cbc",
- "fa776d2e-cda5-4256-9a27-125a0fe3f448"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 410
{- "amountDueBeforeTax": "-8.0000000000",
- "taxSummary": [ ],
- "amountDueAfterTax": "-8.0000000000",
- "items": [
- {
- "id": "ea1e0548-888b-402a-8cbc-1e3c6754a2bd",
- "discount": {
- "description": "10% off, applicable to all products",
- "code": "DISCOUNT_ABC"
}, - "product": {
- "id": "fa776d2e-cda5-4256-9a27-125a0fe3f448",
- "name": "Supported Product for Opportunity MVP",
- "type": "WEB_APP_STACKED",
- "isAddon": false,
- "hasAddons": false
}, - "pricingPlan": {
- "id": "19c06143-b21c-43c4-b236-eeca61512753",
- "name": "Gold plan",
- "editionCode": "1"
}, - "pricing": [
- {
- "costType": "RECURRING_FLAT",
- "description": "Gold plan",
- "quantity": "1.0000000000",
- "totalSalePrice": "12.0000000000"
}, - {
- "costType": "INCLUDED",
- "description": "INCLUDED",
- "quantity": "1.0000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costType": "DISCOUNT_FLAT",
- "description": "10% off, applicable to all products",
- "quantity": "1.0000000000",
- "totalSalePrice": "-20.0000000000"
}
], - "unitDefinitions": [
- {
- "unit": "USER",
- "minimum": "1.0000000000",
- "meteredUsage": false,
- "allowDecimals": false,
- "readOnly": true,
- "pricePerIncrement": false
}
]
}
], - "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 10
}, - "totalSalePrice": "-8.0000000000"
}
]
}
Remove discount
Remove a discount from an opportunity. The response is an updated opportunity summary.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allow access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
The discount to be removed
discountCode | string The discount code can be a combination of letters, numbers, and special characters |
itemIds | Array of strings The opportunity's item IDs to which the discount is applied or removed |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "discountCode": "10%OFF",
- "itemIds": [
- "166e0ce6-4309-4a16-ac9b-61bea7ce1cbc",
- "fa776d2e-cda5-4256-9a27-125a0fe3f448"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
{- "amountDueBeforeTax": "11.0000000000",
- "taxSummary": [
- {
- "description": "Flat Tax",
- "taxAmount": "2.0000000000"
}
], - "amountDueAfterTax": "13.0000000000",
- "items": [
- {
- "id": "c57331b7-0820-44ac-ad75-ee4ab2783b7c",
- "product": {
- "id": "fa776d2e-cda5-4256-9a27-125a0fe3f448",
- "name": "Supported Product for Opportunity MVP",
- "type": "WEB_APP_STACKED",
- "isAddon": false,
- "hasAddons": false
}, - "pricingPlan": {
- "id": "7e1fd1fa-de0e-49e9-9e6a-9c474c57f22d",
- "name": "Tiered monthly+yearly flat with included YEARLY",
- "editionCode": "Tiered monthly+yearly flat with included"
}, - "pricing": [
- {
- "costType": "RECURRING_FLAT",
- "description": "Tiered monthly+yearly flat with included",
- "quantity": "1.0000000000",
- "totalSalePrice": "240.0000000000"
}, - {
- "costType": "INCLUDED",
- "description": "INCLUDED",
- "quantity": "1.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "contractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "YEARLY",
- "unitTerms": { },
- "blockContractUpgrades": true,
- "blockContractDowngrades": true,
- "blockSwitchToShorterContract": true,
- "keepContractDateOnPlanChange": true
}, - "unitDefinitions": [
- {
- "unit": "USER",
- "minimum": "1.0000000000",
- "meteredUsage": false,
- "allowDecimals": false,
- "readOnly": true,
- "pricePerIncrement": false
}
]
}
], - "recurringTotals": [
- {
- "billingCycle": {
- "period": "YEARLY",
- "dayOfMonth": 17
}, - "totalSalePrice": "240.0000000000"
}
]
}
Update required fields
Update required fields for all products from the same vendor on an opportunity, with identical required field values.
When a vendor requires the same required fields for all products (also known as vendor 'cart level' required fields), the required field values must be identical for all the vendor's products on an opportunity. To ensure all values remain identical, always include the itemIds for all the vendor's products on the opportunity in the array, even if required field values are already saved for some items.
Warning: Previously saved required field values for the items in the array will be removed.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
Required fields update request with the item IDs to be updated and required field values. Required.
itemIds required | Array of strings IDs of the items to be updated |
required | object (CustomAttribute) Custom attributes as key-value pairs. Values must be a string array |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "itemIds": [
- "a11b60a8-a16a-4aaf-8696-dadb738496fa",
- "eb690c8d-1c57-497c-82bf-a4194362d954"
], - "requiredFields": {
- "SubDomain": [
- "acme.entertainment.com"
], - "UserPrincipleName": [
- "john.smith"
], - "AlternateEmail": [
- "secondary@acme.com"
], - "FirstName": [
- "John"
], - "LastName": [
- "Smith"
], - "BusinessName": [
- "Acme Corp"
], - "Address/ISO3Country": [
- "USA"
], - "Address/Line1": [
- "Main Street 465"
], - "Address/Line2": [
- ""
], - "Address/City": [
- "Greenbow"
], - "Address/State": [
- "AL"
], - "Address/PostalCode": [
- "50505"
], - "Address/PhoneNumber": [
- "5417543010"
], - "ConsentUser/FirstName": [
- "John"
], - "ConsentUser/LastName": [
- "Smith"
], - "ConsentUser/Email": [
- "john.smith@acme.com"
], - "ConsentUser/PhoneNumber": [
- "5417543010"
], - "DateConsentConfirmed": [
- "2021-06-02T00:00:00Z"
]
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
[- {
- "id": "a11b60a8-a16a-4aaf-8696-dadb738496fa",
- "pricingPlanId": "a22c03e9-9e27-4e85-8433-78f246345685",
- "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "vendorRequiredFields": {
- "SubDomain": [
- "acme.entertainment.com"
], - "UserPrincipleName": [
- "john.smith"
], - "AlternateEmail": [
- "secondary@acme.com"
], - "FirstName": [
- "John"
], - "LastName": [
- "Smith"
], - "BusinessName": [
- "Acme Corp"
], - "Address/ISO3Country": [
- "USA"
], - "Address/Line1": [
- "Main Street 465"
], - "Address/Line2": [
- ""
], - "Address/City": [
- "Greenbow"
], - "Address/State": [
- "AL"
], - "Address/PostalCode": [
- "50505"
], - "Address/PhoneNumber": [
- "5417543010"
], - "ConsentUser/FirstName": [
- "John"
], - "ConsentUser/LastName": [
- "Smith"
], - "ConsentUser/Email": [
- "john.smith@acme.com"
], - "ConsentUser/PhoneNumber": [
- "5417543010"
], - "DateConsentConfirmed": [
- "2021-06-02T00:00:00Z"
]
}
}, - {
- "id": "eb690c8d-1c57-497c-82bf-a4194362d954",
- "pricingPlanId": "4bc864b5-f63f-4933-be19-3700aa9a8cc4",
- "units": [
- {
- "quantity": "8",
- "unit": "USER"
}
], - "vendorRequiredFields": {
- "SubDomain": [
- "acme.entertainment.com"
], - "UserPrincipleName": [
- "john.smith"
], - "AlternateEmail": [
- "secondary@acme.com"
], - "FirstName": [
- "John"
], - "LastName": [
- "Smith"
], - "BusinessName": [
- "Acme Corp"
], - "Address/ISO3Country": [
- "USA"
], - "Address/Line1": [
- "Main Street 465"
], - "Address/Line2": [
- ""
], - "Address/City": [
- "Greenbow"
], - "Address/State": [
- "AL"
], - "Address/PostalCode": [
- "50505"
], - "Address/PhoneNumber": [
- "5417543010"
], - "ConsentUser/FirstName": [
- "John"
], - "ConsentUser/LastName": [
- "Smith"
], - "ConsentUser/Email": [
- "john.smith@acme.com"
], - "ConsentUser/PhoneNumber": [
- "5417543010"
], - "DateConsentConfirmed": [
- "2021-06-02T00:00:00Z"
]
}
}
]
Get shipping address
Retrieve the shipping address for the opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
ROLE_PARTNER_READ
-Allows read access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/%7BopportunityId%7D/shipping
Response samples
- 200
- 401
- 403
- 404
{- "sameAsBillingAddress": false,
- "deliveryAddress": {
- "name": "John Smith",
- "city": "Greenbow",
- "addressLine1": "Main Street 446",
- "countryCode": "US",
- "subdivisionCode": "AL",
- "postalCode": "50505"
}
}
Create or replace shipping address
Create or replace a shipping address for physical goods that require one on an opportunity. There is one shipping address per opportunity.
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
The shipping address information
sameAsBillingAddress | boolean Whether customer requests to use billing address as shipping address. WARNING: Does not manage addresses; does not change shipping address to billing address, nor update shipping address if billing address changes. |
object (DeliveryAddress) The shipping address |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "sameAsBillingAddress": false,
- "deliveryAddress": {
- "name": "John Smith",
- "city": "Greenbow",
- "addressLine1": "Main Street 446",
- "countryCode": "US",
- "subdivisionCode": "AL",
- "postalCode": "50505"
}
}
Response samples
- 200
- 400
- 401
- 404
- 409
{- "sameAsBillingAddress": false,
- "deliveryAddress": {
- "name": "John Smith",
- "city": "Greenbow",
- "addressLine1": "Main Street 446",
- "countryCode": "US",
- "subdivisionCode": "AL",
- "postalCode": "50505"
}
}
Clone opportunity
Clone an existing opportunity
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as a Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
ROLE_PARTNER
-Allows access as a Partner to the opportunity
path Parameters
opportunityId required | string Opportunity ID |
Request Body schema: application/jsonrequired
Parameters to be used when cloning the opportunity
name required | string The name of the opportunity |
customerCompanyId required | string The company ID of the customer |
customerId required | string The user ID of the customer |
ownerCompanyId required | string The company ID of the sales agent |
ownerId required | string The user ID of the sales agent |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Opportunity name - COPY",
- "customerCompanyId": "498c62ea-ad14-48e6-96ce-5400c617444c",
- "customerId": "505f0a0c-57a7-4d9e-9fac-66bbf557ac4d",
- "ownerCompanyId": "6a62244e-aa2f-461b-8c7a-3a0e091be9d3",
- "ownerId": "d781ac09-b4fe-4d57-8ba2-4640fc5b7c49"
}
Response samples
- 202
- 400
- 401
- 403
- 404
{- "opportunityId": "498c62ea-ad14-48e6-96ce-5400c617444c"
}
List all payment instruments for a user
List all of the payment instruments for the given user
path Parameters
companyId required | string User's company UUID |
userId required | string User UUID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/paymentInstruments
Response samples
- 200
Create a payment instrument
Create a payment instrument for the given user and company using the provided data
path Parameters
companyId required | string User's company UUID |
userId required | string User UUID |
Request Body schema:
Payment instrument data object
accountDisplay | string [ 0 .. 255 ] characters Account display text. |
object (BillingAddressWS) | |
object or null (LinkWS) | |
createdOn | number Payment instrument creation date. |
object (CreditCard) | |
id | string ID |
isDefault | boolean True if this payment instrument is the default. |
paymentMethod | string (PaymentMethod) Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS" The supported payment methods |
object or null (LinkWS) | |
vatId | string VAT ID. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
Update a payment instrument
Update the payment instrument for the given user and company using the provided data
path Parameters
companyId required | string User's company UUID |
paymentInstrumentId required | string Existing payment instrument UUID |
userId required | string User UUID |
Request Body schema:
Payment instrument data object
accountDisplay | string [ 0 .. 255 ] characters Account display text. |
object (BillingAddressWS) | |
object or null (LinkWS) | |
createdOn | number Payment instrument creation date. |
object (CreditCard) | |
id | string ID |
isDefault | boolean True if this payment instrument is the default. |
paymentMethod | string (PaymentMethod) Enum: "CREDIT_CARD" "PAYPAL" "MANUAL" "EXTERNAL_INVOICE" "MARKETPLACE_CREDITS" The supported payment methods |
object or null (LinkWS) | |
vatId | string VAT ID. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Retrieve the default payment instrument
Retrieve the default payment instrument for a given user and company
query Parameters
companyUuid | string User's company UUID |
userUuid | string User's UUID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/default?companyUuid=SOME_STRING_VALUE&userUuid=SOME_STRING_VALUE'
Response samples
- 200
{- "id": "ce6266c9-7939-42ee-8cdb-a7a2bc240be4",
- "company": {
- "id": "81ae9b52-f6d6-446e-a1b7-7107998cb4e0",
}, - "user": {
- "id": "b665be4f-42a8-47d8-bebc-8e2387fb86d8",
}, - "accountDisplay": "1111",
- "paymentMethod": "CREDIT_CARD",
- "billingAddress": {
- "street1": "50 Grove St.",
- "street2": "500 Grove St.",
- "city": "Somerville",
- "state": "Massachusetts",
- "zip": "02114",
- "country": "US",
- "firstName": "John",
- "lastName": "Doe",
- "companyName": "AppDirect",
- "phone": "9999999999"
}, - "creditCard": {
- "number": "333",
- "securityCode": "333",
- "name": "John Doe",
- "expirationMonth": 12,
- "expirationYear": 2016,
- "type": "VISA"
}, - "createdOn": 1481065767448,
- "default": false
}
Retrieve a payment instrument
path Parameters
paymentInstrumentId required | string Payment Instrument Id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/%7BpaymentInstrumentId%7D
Response samples
- 200
Delete a payment instrument
Delete a payment instrument
path Parameters
paymentInstrumentId required | string Payment Instrument Id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/billing/v1/paymentInstruments/%7BpaymentInstrumentId%7D
Tokenize payment methods
Calls the payment gateway to validate the payment method, which is not yet associated with a user. A front-end should call this endpoint directly, not a back-end. Requires a public developer key (use the AD-Public-Developer-Key header), which you must obtain from AppDirect.
header Parameters
AD-Public-Developer-Key required | string |
Request Body schema: application/jsonrequired
The payment method to tokenize
paymentMethodType required | string The type of payment method, such as CARD, BANKACCOUNT, and so on. |
required | object The properties of the payment method, as listed in getPaymentMethodTypes |
required | object (BillingAddress) Billing address |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "paymentMethodType": "CARD",
- "properties": {
- "number": "4111111111111111",
- "cardHolderName": "John Smith",
- "expirationMonth": "5",
- "expirationYear": "2019",
- "brand": "VISA",
- "securityCode": "123"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}
Response samples
- 200
- 400
- 500
- 502
- 504
{- "id": "pm_0838a859-dfa6-4863-aa38-042d50a9e69a",
- "expiration": "2018-04-112T19:15:00Z",
- "paymentMethod": {
- "accountDisplay": "1111",
- "paymentMethodType": "CARD",
- "properties": {
- "cardHolderName": "John Smith",
- "expirationMonth": "5",
- "expirationYear": "2019",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}
}
List payment methods for a user
Returns all available payment methods for the specified user in the specified company.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read all marketplace data.
query Parameters
ownerId required | string ID of the user whose payment method you want to retrieve |
companyId required | string ID of the company of which the user is a member |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'
Response samples
- 200
- 500
[- {
- "id": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7",
- "default": false,
- "accountDisplay": "1111",
- "paymentMethodType": "CARD",
- "properties": {
- "cardHolderName": "John Smith",
- "expirationMonth": "5",
- "expirationYear": "2019",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}, - {
- "id": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7",
- "default": false,
- "accountDisplay": "11111111",
- "paymentMethodType": "BANKACCOUNT",
- "properties": {
- "accountNumber": "11111111",
- "routingNumber": "123456789",
- "accountType": "CHECKING",
- "isCorporateAccount": "false",
- "firstName": "John",
- "lastname": "Smith"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}, - {
- "id": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7",
- "default": false,
- "accountDisplay": "5555555555",
- "paymentMethodType": "MYRANDOMTYPE",
- "properties": {
- "msisdn": "5555555555"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}
]
Create payment methods using a token OR by providing all of the payment method data
When using a token, the validated payment method is assigned to the current user on the current marketplace. When providing all of the payment method data, the payment gateway is called, and the payment method is validated and assigned to the user.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to create a payment method with a token.
ROLE_USER
-Allows access to create a payment method with a full payload.
Request Body schema: application/jsonrequired
ownerId required | string [ 0 .. 255 ] characters The ID of the user who owns the payment method. |
companyId required | string [ 0 .. 255 ] characters The ID of the company in which to create the payment method. |
token | string [ 0 .. 255 ] characters Token of the payment method, as returned by createPaymentMethodToken. Required when creating a payment method from a token, not applicable when creating it from payment method data. |
paymentMethodType | string The type of payment method, such as CARD, BANKACCOUNT, and so on. Required when creating a payment method from payment method data, not applicable when creating it from token. |
object The properties of the payment method, as listed in getPaymentMethodTypes Required when creating a payment method from payment method data, not applicable when creating it from token. | |
object (BillingAddress) Billing address |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ownerId": "40e8af95-4caf-415a-96d9-7b023207b535",
- "companyId": "9c130291-cf29-4272-8005-a280b1e81388",
- "token": "pm_0838a859-dfa6-4863-aa38-042d50a9e69a"
}
Response samples
- 200
- 400
- 500
- 502
- 504
{- "id": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7",
- "accountDisplay": "1111",
- "default": true,
- "paymentMethodType": "CARD",
- "properties": {
- "cardHolderName": "John Smith",
- "expirationMonth": "5",
- "expirationYear": "2019",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "279 Prince St",
- "city": "Montreal",
- "state": "Quebec",
- "country": "CA",
- "zip": "H3C 2N4"
}
}
Delete payment methods
The payment method is deleted from the system and cannot be used anymore.
path Parameters
paymentMethodId required | string The Payment Method ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods/%7BpaymentMethodId%7D
Response samples
- 500
- 502
- 504
{- "status": 500,
- "code": "INTERNAL_SERVER_ERROR"
}
List default payment methods
Returns the default payment methods for the specified user in the specified company
Required Scopes and Authorization Rules
ROLE_USER
-Allows access to get default payment method(s).
query Parameters
ownerId required | string ID of the user whose default payment method you want to retrieve |
companyId required | string ID of the company of which the user is a member |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appMarket/v2/paymentMethods/defaults?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE'
Response samples
- 200
- 500
- 502
- 504
[- {
- "paymentMethodId": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7"
}
]
Set default payment methods
Sets a default payment method for the specified user
Required Scopes and Authorization Rules
ROLE_USER
-Allows access to set default payment method(s).
Request Body schema: application/jsonrequired
ownerId required | string [ 0 .. 255 ] characters ID of the user who owns the default payment method |
companyId required | string [ 0 .. 255 ] characters ID of the company of which the user is a member |
paymentMethodId required | string [ 0 .. 255 ] characters ID of the default payment method |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ownerId": "40e8af95-4caf-415a-96d9-7b023207b535",
- "companyId": "9c130291-cf29-4272-8005-a280b1e81388",
- "paymentMethodId": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7"
}
Response samples
- 200
- 400
- 500
- 502
- 504
[- {
- "paymentMethodId": "e35c2f85-ef92-4a8f-89f0-45b62fb95fa7"
}
]
Returns all supported Payment Method Types
Returns all supported Payment Method Types. These are the only types of payment method that can be created.
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/appMarket/v2/paymentMethodTypes
Response samples
- 200
- 500
- 502
- 504
[- {
- "paymentMethodType": "CARD",
- "addressNeeded": true,
- "propertyDefinitions": [
- {
- "name": "cardHolderName",
- "type": "string",
- "minLength": 0,
- "maxLength": 255
}, - {
- "name": "number",
- "type": "string",
- "minLength": 0,
- "maxLength": 255
}, - {
- "name": "securityCode",
- "type": "string",
- "minLength": 0,
- "maxLength": 4,
- "secret": true
}, - {
- "name": "expirationMonth",
- "type": "number",
- "minLength": 1,
- "maxLength": 2
}, - {
- "name": "expirationYear",
- "type": "number",
- "minLength": 2,
- "maxLength": 4
}, - {
- "name": "brand",
- "type": "string",
- "readOnly": true,
- "minLength": 0,
- "maxLength": 255,
- "possibleValues": [
- "VISA",
- "MASTERCARD",
- "AMEX",
- "DINERS_CLUB",
- "DISCOVER",
- "JCB",
- "UNKNOWN",
- "GATEWAY"
]
}
]
}, - {
- "paymentMethodType": "BANKACCOUNT",
- "addressNeeded": true,
- "propertyDefinitions": [
- {
- "name": "routingNumber",
- "type": "string",
- "minLength": 9,
- "maxLength": 9,
- "required": true
}, - {
- "name": "accountNumber",
- "type": "string",
- "minLength": 4,
- "maxLength": 17,
- "required": true
}, - {
- "name": "accountType",
- "type": "string",
- "required": true,
- "possibleValues": [
- "CHECKING",
- "SAVINGS",
- "CORPORATE_CHECKING",
- "CORPORATE_SAVINGS"
]
}, - {
- "name": "isCorporateAccount",
- "type": "boolean",
- "required": true
}, - {
- "name": "companyName",
- "type": "string",
- "minLength": 0,
- "maxLength": 255,
- "required": false
}, - {
- "name": "firstName",
- "type": "string",
- "maxLength": 255,
- "required": true
}, - {
- "name": "lastName",
- "type": "string",
- "maxLength": 255,
- "required": true
}
]
}
]
Create payment method
Creates a payment method on behalf of the specified user
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative.
Request Body schema: application/json
Information about the user and the new payment method
ownerId required | string ID of the user for whom to create the payment method |
companyId required | string ID of the user's company |
paymentMethodType required | string Payment method types supported by AppReseller |
object List of payment method properties. Varies by payment method type | |
required | object (BillingAddress) Billing address |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ownerId": "833d4c99-1939-0000-0000-6fb7ae30000",
- "companyId": "6b4bd452-895d-0000-0000-e6046b230000",
- "paymentMethodType": "CARD",
- "properties": {
- "cardHolderName": "John Jordan",
- "number": "0000-0000-0000-0000",
- "securityCode": "000",
- "expirationMonth": "10",
- "expirationYear": "2100",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "Alden",
- "city": "Beverly Hills",
- "country": "US",
- "zip": "94203",
- "state": "CA"
}
}
Response samples
- 200
{- "id": "5d399e4a-cae3-0000-0000-85be1db90000",
- "accountDisplay": "1111",
- "paymentMethodType": "CARD",
- "properties": {
- "expirationYear": "2100",
- "cardHolderName": "John Jordan",
- "expirationMonth": "10",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "Alden",
- "city": "Beverly Hills",
- "country": "US",
- "zip": "94203",
- "state": "CA"
}, - "owner": {
- "id": "833d4c99-1939-0000-0000-6fb7ae30000",
- "firstName": "John",
- "lastName": "Jordan"
}, - "default": true
}
List payment methods
Retrieves a list of the specified user's payment methods
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative.
query Parameters
ownerId required | string User ID |
companyId required | string Company ID |
number | integer Page number starting at 1. The default value is 1. |
size | integer Number of results per page. The default value is 50. |
paymentMethodType | string Payment method type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/paymentMethods?ownerId=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&paymentMethodType=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "5d399e4a-cae3-0000-0000-85be1db90000",
- "accountDisplay": "1111",
- "paymentMethodType": "CARD",
- "properties": {
- "expirationYear": "2100",
- "cardHolderName": "John Jordan",
- "expirationMonth": "10",
- "brand": "VISA"
}, - "billingAddress": {
- "street1": "Alden",
- "city": "Beverly Hills",
- "country": "US",
- "zip": "94203",
- "state": "CA"
}, - "owner": {
- "id": "833d4c99-1939-0000-0000-6fb7ae30000",
- "firstName": "John",
- "lastName": "Jordan"
}, - "default": true
}
], - "page": {
- "size": 1,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Remove payment methods
Deletes a user's payment methods
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support Representative.
path Parameters
paymentMethodId required | string Payment method ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/appReseller/v1/paymentMethods/%7BpaymentMethodId%7D
List payment plans
List payment plans for a given product edition
path Parameters
applicationId required | number Application id |
editionId required | number Edition id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D/paymentPlans
Response samples
- 200
Read payment plan by product edition
Read payment plan by product edition
path Parameters
applicationId required | number Application id |
editionId required | number Edition id |
paymentPlanId required | number Payment plan id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/editions/%7BeditionId%7D/paymentPlans/%7BpaymentPlanId%7D
Response samples
- 200
Read payment plan
Read payment plan information
path Parameters
paymentPlanId required | number Payment plan id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/paymentPlans/%7BpaymentPlanId%7D
Response samples
- 200
List all payments for a company
List all of the payments for the given company
path Parameters
companyId required | string Company UUID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
fromDate | number From date |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Payment method |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Payment result |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" Sort field |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List all payments for a user
List all of the payments for the given user
path Parameters
companyId required | string Company UUID |
userId required | string User UUID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
fromDate | number From date |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Payment method |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Payment result |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List all payments
List all payments matching the input filters
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
fromDate | number From date |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Payment method |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Payment result |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | string Default: "0" First result index. Used for paging. |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
- 204
Retrieve a payment
Retrieve a payment given its payment number
path Parameters
paymentNumber required | integer Payment number |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/payments/%7BpaymentNumber%7D
Response samples
- 200
List all payment invoices
List all invoices attached to a given payment
path Parameters
paymentNumber required | integer Payment number |
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude free invoices |
fromDate | number From date |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | string Default: "0" First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Status of the related invoice(s) |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/payments/%7BpaymentNumber%7D/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
- 204
Retrieve all transfer platform configurations
Retrieves all transfer platform configurations for the marketplace of the current user
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access to retrieve transfer platform configurations.
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations
Response samples
- 200
- 500
[- {
- "id": "9dfabd43-a34b-46e1-bc40-7ddd92cc228a",
- "platformType": "stripe",
}, - {
- "id": "6ef5eb40-4520-49b6-97f6-d09dfa84e52a",
- "platformType": "paypal",
}
]
Create transfer platform configurations
Create a transfer platform configuration in the marketplace of the current user
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access to create transfer platform configurations.
Request Body schema: application/jsonrequired
The transfer platform configuration request
platformType required | string [ 1 .. 255 ] characters The transfer platform type |
required | object non-empty The transfer platform parameters. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "platformType": "stripe",
}
Response samples
- 201
- 400
- 500
{- "id": "9dfabd43-a34b-46e1-bc40-7ddd92cc228a",
- "platformType": "stripe",
}
Retrieve transfer platform configurations
Retrieves the transfer platform configuration by ID
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access to retrieve one transfer platform configuration.
path Parameters
transferPlatformConfigurationId required | string The transfer platform configuration ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D
Response samples
- 200
- 404
- 500
{- "platformType": "stripe",
- "id": "9dfabd43-a34b-46e1-bc40-7ddd92cc228a"
}
Update transfer platform configurations
Updates the specified transfer platform configuration
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access to update one transfer platform configuration.
path Parameters
transferPlatformConfigurationId required | string The transfer platform configuration ID |
Request Body schema: application/jsonrequired
The transfer platform configuration request
platformType required | string [ 1 .. 255 ] characters The transfer platform type |
required | object non-empty The transfer platform parameters. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "platformType": "stripe",
}
Response samples
- 200
- 400
- 404
- 500
{- "id": "9dfabd43-a34b-46e1-bc40-7ddd92cc228a",
- "platformType": "stripe",
}
Delete transfer platform configurations
Deletes the specified transfer platform configuration. It cannot be used anymore
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access to delete one transfer platform configuration.
path Parameters
transferPlatformConfigurationId required | string The transfer platform configuration ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferPlatformConfigurations/%7BtransferPlatformConfigurationId%7D
Response samples
- 500
{- "status": 500,
- "code": "UNKNOWN_ERROR",
- "message": "Internal server error."
}
Create transfer methods
Creates a new Transfer Method for the requesting (authenticated) user
Request Body schema: application/jsonrequired
The transfer method to create
required | object non-empty The transfer method properties |
platformType required | string [ 1 .. 255 ] characters The transfer platform type |
partyId required | string [ 1 .. 255 ] characters The ID of the transfer method's party |
partyType required | string [ 1 .. 255 ] characters The type of the transfer method's party (USER, CHANNEL, and so on) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "platformType": "stripe",
- "partyId": "1",
- "partyType": "USER",
- "properties": {
- "account_id": "123456"
}
}
Response samples
- 201
- 400
- 500
{- "id": "ab65d3e8-4ee0-11e8-9c2d-222222222222",
- "platformType": "stripe",
- "partyId": "1",
- "partyType": "USER",
- "balance": {
- "amount": "10.0000000000",
- "currency": "USD"
}, - "displayName": "****3456",
- "properties": {
- "account_id": "123456"
}
}
Retrieve transfer methods
Retrieves the transfer methods associated with the requesting (authenticated) user
query Parameters
includeBalance | boolean Default: false Determines whether the response should include the transfer method balance |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods?includeBalance=SOME_BOOLEAN_VALUE'
Response samples
- 200
- 500
[- {
- "id": "ab65d3e8-4ee0-11e8-9c2d-222222222222",
- "platformType": "stripe",
- "partyId": "1",
- "partyType": "USER",
- "balance": {
- "amount": "10.00",
- "currency": "USD"
}, - "displayName": "****3456",
- "properties": {
- "account_id": "123456"
}
}, - {
- "id": "a20b2ad9-2248-4393-ad35-8c27dd01c11e",
- "platformType": "Paypal",
- "partyId": "1",
- "partyType": "USER",
- "balance": {
- "amount": "10.00",
- "currency": "USD"
}, - "displayName": "****WXYZ",
- "properties": {
- "account_id": "ABCDWXYZ"
}
}
]
Retrieves Transfer Method by ID
Retrieves the Transfer Method for the given ID
path Parameters
transferMethodId required | string The Transfer Method ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D
Response samples
- 200
- 404
- 500
{- "id": "ab65d3e8-4ee0-11e8-9c2d-222222222222",
- "platformType": "stripe",
- "partyId": "1",
- "partyType": "USER",
- "balance": {
- "amount": "10.00",
- "currency": "USD"
}, - "displayName": "****3456",
- "properties": {
- "account_id": "123456"
}
}
Delete transfer methods
Deletes the transfer method with the specified ID
path Parameters
transferMethodId required | string The Transfer Method ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/api/appMarket/v2/transferMethods/%7BtransferMethodId%7D
Response samples
- 500
{- "status": 500,
- "code": "UNKNOWN_ERROR",
- "message": "Internal server error."
}
List all answers
List answers of a given question on an product
path Parameters
applicationId required | number Application id |
questionId required | number Question id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers
Response samples
- 200
Create an answer
This call creates an answer to a product question submitted on your marketplace.
path Parameters
applicationId required | number Application id |
questionId required | number Question id |
Request Body schema:
Question answer data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
id | number or null ID |
lastModified | number or null Last modified date |
official | boolean Is the official answer |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
Retrieve an answer
This call returns all answer details for a specific product.
path Parameters
answerId required | number Answer id |
applicationId required | number Application id |
questionId required | number Question id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers/%7BanswerId%7D
Response samples
- 200
Update an answer
This call updates an existing answer on your marketplace.
path Parameters
answerId required | number Answer id |
applicationId required | number Application id |
questionId required | number Question id |
Request Body schema:
Question answer data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
id | number or null ID |
lastModified | number or null Last modified date |
official | boolean Is the official answer |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Delete an answer
This call deletes an answer from your marketplace.
path Parameters
answerId required | number Answer id |
applicationId required | number Application id |
questionId required | number Question id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D/answers/%7BanswerId%7D
Create a comment
This call creates a new review comment on your marketplace.
path Parameters
applicationId required | number Application id |
reviewId required | number Review id |
Request Body schema:
Review comment data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
id | number or null ID |
lastModified | number or null Last modified date |
official | boolean Is an official comment |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
List all comments
This call lists all review comments on your marketplace.
path Parameters
applicationId required | number Application id |
reviewId required | number Review id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments
Response samples
- 200
Retrieve a comment
This call returns all the comment details from a specific product.
path Parameters
applicationId required | number Application id |
commentId required | number Comment id |
reviewId required | number Review id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments/%7BcommentId%7D
Response samples
- 200
Update a comment
This call updates a product comment on your marketplace.
path Parameters
applicationId required | number Application id |
commentId required | number Comment id |
reviewId required | number Review id |
Request Body schema:
Review comment data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
id | number or null ID |
lastModified | number or null Last modified date |
official | boolean Is an official comment |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Delete a comment
This call deletes a review comment from your marketplace.
path Parameters
applicationId required | number Application id |
commentId required | number Comment id |
reviewId required | number Review id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D/comments/%7BcommentId%7D
Response samples
- 200
Retrieve a product context for the current user
Retrieve a product context for the current user
path Parameters
applicationId required | number id of the application |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/userProductContext/%7BapplicationId%7D
Response samples
- 200
Retrieve a product context for a supplied user and a company they belong to
Retrieve a product context for a supplied user and a company they belong to
path Parameters
applicationId required | number id of the application |
companyId required | string uuid of the desired users' company |
userId required | string uuid of the desired user |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/userProductContext/%7BapplicationId%7D/companies/%7BcompanyId%7D/users/%7BuserId%7D
Response samples
- 200
Retrieve a question
This call returns all question details for a specific product.
path Parameters
applicationId required | number Application id |
questionId required | number Question id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D
Response samples
- 200
Update a question
This call allows you to update a product question on your marketplace.
path Parameters
applicationId required | number Application id |
questionId required | number Question id |
Request Body schema:
Question data
answerCount | number or null Number of answers |
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
id | number or null ID |
lastModified | number or null Last modified date |
title | string Title |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Delete a question
This call deletes a product question from your marketplace.
path Parameters
applicationId required | number Application id |
questionId required | number Question id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions/%7BquestionId%7D
Response samples
- 204
List all questions
This call lists all questions listed on your marketplace.
path Parameters
applicationId required | number Application id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/questions
Response samples
- 200
Create a review
This call creates a new product review on your marketplace.
path Parameters
applicationId required | number Application id |
Request Body schema:
Review data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
commentCount | number or null Number of comment |
id | number or null ID |
lastModified | number or null Last modified date |
rating | number or null Rating |
source | string or null Source |
title | string Title |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
List all reviews
This call lists all reviews and associated information listed on your marketplace.
path Parameters
applicationId required | number Application id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews
Response samples
- 200
Retrieve a review
This call returns all details for a specific review.
path Parameters
applicationId required | number Application id |
reviewId required | number Review id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D
Response samples
- 200
Update a review This call updates an existing product review on your marketplace.
Update a review This call updates an existing product review on your marketplace.
path Parameters
applicationId required | number Application id |
reviewId required | number Review id |
Request Body schema:
Review data
object (Author) Author of a question, an answer, a review or a review comment | |
comment | string Comment |
commentCount | number or null Number of comment |
id | number or null ID |
lastModified | number or null Last modified date |
rating | number or null Rating |
source | string or null Source |
title | string Title |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Delete a review This call deletes a product review from your marketplace.
Delete a review This call deletes a product review from your marketplace.
path Parameters
applicationId required | number Application id |
reviewId required | number Review id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/reviews/%7BreviewId%7D
Response samples
- 204
Retrieve buyable products
Retrieve all products in the production catalog, including products that are not marked as visible on either the marketplace or network.
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the marketplace.
ROLE_RESELLER
-Allows access as a Reseller for the marketplace.
query Parameters
page | string Default: "0" The page number. Defaults to 0. |
size | string Default: "20" The maximum number of products to return. The default is 20. |
sortField | string Default: "NAME" Enum: "RATING" "POPULARITY" "NEWEST_FIRST" "NAME" The field by which to sort results. The default is NAME. RATING: Sort by the rating in descending order. POPULARITY: Sort by product popularity, from most to least popular. Popularity is calculated from the number of purchases. NEWEST_FIRST: Sort by product creation date/time. NAME: Sort by the product name in alphabetic order. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order, either ASC (ascending) or DESC (descending). The default is ASC. |
searchText | string Search text. |
categoryId | Array of numbers Product category IDs. If specified, only products belonging to these categories are returned. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/applications?page=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&categoryId=SOME_ARRAY_VALUE'
Response samples
- 200
{- "links": [
], - "content": [
- {
- "id": 4644,
- "uuid": "cf6ab187-628b-4571-8089-d97319d68801",
- "name": "[SB] Platform Product AppHelp Business Cloud HelpDesk",
- "productType": "WEB_APP",
- "iconSrcset": {
}, - "profileLogoSrcset": {
}, - "description": "Whether you need advice on managing a SaaS or cloud application, deploying and configuring a backup system, or help setting up BYOD for the office, our Business Cloud HelpDesk experts are available 24x7x365 to assist with any cloud or IT support need your business has.",
- "overview": "As your business adopts more software and devices to operate and run, it's critical that you have access to quick, effective technical support to assist with the use and troubleshooting of your devices and cloud applications. AppHelp IT HelpDesk gives you an easy and affordable way to address SaaS and IT needs, without having to own your own IT staff. Need help installing software? Configuring backups? Recovering lost files? AppHelp IT HelpDesk has you covered",
- "startingPrice": "$60.00",
- "channelStartingPrice": {
- "prices": {
- "MXN": {
- "price": 0,
- "duration": "ONE_TIME"
}, - "CAD": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "USD": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "EUR": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "IDR": {
- "price": 0,
- "duration": "ONE_TIME"
}, - "GBP": {
- "price": 60,
- "duration": "ONE_TIME"
}
}, - "free": false,
- "freeTrial": true
}, - "billingFrequency": "ONE_TIME",
- "publishedOn": 1519248071000,
- "developerName": "RP QA",
- "vendorName": "Appdirect",
- "rating": null,
- "numRatings": null,
- "showRating": true,
- "overviewImageUrl": "https://ad-dev-dump1.s3.amazonaws.com/app_resources/4644/overview/img7694979340532479102.png",
- "overviewImageSrcset": {
}, - "blurb": "Support for cloud apps and devices",
- "buyable": true,
- "importable": false,
- "free": false,
- "freeTrialOrEditionPresent": true,
- "referable": false,
- "hasLyncToPhone": false,
- "downloadFileSize": null,
- "hidePricings": false,
- "collectLeads": false,
- "addon": false,
- "featured": false,
- "featuredSliderPosition": null,
- "popular": false,
- "popularity": null,
- "staffPick": false,
- "staffPickSliderPosition": null,
- "discountDetails": null,
- "lastModified": 1519248072000,
- "sortRank": 3,
- "tags": [
- {
- "type": "CATEGORY",
- "id": 6,
- "name": "Web Development",
- "badge": null,
- "showBadge": false,
- "showOnNavigation": true,
- "children": [ ],
- "description": null
}
], - "bundleUrls": [ ],
- "supportedLanguages": [
- "en"
], - "productRibbon": { },
- "merchandisingBadges": [ ],
- "supportedCountries": [ ],
- "links": [
- {
- "rel": "self",
}
]
}, - {
- "id": 4645,
- "uuid": "9b997bfc-c68c-4ee3-b9f2-66d634ee993f",
- "name": "[UQA] Platform Product AppHelp Business Cloud HelpDesk",
- "productType": "WEB_APP",
- "iconSrcset": {
}, - "profileLogoSrcset": {
}, - "description": "Whether you need advice on managing a SaaS or cloud application, deploying and configuring a backup system, or help setting up BYOD for the office, our Business Cloud HelpDesk experts are available 24x7x365 to assist with any cloud or IT support need your business has.",
- "overview": "As your business adopts more software and devices to operate and run, it's critical that you have access to quick, effective technical support to assist with the use and troubleshooting of your devices and cloud applications. AppHelp IT HelpDesk gives you an easy and affordable way to address SaaS and IT needs, without having to own your own IT staff. Need help installing software? Configuring backups? Recovering lost files? AppHelp IT HelpDesk has you covered",
- "startingPrice": "$60.00",
- "channelStartingPrice": {
- "prices": {
- "MXN": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "CAD": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "USD": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "EUR": {
- "price": 60,
- "duration": "ONE_TIME"
}, - "IDR": {
- "price": 0,
- "duration": "ONE_TIME"
}, - "GBP": {
- "price": 60,
- "duration": "ONE_TIME"
}
}, - "free": false,
- "freeTrial": true
}, - "billingFrequency": "ONE_TIME",
- "publishedOn": 1519248113000,
- "developerName": "AppHelp",
- "vendorName": "Appdirect",
- "rating": null,
- "numRatings": null,
- "showRating": true,
- "overviewImageUrl": "https://ad-dev-dump1.s3.amazonaws.com/app_resources/4645/overview/img6165482937306752085.png",
- "overviewImageSrcset": {
}, - "blurb": "Support for cloud apps and devices",
- "buyable": true,
- "importable": false,
- "free": false,
- "freeTrialOrEditionPresent": true,
- "referable": false,
- "hasLyncToPhone": false,
- "downloadFileSize": null,
- "hidePricings": false,
- "collectLeads": false,
- "addon": false,
- "featured": false,
- "featuredSliderPosition": null,
- "popular": false,
- "popularity": null,
- "staffPick": false,
- "staffPickSliderPosition": null,
- "discountDetails": null,
- "lastModified": 1519248114000,
- "sortRank": 3,
- "tags": [
- {
- "type": "CATEGORY",
- "id": 6,
- "name": "Web Development",
- "badge": null,
- "showBadge": false,
- "showOnNavigation": true,
- "children": [ ],
- "description": null
}
], - "bundleUrls": [ ],
- "supportedLanguages": [
- "en"
], - "productRibbon": { },
- "merchandisingBadges": [ ],
- "supportedCountries": [ ],
- "links": [
- {
- "rel": "self",
}
]
}, - {
- "id": 3732,
- "uuid": "531b7811-2372-47a3-8d04-40e66205d2db",
- "name": "1 Month Contract Recurring Addon V2",
- "productType": "WEB_APP",
- "iconUrl": null,
- "profileLogoUrl": null,
- "iconSrcset": { },
- "profileLogoSrcset": { },
- "description": "1 Month Contract Recurring Addon V2",
- "overview": null,
- "startingPrice": "",
- "channelStartingPrice": {
- "prices": { },
- "free": false,
- "freeTrial": false
}, - "billingFrequency": "MONTHLY",
- "publishedOn": 1500463144000,
- "developerName": "developer+channeladmin",
- "vendorName": "developer+channeladmin",
- "rating": null,
- "numRatings": null,
- "showRating": true,
- "overviewImageUrl": null,
- "overviewImageSrcset": { },
- "blurb": null,
- "buyable": true,
- "importable": false,
- "free": false,
- "freeTrialOrEditionPresent": false,
- "referable": false,
- "hasLyncToPhone": false,
- "downloadFileSize": null,
- "hidePricings": false,
- "collectLeads": false,
- "addon": true,
- "featured": false,
- "featuredSliderPosition": null,
- "popular": false,
- "popularity": 0,
- "staffPick": false,
- "staffPickSliderPosition": null,
- "discountDetails": null,
- "lastModified": 1500540244000,
- "sortRank": 3,
- "tags": [ ],
- "bundleUrls": [ ],
- "supportedLanguages": [
- "en"
], - "productRibbon": { },
- "merchandisingBadges": [ ],
- "supportedCountries": [ ],
- "links": [
- {
- "rel": "self",
}
]
}
], - "page": {
- "size": 3,
- "totalElements": 932,
- "totalPages": 311,
- "number": 0
}
}
Retrieve a product
This request returns all details about a specific product on your marketplace. The product in the response contains invisible editions if you are using OAuth to access the endpoint and the current user has either a Marketplace Manager role or a Sales Support role.
Maximum of 5 requests per second per caller.
To receive language-specific content in your response, ensure that your marketplace supports the specified language. Also ensure that you have a version of your product in the specified language.
path Parameters
applicationId required | number Application ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D
Response samples
- 200
List all products by vendor
Lists all products offered by the specified vendor. On the product profile page, the results appear in the Related Products list, in ascending order by product ID. To retrieve the vendor ID, use the List all companies endpoint (vendor companies have the "vendor" property set to "true").
path Parameters
vendorUuid required | string ID of the vendor company |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/vendors/%7BvendorUuid%7D/products
Response samples
- 200
- 404
Retrieve a product status
This call returns the status of a product on your marketplace.
path Parameters
applicationId required | number Application id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/status
Response samples
- 200
List all product recommendations
This call lists all products that other customers have bought in addition to the one specified. Returns recommendations for additional purchases (currently simply returning what others who have bought the product have also bought). This may be augmented later to include additional recommendation strategies but always in the context of a single product
path Parameters
applicationId required | number Application id |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/marketplace/v1/products/%7BapplicationId%7D/recommendations
Response samples
- 200
List all products
This call lists products based on specific parameters such as attribute, category, date, or type.
query Parameters
a | Array of numbers Only return products for these attribute ids |
approvalAfter | number Search products published after this date in milliseconds |
approvalBefore | number Search products published before this date in milliseconds |
c | Array of numbers Only return products for these categories |
count | string Default: "500" Limit number of products returned |
filter | Array of strings Items Enum: "DISCOUNT" "FEATURED" "FREE" "FREE_TRIAL" "PAID" "POPULAR" "STAFFPICK" Only return products for these characteristics |
s | Array of numbers Only return products for these sub category ids |
order | string Enum: "ALPHABETICAL" "NEWEST_FIRST" "NEWEST_PUBLISHED" "POPULARITY" "RATING" Ordering type |
pl | Array of numbers |
platform | Array of strings |
q | string Search term used to search on different fields of an product |
s | Array of numbers Only return products for these category ids |
start | integer Start to return product after this offset |
type | Array of strings Items Enum: "APPDIRECT_SERVICE" "BUNDLE" "CLOUDFOUNDRY_DEPLOYABLE" "CLOUD_SERVICES" "DESIGN_ELEMENT" "DOMAIN_REGISTRATION" "DOMAIN_RESELLER" "DOWNLOAD" "DOWNLOADABLE_BUNDLE" "DOWNLOAD_WITH_FULL_PROFILE" "EMBEDDED_VIDEO" "EXTERNAL" "MODULE" "OPEN_SOURCE" "RACKSPACE_IMAGE" "STANDING_CLOUD" "STATIC" "SUPPORT" "TEMPLATE" "WEB_APP" "WEB_APP_MANUAL_SETUP" "WEB_APP_STACKED" Only return product for these product types |
vendor | Array of strings Only return products for the specified vendor IDs |
locale | string Specify the locale context |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/marketplace/v1/listing?a=SOME_ARRAY_VALUE&approvalAfter=SOME_NUMBER_VALUE&approvalBefore=SOME_NUMBER_VALUE&c=SOME_ARRAY_VALUE&count=SOME_STRING_VALUE&filter=SOME_ARRAY_VALUE&s=SOME_ARRAY_VALUE&s=SOME_ARRAY_VALUE&order=SOME_STRING_VALUE&pl=SOME_ARRAY_VALUE&platform=SOME_ARRAY_VALUE&q=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&type=SOME_ARRAY_VALUE&vendor=SOME_ARRAY_VALUE&locale=SOME_STRING_VALUE'
Response samples
- 200
Read staging catalog
This call lists all products in the Staging Catalog of your marketplace.
query Parameters
appStatus | string Enum: "DEVELOPMENT" "PENDING" "PRODUCTION" The status of the application, optional. |
page | string Default: "0" The page number. Optional, defaults to 0. |
productType | string Enum: "APPDIRECT_SERVICE" "BUNDLE" "CLOUDFOUNDRY_DEPLOYABLE" "CLOUD_SERVICES" "DESIGN_ELEMENT" "DOMAIN_REGISTRATION" "DOMAIN_RESELLER" "DOWNLOAD" "DOWNLOADABLE_BUNDLE" "DOWNLOAD_WITH_FULL_PROFILE" "EMBEDDED_VIDEO" "EXTERNAL" "MODULE" "OPEN_SOURCE" "RACKSPACE_IMAGE" "STANDING_CLOUD" "STATIC" "SUPPORT" "TEMPLATE" "WEB_APP" "WEB_APP_MANUAL_SETUP" "WEB_APP_STACKED" The product type, optional. |
searchText | string The search text, optional. |
vendorUuid | string (Optional) ID of the vendor company |
size | string Default: "20" The number of application returned. Optional, defaults to 20. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" The order. Optional, default to ascending. |
sortProperty | string Default: "createdOn" The sort field. Optional, defaults to the creation date of the application. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/stagingCatalog?appStatus=SOME_STRING_VALUE&page=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&vendorUuid=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&sortProperty=SOME_STRING_VALUE'
Response samples
- 200
{- "links": [ ],
- "content": [
- {
- "uuid": "659172ed-de2b-4668-bef1-2305543981c2",
- "publishedApp": null,
- "workingApp": null,
- "name": "test",
- "type": "TEMPLATE",
- "provider": {
- "uuid": "d83b2364-6cfb-4f53-afab-195732ed1064",
- "name": "Appdirect",
- "url": "appdirect.com"
}, - "listing": {
- "myAppLogoIconUrl": null,
- "imageUrl": null,
- "profileImageUrl": null,
- "myAppLogoIconSrcset": { },
- "imageSrcset": { },
- "profileImageSrcset": { },
- "blurb": null,
- "overview": null,
- "rating": null,
- "reviewCount": 0,
- "mobileBundleId": null,
- "mobileAppStoreId": null
}, - "overview": {
- "splashTitle": null,
- "splashDescription": null,
- "imageUrl": null,
- "imageSrcset": { },
- "demoUrl": null,
- "documentationUrl": null,
- "downloadDocumentationUrl": null,
- "systemRequirements": null,
- "downloadFileSize": null,
- "benefits": [ ],
- "versions": { }
}, - "support": {
- "email": null,
- "phone": null,
- "knowledgebaseUrl": null,
- "description": null
}, - "privacyUrl": null,
- "termsUrl": null,
- "referUrl": null,
- "hostedLocation": null,
- "lastModified": 1487267935599,
- "pricing": {
- "pricingSummary": null,
- "footnotes": [ ],
- "bullets": [ ],
- "editions": [
- {
- "id": 4,
- "uuid": "d4e94846-2483-429a-8312-5e0ffd2bb3ac",
- "rank": 1,
- "name": "65PdwyUfbf",
- "primary": false,
- "trial": {
- "length": 0,
- "unit": "DAY"
}, - "expiredTrialGracePeriod": null,
- "bundleOnly": false,
- "targetAudience": null,
- "code": "739C6527-7C18-45cf-B567-E886800C3532",
- "defaultFreeTrial": false,
- "invisible": false,
- "leadGen": false,
- "lastModified": 1487267935792,
- "revenueType": "RECURRING",
- "restricted": false,
- "freeTrialDuration": 0,
- "freeTrialType": "DAY",
- "customerContractRestricted": false,
- "plans": [
- {
- "id": 6,
- "uuid": "bc8bd303-14e1-4b3f-9dc4-bc5fd408a3e3",
- "frequency": "MONTHLY",
- "contract": null,
- "allowCustomUsage": false,
- "keepBillDateOnUsageChange": false,
- "separatePrepaid": false,
- "isPrimaryPrice": false,
- "costs": [
- {
- "id": 6,
- "unit": "USER",
- "unitDependency": null,
- "minUnits": 0,
- "maxUnits": null,
- "meteredUsage": false,
- "increment": 1,
- "pricePerIncrement": false,
- "blockContractDecrease": false,
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "amount": {
- "USD": 10
}, - "pricingStrategy": "UNIT"
}
], - "discount": null,
- "primaryPrice": false
}
], - "bullets": [ ],
- "items": [ ],
- "customizations": [ ]
}
]
}, - "publishedOn": 1487267935599,
- "rating": null,
- "numRatings": null,
- "buyable": false,
- "free": false,
- "freeTrialOrEditionPresent": false,
- "referable": false,
- "hidePricings": false,
- "collectLeads": false,
- "collectLeadsWithPurchaseEnabled": false,
- "newSubscriptionEnabled": true,
- "changeSubscriptionAllowed": true,
- "displayQuestions": false,
- "displayReviews": false,
- "oneClickPurchasable": false,
- "autoUpgradeToPaid": false,
- "downloadFileSize": null,
- "startingPrice": {
- "unit": null,
- "billingFrequency": null,
- "amount": { },
- "discount": null
}, - "highestPercentageDiscount": null,
- "highestFixedDiscount": null,
- "bundledPlanIds": null,
- "customIntegration": null,
- "usageType": "MULTI_USER",
- "linkedImportableApplicationUuid": null,
- "liveChatEnabled": false,
- "liveChatAvailable": false,
- "showThirdPartyLegalDisclosure": false,
- "showSelfServiceRestriction": false,
- "integrationConfiguration": {
- "productSettings": null,
- "domainManagementEnabled": false
}, - "addon": false,
- "resources": [ ],
- "screenshots": [ ],
- "addonOfferings": [ ],
- "featuredCustomers": [ ],
- "featuredMedia": [ ],
- "features": [ ],
- "tags": [ ],
- "supportedLanguages": [
- "en"
], - "applicationStatus": "NEW",
- "vendorUUID": "d83b2364-6cfb-4f53-afab-195732ed1064",
- "id": 4
}, - {
- "uuid": "ca3ff213-2436-4c51-bc35-006083ab2411",
- "workingApp": null,
- "name": "MockApp-6924690453261933046",
- "type": "WEB_APP",
- "provider": {
- "uuid": "6a91b983-7faa-4629-96ad-59036439034a",
- "name": "Jp4CqQsc5sXUxq0j",
- "url": null
}, - "listing": {
- "myAppLogoIconUrl": null,
- "imageUrl": null,
- "profileImageUrl": null,
- "myAppLogoIconSrcset": { },
- "imageSrcset": { },
- "profileImageSrcset": { },
- "blurb": null,
- "overview": null,
- "rating": null,
- "reviewCount": 0,
- "mobileBundleId": null,
- "mobileAppStoreId": null
}, - "overview": {
- "splashTitle": null,
- "splashDescription": null,
- "imageUrl": null,
- "imageSrcset": { },
- "demoUrl": null,
- "documentationUrl": null,
- "downloadDocumentationUrl": null,
- "systemRequirements": null,
- "downloadFileSize": null,
- "benefits": [ ],
- "versions": { }
}, - "support": {
- "email": null,
- "phone": null,
- "knowledgebaseUrl": null,
- "description": null
}, - "privacyUrl": null,
- "termsUrl": null,
- "referUrl": null,
- "hostedLocation": null,
- "lastModified": 1487267936024,
- "pricing": {
- "pricingSummary": null,
- "footnotes": [ ],
- "bullets": [ ],
- "editions": [
- {
- "id": 5,
- "uuid": "1b0417a8-7f5b-43ab-8761-3c2c58d985ad",
- "rank": 1,
- "name": "dEnkTi8Hjp",
- "primary": false,
- "trial": {
- "length": 1,
- "unit": "MONTH"
}, - "expiredTrialGracePeriod": null,
- "bundleOnly": false,
- "targetAudience": null,
- "code": "CiMjK",
- "defaultFreeTrial": false,
- "invisible": false,
- "leadGen": false,
- "lastModified": 1487267936025,
- "revenueType": "RECURRING",
- "restricted": false,
- "freeTrialDuration": 1,
- "freeTrialType": "MONTH",
- "customerContractRestricted": false,
- "plans": [
- {
- "id": 7,
- "uuid": "aae2ed68-ed82-45f9-98c9-cca791d6c9d3",
- "frequency": "MONTHLY",
- "contract": {
- "minimumServiceLength": 3,
- "cancellationPeriodLimit": null,
- "endOfContractGracePeriod": null,
- "blockSwitchToShorterContract": false,
- "blockContractDowngrades": false,
- "blockContractUpgrades": false,
- "alignWithParentCycleStartDate": false,
- "gracePeriod": null,
- "terminationFee": null,
- "autoExtensionPricingId": 7
}, - "allowCustomUsage": false,
- "keepBillDateOnUsageChange": false,
- "separatePrepaid": false,
- "isPrimaryPrice": false,
- "costs": [
- {
- "id": 7,
- "unit": "USER",
- "unitDependency": null,
- "minUnits": 0,
- "maxUnits": null,
- "meteredUsage": false,
- "increment": 1,
- "pricePerIncrement": false,
- "blockContractDecrease": false,
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "amount": {
- "USD": 10
}, - "pricingStrategy": "UNIT"
}
], - "discount": null,
- "primaryPrice": false
}, - {
- "id": 8,
- "uuid": "a24e51eb-7560-48fd-9e22-7fb85b32d081",
- "frequency": "MONTHLY",
- "contract": {
- "minimumServiceLength": 6,
- "cancellationPeriodLimit": null,
- "endOfContractGracePeriod": null,
- "blockSwitchToShorterContract": false,
- "blockContractDowngrades": false,
- "blockContractUpgrades": false,
- "alignWithParentCycleStartDate": false,
- "gracePeriod": null,
- "terminationFee": null,
- "autoExtensionPricingId": 8
}, - "allowCustomUsage": false,
- "keepBillDateOnUsageChange": false,
- "separatePrepaid": false,
- "isPrimaryPrice": false,
- "costs": [
- {
- "id": 8,
- "unit": "USER",
- "unitDependency": null,
- "minUnits": 0,
- "maxUnits": null,
- "meteredUsage": false,
- "increment": 1,
- "pricePerIncrement": false,
- "blockContractDecrease": false,
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "amount": {
- "USD": 10
}, - "pricingStrategy": "UNIT"
}
], - "discount": null,
- "primaryPrice": false
}
], - "bullets": [ ],
- "items": [ ],
- "customizations": [ ]
}
]
}, - "publishedOn": 1487267935827,
- "rating": null,
- "numRatings": null,
- "buyable": true,
- "free": false,
- "freeTrialOrEditionPresent": true,
- "referable": false,
- "hidePricings": false,
- "collectLeads": false,
- "collectLeadsWithPurchaseEnabled": false,
- "newSubscriptionEnabled": true,
- "changeSubscriptionAllowed": true,
- "displayQuestions": false,
- "displayReviews": false,
- "oneClickPurchasable": true,
- "autoUpgradeToPaid": false,
- "downloadFileSize": null,
- "startingPrice": {
- "unit": "USER",
- "billingFrequency": "MONTHLY",
- "amount": {
- "USD": 0
}, - "discount": null
}, - "highestPercentageDiscount": null,
- "highestFixedDiscount": null,
- "bundledPlanIds": null,
- "customIntegration": null,
- "usageType": "MULTI_USER",
- "linkedImportableApplicationUuid": null,
- "liveChatEnabled": false,
- "liveChatAvailable": false,
- "showThirdPartyLegalDisclosure": false,
- "showSelfServiceRestriction": false,
- "integrationConfiguration": {
- "productSettings": null,
- "domainManagementEnabled": false
}, - "addon": false,
- "resources": [ ],
- "screenshots": [ ],
- "addonOfferings": [ ],
- "featuredCustomers": [ ],
- "featuredMedia": [ ],
- "features": [ ],
- "tags": [ ],
- "supportedLanguages": [
- "en"
], - "applicationStatus": "LAUNCHED",
- "vendorUUID": "6a91b983-7faa-4629-96ad-59036439034a",
- "id": 5
}
], - "page": {
- "size": 20,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
List all purchase orders for a company
List all of the purchase orders for the given company
path Parameters
companyId required | string Company ID |
query Parameters
startDateFrom | number Filters results to only include subscriptions that were started on or after the specified date |
startDateTo | number Filters results to only include subscriptions that were started on or before the specified date |
status | string Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING" Filters subscriptions by order status |
currency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Filters subscriptions by currency |
type | string Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE" Filters subscriptions by order type. |
frequency | string Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY" Filters subscriptions by pricing frequency |
orderReferenceCode | string Filters subscriptions by order reference code |
applicationIds | number Filters subscriptions by internal application ID |
fromCreationDate | number Filters results to only include subscriptions that were created on or after the specified date |
toCreationDate | number Filters results to only include subscriptions that were created on or before the specified date |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "DATE" "ORDER_ID" "TOTAL" Sort field. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
List all purchase orders for a user
List all of the purchase orders for the given user
path Parameters
companyId required | string User's company ID |
userId required | string User ID |
query Parameters
startDateFrom | number Filters results to only include subscriptions that were started on or after the specified date |
startDateTo | number Filters results to only include subscriptions that were started on or before the specified date |
status | string Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING" Filters subscriptions by order status |
currency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Filters subscriptions by currency |
type | string Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE" Filters subscriptions by order type. |
frequency | string Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY" Filters subscriptions by pricing frequency |
orderReferenceCode | string Filters subscriptions by order reference code |
applicationIds | number Filters subscriptions by internal application ID |
fromCreationDate | number Filters results to only include subscriptions that were created on or after the specified date |
toCreationDate | number Filters results to only include subscriptions that were created on or before the specified date |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "DATE" "ORDER_ID" "TOTAL" Sort field. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
List all purchase order payments
List all purchase order payments
path Parameters
orderId required | number The specific order id for which information is requested |
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
fromDate | number Filter by the start date of the invoice |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Filter by method of the payment |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Filter by results of the payment |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order org.springframework.data.domain.Sort.Direction. |
start | string Default: "0" First result index. Used for paging. |
toDate | number Filter by the end date of the invoice |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List all purchase orders
List all purchase orders
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
query Parameters
startDateFrom | number Filters results to only include subscriptions that were started on or after the specified date |
startDateTo | number Filters results to only include subscriptions that were started on or before the specified date |
status | string Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING" Filters orders with an order status |
currency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Filters orders by currency |
type | string Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE" Filters orders by type. |
frequency | string Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY" Filters orders by payment frequency |
orderReferenceCode | string Filters orders by order reference code |
applicationIds | number Filters orders by internal application ID |
fromCreationDate | number Filters results to only include subscriptions that were created on or after the specified date |
toCreationDate | number Filters results to only include subscriptions that were created on or before the specified date |
page | integer Default: 0 First result index. Used for paging. |
referenceCode | string Default: "" Code provided by resellers and Sales Reps while purchasing a subscription |
size | integer Default: 50 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "DATE" "ORDER_ID" "TOTAL" The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order org.springframework.data.domain.Sort.Direction. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&page=SOME_INTEGER_VALUE&referenceCode=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
Retrieve a purchase order
Retrieve a purchase order.
Rate limit: Bucket size is 20 requests, with a leak rate of 4 requests per second.
Rate limit uses leaky bucket algorithm. Usage of a leaky bucket algorithm allows client applications to make an unlimited number of requests over a large time horizon but prevents excessively large bursts over a short one.
path Parameters
orderId required | number The specific order id for which information is requested |
query Parameters
expand | Array of strings Provide the list of comma separated resource name (possible values = "user,company,salesSupportUser") which is needed to be expanded in the response |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D?expand=SOME_ARRAY_VALUE'
Response samples
- 200
Update purchase order configuration details
Update purchase order configuration details
path Parameters
orderId required | number Id of the specific purchase order to update |
Request Body schema: application/json
List of parameters which needs to be update
name | string or null |
value | string or null |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "name": "...",
- "value": "..."
}
]
Response samples
- 200
List all purchase order invoices
List all purchase order invoices
path Parameters
orderId required | number The specific order id for which information is requested |
query Parameters
count | string Default: "250" Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude invoices whose amount is zero |
fromDate | number Filter by the start date of the invoice |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order org.springframework.data.domain.Sort.Direction. |
start | string Default: "0" First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Filter by the status of the invoice |
toDate | number Filter by the end date of the invoice |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/invoices?count=SOME_STRING_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
List orders
Retrieves a list of all user orders of a linked company. You can filter the list using optional query parameters.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the company
query Parameters
context required | string Value: "RESELLER, RESELLER_MANAGER" Supported billing contexts |
number | integer Page number |
size | integer Number of results per page |
sort | string Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
userId | string For RESELLER, the customer's user ID; for RESELLER_MANAGER, the Reseller's user ID |
resellerCompanyId required | string Reseller's company ID. Required only for the RESELLER_MANAGER context. |
customerCompanyId required | string User's company ID. Required only for the RESELLER context. |
createdOn | string Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; gt([timestamp]) - 'greater than'; lte([timestamp]) - 'less than or equal to'; or lt([timestamp]) - 'less than.' |
status | string Order status (valid status are INITIALIZED, PENDING_USER_APPROVAL, PENDING_REMOTE_CREATION, PENDING_MANUAL_RECOVERY, PENDING_ASYNCHRONOUS_CREATION, FREE_TRIAL, ACTIVE, FINISHED, ONE_TIME, CANCELLED, SUSPENDED, FREE_TRIAL_EXPIRED, FREE_TRIAL_CANCELLED, DELETED, FAILED, UPCOMING, PENDING_MIGRATION_ACTIVATION, PENDING_DELAYED_PROVISIONING) |
paidStatus | string Value: "PAID, FREE" Status of the subscription related to the payment of this order |
pending | boolean Indicates whether order has pending events |
searchText | string Search text |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/orders?context=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&userId=SOME_STRING_VALUE&resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&paidStatus=SOME_STRING_VALUE&pending=SOME_BOOLEAN_VALUE&searchText=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "1234",
- "createdOn": 1529083173000,
- "status": "ACTIVE",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "applicationName": "AUTO_DISCOUNTS_APP",
- "editionName": "Edition",
- "orderCardId": "4567",
- "company": {
- "id": "698555fc-bc65-4163-9fee-16308edec41b",
- "name": "Company A"
}
}, - {
- "id": "4567",
- "createdOn": 1529083173000,
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "applicationName": "AUTO_DISCOUNTS_APP",
- "editionName": "Edition",
- "orderCardId": "4567",
- "company": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "name": "Company B"
}
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 1
}
}
Create quote version
Creates a quote version from a quote source
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
Request Body schema: application/jsonrequired
Details about the quote version being created
name | string The name of the quote version |
required | object (User) |
required | object (QuoteVersionSource) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "source": {
- "id": "1798fb8f-9f55-43f6-9f5e-4980467df9af",
- "type": "OPPORTUNITY"
}, - "name": "Quote version name",
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}
}
Response samples
- 200
- 401
- 404
{- "id": "e8801dc6-8c0f-4c0b-82bc-99c4ebfb5e8a",
- "name": "API quote version",
- "createdOn": 1674590164842,
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "customer@appdirect.com",
- "firstName": "Customer FirstName",
- "lastName": "Customer LastName",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "status": "OPEN",
- "ownerUser": {
- "id": "a6cc4e69-74e0-47f4-b36d-215693f47165",
- "email": "owner@appdirect.com",
- "firstName": "Owner FirstName",
- "lastName": "Owner LastName",
- "company": {
- "id": "05ba75d3-3637-4a7a-807d-f2cb66466348"
}
}, - "customerUser": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "customer@appdirect.com",
- "firstName": "Customer FirstName",
- "lastName": "Customer LastName",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "availableActions": [
- "PRINT_PDF",
- "EDIT_NAME",
- "REQUEST_CUSTOMER_APPROVAL"
]
}
A list of quote versions
List quote versions based on a source type and ID
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
query Parameters
sourceId | string The source ID |
sourceType | string Enum: "OPPORTUNITY" "PLACE_HOLDER" The source type of the quote version |
status | string The status of the quote version |
after | string The page number |
first | integer The number of results per page to return |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/assistedSales/v1/quotes?sourceId=SOME_STRING_VALUE&sourceType=SOME_STRING_VALUE&status=SOME_STRING_VALUE&after=SOME_STRING_VALUE&first=SOME_INTEGER_VALUE'
Response samples
- 200
- 401
- 404
{- "quotes": [
- {
- "id": "e8801dc6-8c0f-4c0b-82bc-99c4ebfb5e8a",
- "displayId": "Q6201242",
- "name": "API quote version",
- "createdOn": 1674590164842,
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "status": "OPEN",
- "ownerUser": {
- "id": "a6cc4e69-74e0-47f4-b36d-215693f47165",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "05ba75d3-3637-4a7a-807d-f2cb66466348"
}
}, - "customerUser": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "availableActions": [
- "PRINT_PDF",
- "EDIT_NAME",
- "REQUEST_CUSTOMER_APPROVAL"
]
}, - {
- "id": "757d0f09-385c-41df-9781-d6df98584953",
- "displayId": "Q5701241",
- "name": "API quote version",
- "createdOn": 1674574349898,
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "status": "PENDING",
- "ownerUser": {
- "id": "a6cc4e69-74e0-47f4-b36d-215693f47165",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "05ba75d3-3637-4a7a-807d-f2cb66466348"
}
}, - "customerUser": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "availableActions": [
- "PRINT_PDF",
- "EDIT_NAME",
- "SHARE_LINK",
- "REVOKE"
]
}
], - "pageInfo": {
- "startCursor": "MA==",
- "endCursor": "MA==",
- "hasNextPage": false,
- "hasPreviousPage": false
}, - "totalCount": 2
}
Execute action on a quote version
Execute the action passed by the parameter on the quote version
Required: Accept-Language header with Locale format. For example: en-US"
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
path Parameters
quoteId required | string The ID of a quote version |
Request Body schema: application/jsonrequired
Details about the action to be executed on the quote version
action required | string Action name to be executed to a quote version |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "action": "REQUEST_CUSTOMER_APPROVAL"
}
Response samples
- 200
- 401
- 404
{- "id": "757d0f09-385c-41df-9781-d6df98584953",
- "name": "API quote version",
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "status": "PENDING",
- "availableActions": [
- "PRINT_PDF",
- "EDIT_NAME",
- "SHARE_LINK",
- "REVOKE"
]
}
Get a quote version
Get a quote version from a quote ID
Required: Accept-Language header with Locale format. For example: en-US
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller to the opportunity
ROLE_SALES_SUPPORT
-Allows access as Sales Support to the opportunity
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager to the opportunity
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager to the opportunity
path Parameters
quoteId required | string The ID of a quote version |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/assistedSales/v1/quotes/%7BquoteId%7D
Response samples
- 200
- 401
- 404
{- "id": "757d0f09-385c-41df-9781-d6df98584953",
- "displayId": "Q5701241",
- "name": "API quote version",
- "createdOn": 1674574349898,
- "createdBy": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "status": "OPEN",
- "ownerUser": {
- "id": "a6cc4e69-74e0-47f4-b36d-215693f47165",
- "email": "john.doe@acme.com",
- "firstName": "John",
- "lastName": "Doe",
- "company": {
- "id": "05ba75d3-3637-4a7a-807d-f2cb66466348"
}
}, - "customerUser": {
- "id": "d17fee11-c6ce-4f9f-8fb6-9bc55d583699",
- "email": "jane.smith@company.com",
- "firstName": "Jane",
- "lastName": "Smith",
- "company": {
- "id": "d9a6d470-c69a-4403-9355-5953ddcb9efb"
}
}, - "currency": "USD",
- "pricingTotals": {
- "amountDueBeforeTax": "55.0000000000",
- "amountDueAfterTax": "55.0000000000",
- "taxSummary": [ ],
- "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 24
}, - "totalSalePrice": "55.0000000000"
}
]
}, - "items": [
- {
- "id": "166e0ce6-4309-4a16-ac9b-61bea7ce1cbc",
- "product": {
- "id": "fa776d2e-cda5-4256-9a27-125a0fe3f448",
- "name": "Supported Product for Opportunity MVP",
- "editionId": "b06358bc-cb63-45e6-87c7-19db9b0cf696"
}, - "pricingPlan": {
- "id": "19c06143-b21c-43c4-b236-eeca61512753",
- "name": "Gold plan"
}, - "pricing": [
- {
- "costType": "RECURRING_FLAT",
- "description": "Gold plan",
- "quantity": "1.0000000000",
- "totalSalePrice": "55.0000000000",
- "salePrice": "55.0000000000"
}, - {
- "costType": "INCLUDED",
- "description": "Per User Fee Included",
- "quantity": "1.0000000000",
- "totalSalePrice": "0.0000000000",
- "salePrice": "0.0000000000"
}
]
}
], - "quoteSource": {
- "id": "1798fb8f-9f55-43f6-9f5e-4980467df9af",
- "type": "OPPORTUNITY"
}, - "availableActions": [
- "PRINT_PDF",
- "EDIT_NAME",
- "REQUEST_CUSTOMER_APPROVAL"
]
}
Retrieve ledger lines
Retrieve ledger lines generated for a specific role. Example, retrieve all ledger lines that a reseller manager has against all resellers
query Parameters
context required | string Value: "RESELLER_MANAGER" Currently only supported value is 'RESELLER_MANAGER' |
page | integer Page number to be returned in the result. Default value is 1 |
size | integer Size of the page to be returned. Default value is 50, maximum allowed is 250 |
sortOrder | string Enum: "ASC" "DESC" Sorting is done against 'reconciliationDate'. Defaults to sorting in ascending order |
fromDate | number Filters ledger lines from given date. Filtering is performed against the reconciliation date of the ledger line. The parameter represents milliseconds since epoch date, but only the date part is taken into account. The time component is ignored |
toDate | number Filters ledger lines until given date. Filtering is performed against the reconciliation date of the ledger line. The parameter represents milliseconds since epoch date, but only the date part is taken into account. The time component is ignored |
reconciliationType | string Enum: "ITEM" "TAX" "DISCOUNT" "TERMINATION_FEE" "ADJUSTMENT" "RESELLER_MARKUP" "CHANNEL_MARKUP" "APPDIRECT_FEE" Filters by ledger line reconciliation type |
operationType | string Enum: "CREDIT" "DEBIT" Filters by ledger line operation type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/v3/reconciliation/ledgerLines?context=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortOrder=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&toDate=SOME_NUMBER_VALUE&reconciliationType=SOME_STRING_VALUE&operationType=SOME_STRING_VALUE'
Response samples
- 200
{- "links": [ ],
- "content": [
- {
- "id": 6,
- "currency": "JPY",
- "amount": 10,
- "customer": {
- "id": 4712,
- "username": "enduser003@appdirect.com",
- "email": "enduser003@appdirect.com",
- "uuid": "62c8b934-aca8-4ed2-bcd5-8f798fd19355"
}, - "issuerParty": {
- "id": "RESELLERSMARKETPLACE",
- "uuid": "5d08ea40-c948-40e2-9335-1f3c513a6524",
- "type": "CHANNEL",
- "name": "RESELLER MARKETPLACE"
}, - "recipientParty": {
- "id": "4052",
- "uuid": "d282c59d-129a-4281-b390-a7d61876d9ce",
- "type": "RESELLER",
- "name": "Reseller Company 02"
}, - "type": "DEBIT",
- "transferStatus": "OPEN",
- "reconciliationType": "ITEM",
- "reconciliationDate": 1506083747000,
- "createdOn": 1506083752000,
- "lastModified": 1506083752000,
- "payments": [
- {
- "id": 5881,
- "type": "MANUAL"
}
], - "invoiceId": 8568,
- "orderId": 3598,
- "productId": 3402,
- "productName": "TEST",
- "editionId": 7552,
- "editionName": "Recurring Edition",
- "editionPricingItemId": 14467,
- "lineItemDescription": "TEST - Recurring Edition - Monthly Fee Period from 09/22/17 to 10/22/17",
- "lineItemType": "ITEM"
}, - {
- "id": 5,
- "currency": "JPY",
- "amount": 10,
- "customer": {
- "id": 4712,
- "username": "enduser003@appdirect.com",
- "email": "enduser003@appdirect.com",
- "uuid": "62c8b934-aca8-4ed2-bcd5-8f798fd19355"
}, - "issuerParty": {
- "id": "4052",
- "uuid": "d282c59d-129a-4281-b390-a7d61876d9ce",
- "type": "RESELLER",
- "name": "Reseller Company 02"
}, - "recipientParty": {
- "id": "RESELLERSMARKETPLACE",
- "uuid": "5d08ea40-c948-40e2-9335-1f3c513a6524",
- "type": "CHANNEL",
- "name": "RESELLER MARKETPLACE"
}, - "type": "CREDIT",
- "transferStatus": "OPEN",
- "reconciliationType": "ITEM",
- "reconciliationDate": 1506083747000,
- "createdOn": 1506083752000,
- "lastModified": 1506083752000,
- "payments": [
- {
- "id": 5881,
- "type": "MANUAL"
}
], - "invoiceId": 8568,
- "invoiceLineId": 8569,
- "orderId": 3598,
- "productId": 3402,
- "productName": "TEST",
- "editionId": 7552,
- "editionName": "Recurring Edition",
- "editionPricingItemId": 14467,
- "lineItemDescription": "TEST - Recurring Edition - Monthly Fee Period from 09/22/17 to 10/22/17",
- "lineItemType": "ITEM"
}
], - "page": {
- "size": 50,
- "totalElements": 2,
- "totalPages": 1,
- "number": 1
}
}
List transfers
Retrieves all transfers
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows Resellers to access their transfers
query Parameters
number | integer Default: 1 Page number |
size | integer Default: 10 Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
- 403
- 404
- 503
{- "content": [
- {
- "id": "2319ee21-185c-485e-bcb0-18328b49b58f",
- "transferRequestId": 3,
- "status": "COMPLETE",
- "accountReceivable": 0,
- "accountPayable": 52,
- "netReceivable": 0,
- "netPayable": 52,
- "currency": "USD",
- "transferDate": 1572451157602
}, - {
- "id": "43a9d114-7157-4e91-a2ed-7c683aba068e",
- "transferRequestId": 2,
- "status": "COMPLETE",
- "accountReceivable": 0,
- "accountPayable": 15,
- "netReceivable": 0,
- "netPayable": 15,
- "currency": "USD",
- "transferDate": 1572378298608
}, - {
- "id": "875ce19f-1dfb-4ff8-aad0-f4c2fe866d44",
- "transferRequestId": 1,
- "status": "COMPLETE",
- "accountReceivable": 13.5,
- "accountPayable": 59,
- "netReceivable": 0,
- "netPayable": 45.5,
- "currency": "USD",
- "transferDate": 1572359937730
}
], - "page": {
- "size": 3,
- "number": 1,
- "totalElements": 3,
- "totalPages": 1
}
}
Retrieve transfer details
Retrieves the summary of a transfer, which includes the date of the transfer, the transfer status, currency, net payable and net receivable
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows Resellers to access their transfer details
path Parameters
transferId required | string Transfer ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers/%7BtransferId%7D
Response samples
- 200
- 403
- 404
- 503
{- "id": "2319ee21-185c-485e-bcb0-18328b49b58f",
- "transferRequestId": 3,
- "status": "COMPLETE",
- "accountReceivable": 0,
- "accountPayable": 52,
- "netReceivable": 0,
- "netPayable": 52,
- "currency": "USD",
- "transferDate": 1572451157602
}
List transfer ledger lines
Retrieves the ledger lines of a transfer
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows Resellers to access their transfer ledger lines
path Parameters
transferId required | string Transfer ID |
query Parameters
number | integer Default: 1 Page number |
size | integer Default: 5 Number of results per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/reseller/v1/reconciliation/transfers/%7BtransferId%7D/details?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
- 403
- 404
- 503
{- "content": [
- {
- "id": 72,
- "currency": "USD",
- "credit": 52,
- "debit": 0,
- "customer": "Appdirect",
- "product": "FEATURED_WEBAPP"
}
], - "page": {
- "size": 1,
- "number": 1,
- "totalElements": 1,
- "totalPages": 1
}
}
List all reports
Lists all reports that are automatically generated on your marketplace.
query Parameters
count | integer The number of reports to return from the results |
fromDate | number The report generation start date and time, in epoch time |
start | integer The lower bound index for the requested results |
toDate | number The report generation end date and time, in epoch time |
type | string Enum: "ACTIVE_UNCONVERTED_USERS" "APPLICATION_USAGE" "CANCELLED_ENTITLEMENTS" "COMPANIES_CSV" "CONTRACT_TERM" "CUSTOMERS_CSV" "CUSTOMER_ACQUISITION_BONUS" "CUSTOMER_RETENTION_BONUS" "FAILED_ORDERS" "FAILURE_INTEGRATION_EVENT" "FREE_TRIALS" "GENERAL_PERFORMANCE_REPORT" "INVOICES" "INVOICES_CSV" "MICROSOFT_RECONCILIATION" "MIGRATION_PRODUCT_DATA" "MOSI_ACQUISITION_BONUS" "MOSI_RETENTION_BONUS" "NOT_USED_APP" "ORDER_EDITIONS_CSV" "ORDER_PRODUCTS_CSV" "PAYMENTS_DETAIL_CSV" "PAYMENTS_OVERVIEW_CSV" "RECONCILIATION" "RE_CALCULATE_SUBSCRIPTION_PRICES" "SUSPENDED_PURCHASED" "TAXES" "TRANSACTIONS" "VOICE_CONN_CSV" Report type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/reporting/v1/reports?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE&type=SOME_STRING_VALUE'
Response samples
- 200
List all reports
Lists all reports generated from your marketplace.
query Parameters
ownerType | string Enum: "ROLE_CHANNEL_ADMIN" "ROLE_DEVELOPER" "ROLE_RESELLER_MANAGER" "ROLE_PARTNER" The owner type that is allowed access to the reports |
reportName | string Filter reports by name |
date | string Time bound for the report creation date: could be of the form 'gte([Unix timestamp])' for a lower bound (inclusive) or 'lte([Unix timestamp])' for an upper bound (inclusive). |
number | integer Default: 1 The page number of the requested result. The first page has index 1 |
size | integer Default: 50 The page size of the requested result |
searchText | string Show only reports whose names contain this text |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/reporting/v2/reports?ownerType=SOME_STRING_VALUE&reportName=SOME_STRING_VALUE&date=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "uuid": "adb97bd6-6fc5-4540-939d-8b5b02bcd0a7",
- "reportName": "channel-payment-details",
- "jobName": "channel-payment-details-APPDIRECT",
- "name": "A sample report run",
- "ownerType": "ROLE_CHANNEL_ADMIN",
- "ownerCompanyId": null,
- "ownerPartner": "APPDIRECT",
- "status": "IN_PROGRESS",
- "runDate": 1519249651000,
- "fromDate": 1517443200000,
- "toDate": null,
- "params": {
- "paymentMethod": "NULL",
- "lineType": "NULL",
- "excludeFullyDiscounted": "NULL",
- "partner": "APPDIRECT",
- "type": "NULL"
}, - "createdBy": "John Smith",
- "formatType": "CSV"
}, - {
- "uuid": "dead040d-6ebf-41db-a554-cf6f7c8e1e25",
- "reportName": "customer-cancelled-entitlements",
- "jobName": "customer-cancelled-entitlements-APPDIRECT",
- "name": "A second sample report run",
- "ownerType": "ROLE_CHANNEL_ADMIN",
- "ownerCompanyId": null,
- "ownerPartner": "APPDIRECT",
- "status": "IN_PROGRESS",
- "runDate": 1519249646000,
- "fromDate": 1517443200000,
- "toDate": null,
- "params": {
- "partner": "APPDIRECT",
- "defaultMarketplaceCurrency": "USD"
}, - "createdBy": "John Smith",
- "formatType": "CSV"
}
], - "page": {
- "size": 50,
- "totalElements": 2,
- "totalPages": 1,
- "number": 1
}
}
List sellable products
Retrieve all products that a Reseller can sell.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
query Parameters
page | integer Page number |
size | integer Number of results per page |
searchText | string Search text |
targetUserId | string Current user ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/catalog/sellableProducts?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&targetUserId=SOME_STRING_VALUE'
Response samples
- 200
{- "links": [ ],
- "content": [
- {
- "id": "cf6ab187-000a-4571-8089-000019d68801",
- "name": "Product name 1",
- "blurb": "Product 1 short description",
- "provider": "Appdirect",
- "visible": true
}, - {
- "id": "9b997bfc-000a-4ee3-b9f2-66d634ee993f",
- "name": "Product name 2",
- "blurb": "Product 2 short description",
- "provider": "Appdirect",
- "visible": true
}
], - "page": {
- "size": 50,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
Edition details
Get product editions, costs and markups.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
path Parameters
productId required | string Product ID |
query Parameters
targetUserId | string User ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/catalog/sellableProducts/%7BproductId%7D/editions?targetUserId=SOME_STRING_VALUE'
Response samples
- 200
[- {
- "id": "12fe4576-0000-4d7b-bdf4-0000cd112b27",
- "name": "IT HelpDesk Session",
- "revenueType": "ONE_TIME",
- "paymentPlans": [
- {
- "id": "28e14ece-00a0-0055-8000-0000c4c8e329",
- "frequency": "ONE_TIME",
- "minimumServiceLength": null,
- "cancellationPeriodLimit": null,
- "endOfContractGracePeriod": null,
- "costs": [
- {
- "id": 54479,
- "unit": "SESSION",
- "unitDependency": null,
- "pricingStrategy": "UNIT",
- "minUnits": 0,
- "maxUnits": 111,
- "itemPrices": {
- "CAD": 60,
- "GBP": 60,
- "USD": 60,
- "IDR": 0
}, - "markupPrices": [
- {
- "markupType": "CHANNEL_RESELLER_COMPANY",
- "markupPrices": {
- "USD": 898989
}
}
]
}
]
}
]
}
]
Search content
Search a unified index of content derived from a user's connected accounts. Requires a user-based token.
query Parameters
q required | string Search query. The term(s) you are searching for. Format: URL-encoded string. For example: To search for Testing String, use Testing%20string |
number | number Default: 1 Which page of results to return. For example, to return the page with the 60th result, when there are 50 results per page (size), submit 2 to return the 2nd page of results. Max value: N/A |
size | number Default: 50 Page size: maximum number of search results per page. Max value: 250 |
sort | string A URL-encoded value that defines how to sort the results. The supported values are +lastModified or -lastModified to sort by ascending/descending respectively. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appwise/v2/search?q=SOME_STRING_VALUE&number=SOME_NUMBER_VALUE&size=SOME_NUMBER_VALUE&sort=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "source": "5a70e453-49b4-49a5-bef4-879ddddc7e09",
- "title": "The White Tiger",
- "description": "Saw this last month. Movie exceeded my expectations, highly recommended. :)",
- "author": "Bob Smith",
- "id": "79009-the-white-tiger-movie",
- "instance": "123",
- "resourceId": "the-white-tiger-movie",
- "contentType": "recommendation",
- "metadataType": "Movie",
- "metadataReleaseYear": "2021",
- "metadataRecommendedBy": "Jardani Reeves",
- "lastModified": "2021-05-28T20:20:06Z",
- "highlight": {
- "description": [
- "Saw this last month. <em>Movie</em> exceeded my expectations, highly recommended. :)"
]
}
}, - {
- "source": "5a70e453-49b4-49a5-bef4-879ddddc7e09",
- "title": "The Lord of the Rings: The Fellowship of the Ring",
- "description": "Best movie in the LOTR trilogy!!",
- "author": "Bob Smith",
- "id": "79009-the-lord-of-the-rings-the-fellowship-of-the-ring-movie",
- "instance": "123",
- "resourceId": "the-lord-of-the-rings-the-fellowship-of-the-ring-movie",
- "contentType": "recommendation",
- "metadataType": "Movie",
- "metadataReleaseYear": "2001",
- "metadataRecommendedBy": "Mac Parker",
- "lastModified": "2021-05-28T20:11:44Z",
- "highlight": {
- "description": [
- "Best <em>movie</em> in the LOTR trilogy!!"
]
}
}, - {
- "source": "5a70e453-49b4-49a5-bef4-879ddddc7e09",
- "title": "Shrek",
- "description": "Fun movie",
- "author": "Bob Smith",
- "id": "79009-shrek-movie",
- "instance": "123",
- "resourceId": "shrek-movie",
- "contentType": "recommendation",
- "metadataType": "Movie",
- "metadataReleaseYear": "2001",
- "metadataRecommendedBy": "Mac Parker",
- "lastModified": "2021-05-28T17:33:41Z",
- "highlight": {
- "description": [
- "Fun <em>movie</em>"
]
}
}
], - "page": {
- "size": 3,
- "totalElements": 8,
- "totalPages": 3,
- "number": 2
}
}
Create segment folders
Creates a segment folder
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
Request Body schema: application/jsonrequired
name required | string <= 255 characters Segment folder name |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Fortune 500 Companies"
}
Response samples
- 200
- 400
- 409
{- "id": "7e3b3bb8-1b75-408b-8cbf-561ccd910479",
- "name": "Fortune 500 Companies",
- "enable": true,
- "partner": "APPDIRECT"
}
Read segment folders
Returns a paginated list of segment folders for the marketplace
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
number | integer Default: 0 Page number |
size | integer <= 250 Default: 50 Number of results per page |
sort | string Default: "+name" Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
name | string Search text |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/companyGroups?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&name=SOME_STRING_VALUE'
Response samples
- 200
- 400
{- "content": [
- {
- "id": "7e3b3bb8-1b75-408b-8cbf-561ccd910479",
- "name": "Fortune 500 Companies",
- "partner": "APPDIRECT",
- "segments": [
- {
- "id": "04f8d043-10f1-4b89-8c0e-0780e5a62299",
- "name": "iOS users",
- "partner": "APPDIRECT",
- "code": "IOS",
- "type": "MANUAL"
}
]
}, - {
- "id": "7e3b3bb8-1b75-408b-8cbf-561ccd910479",
- "name": "Fortune 100 Companies",
- "partner": "APPDIRECT",
- "segments": [
- {
- "id": "04f8d043-10f1-4b89-8c0e-0780e5a62299",
- "name": "Android users",
- "partner": "APPDIRECT",
- "code": "DROID",
- "type": "MANUAL"
}
]
}
], - "page": {
- "number": 1,
- "size": 2,
- "totalElements": 10,
- "totalPages": 2
}
}
Update segment folders
Updates a segment folder
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companyGroupId required | string Segment folder ID |
Request Body schema: application/jsonrequired
name required | string <= 255 characters Segment folder name |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Fortune 500 Companies"
}
Response samples
- 400
- 409
{- "code": "EXTERNAL_ERROR",
- "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}
Delete segment folder
Deletes a segment folder, all associated segments, and all product associations
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companyGroupId required | string Segment folder ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D
Delete segments from segment folders
Deletes a segment from a segment folder
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companyGroupId required | string Segment folder ID |
companySegmentId required | string Segment ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/channel/v1/companyGroups/%7BcompanyGroupId%7D/segments/%7BcompanySegmentId%7D
Read segments
Returns a paginated list of segments
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
companyGroupId required | string Segment folder ID |
number | integer Default: 0 Page number |
size | integer <= 250 Default: 50 Number of results per page |
sort | string^[+-]name$ Default: "+name" Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
searchText | string Search text |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/segments?companyGroupId=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE'
Response samples
- 200
- 400
{- "content": [
- {
- "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
- "name": "Canada",
- "partner": "APPDIRECT",
- "code": "CAN",
- "type": "MANUAL"
}, - {
- "id": "b1f5af35-ca68-431f-83b7-ef56189924ed",
- "name": "France",
- "partner": "APPDIRECT",
- "code": "FRA",
- "type": "MANUAL"
}, - {
- "id": "5ca15227-da6b-413e-a09c-f8d06ab3dcd7",
- "name": "United States",
- "partner": "APPDIRECT",
- "code": "USA",
- "type": "MANUAL"
}
], - "page": {
- "size": 50,
- "totalElements": 3,
- "totalPages": 1,
- "number": 0
}
}
Create manual segment
Creates a manual segment. Manual segments allow Marketplace Managers to select companies manually, as opposed to dynamic segments, which contain user selected automatically based on filter values.
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
companyGroupId required | string Segment folder ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 255 ] characters Segment name |
code | string [ 1 .. 255 ] characters Segment code |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Canada",
- "code": "XXYU"
}
Response samples
- 200
- 400
- 409
{- "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
- "name": "Canada",
- "partner": "APPDIRECT",
- "code": "CAN",
- "type": "MANUAL"
}
Update manual segments
Updates a manual segment
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companySegmentId required | string Segment ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 255 ] characters Segment name |
code | string [ 1 .. 255 ] characters Segment code |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Canada",
- "code": "XXYU"
}
Response samples
- 400
- 409
{- "code": "EXTERNAL_ERROR",
- "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}
Create or remove segment-company associations
Creates or removes associations between segments and companies
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companySegmentId required | string Segment ID |
Request Body schema: application/jsonrequired
deleteAll required | boolean Set to true to delete all associations |
companyIdsToAdd required | Array of strings The list of company IDs to associate with the segment, up to a maximum of 1000 IDs |
companyIdsToRemove required | Array of strings The list of company IDs to disassociate from the segment, up to a maximum of 1000 IDs |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "deleteAll": "false",
- "companyIdsToAdd": [
- "7e3b3bb8-1b75-408b-8cbf-561ccd910479"
], - "companyIdsToRemove": [
- "7e3b3bb8-1b75-408b-8cbf-561ccd910478"
]
}
Response samples
- 400
- 409
{- "code": "EXTERNAL_ERROR",
- "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}
Read segment companies
Returns a paginated list of all marketplace companies and indicates whether they are associated with the segment
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
companySegmentId required | string Segment ID |
query Parameters
number | integer Default: 0 Page number |
size | integer <= 250 Default: 50 Number of results per page |
sort | string^[+-]name$ Default: "+name" Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
searchText | string Search text |
selected | boolean Default: false If true, returns only associated companies |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/segments/%7BcompanySegmentId%7D/availableAndAssociatedCompanies?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&searchText=SOME_STRING_VALUE&selected=SOME_BOOLEAN_VALUE'
Response samples
- 200
- 400
{- "content": [
- {
- "name": "Canada Company",
- "id": "04f8d043-10f1-4b89-8c0e-0780e5a62299",
- "selected": false
}, - {
- "name": "US Company",
- "id": "04f8d043-10f1-4b89-8c0e-0780e5a62298",
- "selected": true
}
], - "page": {
- "number": 1,
- "size": 2,
- "totalElements": 10,
- "totalPages": 2
}
}
Update dynamic segments
Updates a dynamic segment
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
dynamicSegmentId required | string Segment ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 255 ] characters Segment name |
code | string [ 1 .. 255 ] characters Segment code |
required | Array of objects (Filters) [ items ] Dynamic filter |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Canada",
- "code": "XXYU",
- "filters": [
- [
- {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}, - {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}
]
]
}
Response samples
- 400
- 409
{- "code": "EXTERNAL_ERROR",
- "message": "Execution of an external dependency failed with message: User with email random@appdirect.com was not found in the linked account."
}
Read filter parameters
Returns a list of parameters for the dynamic filter
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
locale | string Default: "en_US" Locale |
header Parameters
AD-Tenant required | string(\s*\S+\s*)+ |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments/filterParameters?locale=SOME_STRING_VALUE' \ --header 'AD-Tenant: SOME_STRING_VALUE'
Response samples
- 200
- 500
[- {
- "key": "company",
- "label": "company",
- "fields": [
- {
- "key": "company.state",
- "label": "state",
- "dataType": "text"
}
]
}
]
Test dynamic segments
Determines whether the specified user matches the specified dynamic segment
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
path Parameters
userEmail required | string User email address |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 255 ] characters Segment name |
code | string [ 1 .. 255 ] characters Segment code |
required | Array of objects (Filters) [ items ] Dynamic filter |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Canada",
- "code": "XXYU",
- "filters": [
- [
- {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}, - {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}
]
]
}
Response samples
- 200
- 400
{- "matches": "true"
}
Read dynamic segments
Reads a dynamic segment
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
dynamicSegmentId required | string Dynamic segment ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/segments/dynamicSegments?dynamicSegmentId=SOME_STRING_VALUE'
Response samples
- 200
- 400
{- "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
- "name": "Canada",
- "partner": "APPDIRECT",
- "code": "CAN",
- "type": "DYNAMIC",
- "filters": [
- [
- {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}, - {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}
]
]
}
Create dynamic segments
Creates a dynamic segment. Dynamic segments contain user selected automatically based on filter values, as opposed to manual segments, in which Marketplace Managers select companies manually.
Required Scopes and Authorization Rules
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
query Parameters
companyGroupId required | string Segment folder ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 255 ] characters Segment name |
code | string [ 1 .. 255 ] characters Segment code |
required | Array of objects (Filters) [ items ] Dynamic filter |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "Canada",
- "code": "XXYU",
- "filters": [
- [
- {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}, - {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}
]
]
}
Response samples
- 200
- 400
- 409
{- "id": "9f4e5c52-5258-4193-a132-303f06e9eef1",
- "name": "Canada",
- "partner": "APPDIRECT",
- "code": "CAN",
- "type": "DYNAMIC",
- "filters": [
- [
- {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}, - {
- "conditions": [
- {
- "parameter": "company.state",
- "operator": "matches",
- "values": [
- "Quebec"
]
}, - {
- "parameter": "company.city",
- "operator": "matches",
- "values": [
- "Montreal"
]
}
]
}
]
]
}
List channel settings
Use the GET method to list channel settings for a specific channel.
path Parameters
partner required | string channel name |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/channel/v1/settings/%7Bpartner%7D
Response samples
- 200
{- "privacyPolicyUrlMap": { },
- "minimumReviewsForRating": 1,
- "resellerTermsUrlMap": { },
- "importAppsConfigurable": false,
- "companyName": "",
- "encryptBankAccount": false,
- "metaDescription": null,
- "allCompaniesVendors": false,
- "identityProvider": false,
- "smtpBcc": "",
- "marketplaceUsername": "",
- "supportUrlMap": { },
- "analyticsId": "",
- "supportEmailMap": { },
- "hideCustomerInfoFromDevelopers": false,
- "canImpersonate": true,
- "emailCopySalesRepOnBillingEvents": false,
- "showSocialMediaLinks": false,
- "forceReauthentication": false,
- "allAdmins": false,
- "changeOwnershipRequestEmail": "",
- "developerTermsUrlMap": { },
- "phoneNumberRequired": false,
- "approvesUserContent": false,
- "developerCanViewLeads": false,
- "marketplacePassword": "",
- "termsUrlMap": { },
- "marketplaceNameMap": {
- "en_CA": "MarketplaceNameCA"
}, - "reviewRequirePurchase": false,
- "domainReactivationEmail": "",
- "hideQuestions": false,
- "passwordProtected": false,
- "metaNoIndex": false,
- "developerDocsUrl": "",
- "faviconFileKey": "",
- "supportPhone": "",
- "keychainApiRealmId": null,
- "smtpFromMap": {
- "en": "support@appdirect.com"
}, - "companySyncAutoCreateCompaniesEnabled": false,
- "logoFileKey": null,
- "versionManagementApiClientId": "",
- "hideChannelUserInfoFromCustomers": false,
- "trustedURLs": [ ],
- "reportsEmail": "",
- "encryptReports": false,
- "selfManagedCompanyStructure": false,
- "betaProductCustomAttribute": false,
- "securityPolicy": "DEFAULT",
- "companySyncEnabled": false,
- "authenticationGracePeriodInSeconds": 60,
- "resellerLeadsTermsUrlMap": { },
- "hideSupportSection": false,
- "metaKeyWords": null,
- "keychainApiUrl": null,
- "companySyncInviteAdminOnCompanyCreationEnabled": false,
- "developerTermsUpdatedOn": null,
- "showProfiles": true,
- "supportContactUrlMap": { }
}
Update channel settings
Use the PATCH method to update one or more channel settings.
path Parameters
partner required | string channel name |
Request Body schema: application/json
a list of settings to update
setting required | string Channel setting name |
value | string Channel setting value |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
[- {
- "setting": "companySyncEnabled",
- "value": "tru e"
}
]
Response samples
- 204
[- {
- "setting": "reportsEmail",
- "value": "a@b.com"
}, - {
- "setting": "companySyncEnabled",
- "value": "true"
}, - {
- "setting": "marketplaceNameMap",
- "value": "someSettings"
}, - {
- "setting": "versionManagementApiClientId",
- "value": "sample id"
}, - {
- "setting": "hideSupportSection",
- "value": "false"
}
]
List shopping carts
Returns all ACTIVE and FINISHED shopping carts
query Parameters
buyerUserId | string Buyer user ID |
buyerCompanyId | string Buyer user company ID |
ownerUserId | string Owner user ID |
ownerCompanyId | string Owner company ID |
productId | string Product ID |
status | Array of strings Shopping cart status |
partner | string Shopping cart partner (This field is not public to client) |
number | integer Default: 1 1-based page index |
size | integer Default: 10 The number of results per page to return |
sortField | string Default: "createdOn" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts?buyerUserId=SOME_STRING_VALUE&buyerCompanyId=SOME_STRING_VALUE&ownerUserId=SOME_STRING_VALUE&ownerCompanyId=SOME_STRING_VALUE&productId=SOME_STRING_VALUE&status=SOME_ARRAY_VALUE&partner=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "5bda35f8dd54f108b898c777",
- "createdOn": "1541027320333",
- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "items": [
- {
- "id": "0129ddf5-4977-4f20-b42a-c41d47b00e2a",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [ ]
}
]
}, - {
- "id": "5bda370cdd54f10bccf03ba2",
- "createdOn": "1541027596771",
- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "items": [
- {
- "id": "12815d48-b7e6-41c7-804f-252bf64ad411",
- "pricingPlanId": "f1257109-8c81-402e-a61f-147fea66ab91",
- "units": [ ]
}
]
}, - {
- "id": "5bda373fdd54f10bccf03ba3",
- "createdOn": "1541027647666",
- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "items": [
- {
- "id": "abada11b-977e-4466-834a-6b2b45e0266f",
- "pricingPlanId": "46f442b8-e3c0-4e9a-ba7d-d062058bac25",
- "units": [ ]
}
]
}
], - "page": {
- "size": 3,
- "totalElements": 188,
- "totalPages": 10,
- "number": 10
}
}
Create shopping carts
Creates a shopping cart
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
ShoppingCartWS
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "items": [
- {
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "5",
- "unit": "USERS"
}
], - "customPrices": [
- {
- "costId": "63e20fed-f340-11e8-8fb5-125b89b63428",
- "priceType": "MARKETPLACE_RESELLER_PURCHASE_PRICE",
- "pricingStrategy": "FLAT",
- "definition": {
- "price": 9.99
}
}, - {
- "costId": "491f1e67-223a-4c2d-9508-772b545085ad",
- "priceType": "MARKETPLACE_RESELLER_PURCHASE_PRICE",
- "pricingStrategy": "TIERED",
- "definition": {
- "priceRanges": [
- {
- "min": 1,
- "max": 5,
- "price": 9.99
}, - {
- "min": 5,
- "max": 10,
- "price": 6.99
}
]
}
}, - {
- "costId": "77e5badb-90f3-438d-9f3c-506a063fd6e7",
- "priceType": "MARKETPLACE_RESELLER_PURCHASE_PRICE",
- "pricingStrategy": "UNIT",
- "definition": {
- "priceRanges": [
- {
- "min": 0,
- "max": null,
- "price": 1.99
}
]
}
}
]
}
]
}
Retrieve shopping cart
Retrieves the specified shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D
Response samples
- 200
{- "id": "5bda3aeedd54f113e3694422",
- "createdOn": "1541028590204",
- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "items": [
- {
- "id": "38ffe338-aaf0-4422-b419-61372ba4ecec",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121"
}
], - "customAttributes": {
- "purchase": {
- "preferredTime": "10:00"
}
}
}
Update shopping carts
Updates the specified shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
Request Body schema: application/jsonrequired
ShoppingCartWS
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "id": "5be20b01411e037ed1e5dbd5",
- "createdOn": "1541540609246",
- "ownerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "ownerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerUserId": "01ada338-52fb-42b8-8c47-c72c30b8a602",
- "buyerCompanyId": "08a28380-b2cf-4915-aaf8-2958b350b090",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "items": [
- {
- "id": "c039a3bd-9dc2-42fc-916f-dea189e8ec30",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "8",
- "unit": "USERS"
}
]
}
], - "customAttributes": {
- "purchase": {
- "preferredTime": "10:00"
}
}
}
Finalize shopping carts
Returns requested shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-Timezone | string |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/finalize \ --header 'AD-Timezone: SOME_STRING_VALUE'
Response samples
- 202
{- "purchaseId": "42d444da-9da5-4fc6-b0e0-4879fe549307"
}
Create and finalize shopping carts
Creates and finalizes a shopping cart in a single request
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
AD-Timezone | string |
Request Body schema: application/jsonrequired
shoppingCartWS
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 202
{- "purchaseId": "42d444da-9da5-4fc6-b0e0-4879fe549307"
}
Retrieve cart associations
Returns the associations included in the shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/associations
Response samples
- 200
[- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
]
Get cart pre-authorization
Retrieves the payment pre-authorization for the specified cart.
path Parameters
shoppingCartId required | string Shopping cart ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/preauth
Response samples
- 400
- 500
Retrieve shopping cart items
Returns all items included in the shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items
Response samples
- 200
[- {
- "id": "553e4f1a-66bc-4e25-92ab-c573c8c3f96f",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "5",
- "unit": "USERS"
}
]
}, - {
- "id": "64c6b624-e5be-48c6-8e97-c8b2fe056c06",
- "pricingPlanId": "36142d03-0aea-49cc-beab-3f94cc08fc18",
- "units": [
- {
- "quantity": "50",
- "unit": "GIGABYTE"
}
]
}
]
Add items to cart
Adds the specified item to the shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
Request Body schema: application/jsonrequired
A shopping cart item
id | string Item UUID |
referenceId | string A 'local' ID for the item, which can be used in requests instead of the full UUID. Use the ref:{referenceId} format. |
subscriptionId | string Existing subscription UUID. |
pricingPlanId | string ID of the pricing plan that the user is going to purchase |
object (ServiceConfiguration) Service Configuration | |
object (BillingConfiguration) Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future. | |
discountCode | string Discount applied to the product |
discountId | string Discount ID |
Array of objects (CustomPrice) Definition of custom prices for the purchase | |
Array of objects (Unit) Default: [] List of units included in the product | |
object (ItemCustomAttributes) Collection of custom attributes | |
object (CustomContractConfiguration) Configuration to use for custom contract |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
Response samples
- 200
{- "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "5",
- "unit": "USERS"
}
]
}
Retrieve cart item
Returns the specified shopping cart item
path Parameters
shoppingCartId required | string Shopping cart ID |
itemId required | string Item ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items/%7BitemId%7D
Response samples
- 200
{- "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "5",
- "unit": "USERS"
}
]
}
Update shopping cart item
Updates the specified shopping cart item
path Parameters
shoppingCartId required | string Shopping cart ID |
itemId required | string Item ID |
Request Body schema: application/jsonrequired
A shopping cart item
id | string Item UUID |
referenceId | string A 'local' ID for the item, which can be used in requests instead of the full UUID. Use the ref:{referenceId} format. |
subscriptionId | string Existing subscription UUID. |
pricingPlanId | string ID of the pricing plan that the user is going to purchase |
object (ServiceConfiguration) Service Configuration | |
object (BillingConfiguration) Determines when the billing cycle starts. Set UPON_SERVICE_ACTIVATION to start the billing cycle according to the specified provisioning strategy (either immediately after the opportunity is finalized or on a custom provisioning date). Set NEXT_BILLING_CYCLE to start the billing cycle according to the marketplace billing configuration (for example, first of the month). Set CUSTOM to start the billing cycle on a specified date in the future. | |
discountCode | string Discount applied to the product |
discountId | string Discount ID |
Array of objects (CustomPrice) Definition of custom prices for the purchase | |
Array of objects (Unit) Default: [] List of units included in the product | |
object (ItemCustomAttributes) Collection of custom attributes | |
object (CustomContractConfiguration) Configuration to use for custom contract |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
Response samples
- 200
{- "id": "e34b836e-3963-4eb7-8ce2-ca5867549ba6",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "units": [
- {
- "quantity": "15",
- "unit": "USERS"
}
]
}
Remove cart item
Removes the specified item from the shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
itemId required | string Application ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/items/%7BitemId%7D
Delete cart items
Removes the specified items from the shopping cart.
path Parameters
shoppingCartId required | string Shopping cart ID |
Request Body schema: application/jsonrequired
ids | Array of strings Item IDs |
cascade | Array of strings (AssociationType) Items Value: "ADDON" Cascade deletion of associated items |
itemPath | string Selection of items to delete, in JsonPath syntax |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "ids": "[]",
- "cascade": "[\"ADDON\"]",
- "itemPath": ".items[?(@.pricingPlanId=='planid')]"
}
Response samples
- 200
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Preview non-persisted carts
Returns a preview of the shopping cart with pricing summary information and a list of errors, if any
header Parameters
AD-Timezone | string |
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
A shopping cart
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "items": [
- {
- "itemId": "72af4c57-3aa7-432d-ac11-749284ede2d7",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "productId": "8130e107-644e-4013-8673-1f3b04d2a39d",
- "pricingSources": [
- {
- "source": "BASE_CATALOG",
- "costs": [
- {
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "salePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "unit": "USER"
}
]
}
], - "costs": [
- {
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "unit": "USER",
- "salePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "schedule": {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 28
}, - "servicePeriod": {
- "start": "2018-09-28"
}, - "billingPeriod": {
- "start": "2018-09-28"
}
}
}
], - "amountDueBeforeTax": "0.0000000000",
- "amountDueAfterTax": "0.0000000000",
- "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 28
}, - "totalSalePrice": "0.0000000000",
- "nextInvoiceDate": "2018-09-28"
}
]
}
Preview shopping carts
Previews the specified, persisted shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-Timezone | string |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/preview \ --header 'AD-Timezone: SOME_STRING_VALUE'
Response samples
- 200
{- "items": [
- {
- "itemId": "72af4c57-3aa7-432d-ac11-749284ede2d7",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "productId": "8130e107-644e-4013-8673-1f3b04d2a39d",
- "pricingSources": [
- {
- "source": "BASE_CATALOG",
- "costs": [
- {
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "salePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "unit": "USER"
}
]
}
], - "costs": [
- {
- "costTypeCategory": "RECURRING",
- "costType": "INCLUDED",
- "pricingStrategy": "UNLIMITED",
- "unit": "USER",
- "salePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}, - {
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FREE",
- "quantity": "1.0000000000",
- "salePrice": "0.0000000000",
- "totalSalePrice": "0.0000000000"
}
], - "schedule": {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 28
}, - "servicePeriod": {
- "start": "2018-09-28"
}, - "billingPeriod": {
- "start": "2018-09-28"
}
}
}
], - "amountDueBeforeTax": "0.0000000000",
- "amountDueAfterTax": "0.0000000000",
- "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 28
}, - "totalSalePrice": "0.0000000000",
- "nextInvoiceDate": "2018-09-28"
}
]
}
Retrieve pricing summary (non-persisted shopping cart)
Retrieves a pricing summary for the cart. The pricing summary includes the detailed and effective costs as well as the billing schedule and recurring charges. The effective cost indicates the price that the customer pays whereas the detailed cost provides the price sources used in the calculation of the effective cost. Prices are not prorated and tax is not included in the pricing summary.
header Parameters
AD-Timezone | string |
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
A shopping cart
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "items": [
- {
- "itemId": "0dfba095-1727-4885-b90c-c32344090a3b",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "productId": "5932bcea-5485-4a81-9b34-58ccd4210132",
- "editionId": "c134a1b5-b667-45a3-b572-8f3453a277a7",
- "detailedCost": {
- "costSources": [
- {
- "costId": "2fbde3b4-f92a-11e8-8fb5-125b89b63428",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "unit": null,
- "sources": [
- {
- "priceType": "BASE_PRICE",
- "priceLevel": "NONE",
- "priceEntity": "NONE",
- "pricingStrategy": "FLAT",
- "definition": {
- "price": "10.0000000000",
- "priceRanges": null
}, - "calculations": [
- {
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "totalPrice": "10.0000000000"
}
]
}
]
}
]
}, - "effectiveCost": {
- "costs": [
- {
- "costId": "2fbde3b4-f92a-11e8-8fb5-125b89b63428",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FLAT",
- "unit": null,
- "definition": {
- "price": "10.0000000000",
- "priceRanges": null
}, - "calculations": [
- {
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "totalPrice": "10.0000000000"
}
]
}
]
}, - "schedule": {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 15
}, - "servicePeriod": {
- "start": "2019-02-15",
- "end": null
}, - "billingPeriod": {
- "start": "2019-02-15",
- "end": null
}, - "freeTrialPeriod": null
}
}
], - "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 15
}, - "totalSalePrice": "215.0000000000",
- "nextInvoiceDate": "2019-02-15"
}
]
}
Retrieve pricing summary
Retrieves a pricing summary for the cart. The pricing summary includes the detailed and effective costs as well as the billing schedule and recurring charges. The effective cost indicates the price that the customer pays whereas the detailed cost provides the price sources used in the calculation of the effective cost. Prices are not prorated and tax is not included in the pricing summary.
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-Timezone | string |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/pricingSummary \ --header 'AD-Timezone: SOME_STRING_VALUE'
Response samples
- 200
{- "items": [
- {
- "itemId": "0dfba095-1727-4885-b90c-c32344090a3b",
- "pricingPlanId": "d0495026-dcab-45fe-858a-757491e93121",
- "productId": "5932bcea-5485-4a81-9b34-58ccd4210132",
- "editionId": "c134a1b5-b667-45a3-b572-8f3453a277a7",
- "detailedCost": {
- "costSources": [
- {
- "costId": "2fbde3b4-f92a-11e8-8fb5-125b89b63428",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "unit": null,
- "sources": [
- {
- "priceType": "BASE_PRICE",
- "priceLevel": "NONE",
- "priceEntity": "NONE",
- "pricingStrategy": "FLAT",
- "definition": {
- "price": "10.0000000000",
- "priceRanges": null
}, - "calculations": [
- {
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "totalPrice": "10.0000000000"
}
]
}
]
}
]
}, - "effectiveCost": {
- "costs": [
- {
- "costId": "2fbde3b4-f92a-11e8-8fb5-125b89b63428",
- "costTypeCategory": "RECURRING",
- "costType": "RECURRING_FLAT",
- "pricingStrategy": "FLAT",
- "unit": null,
- "definition": {
- "price": "10.0000000000",
- "priceRanges": null
}, - "calculations": [
- {
- "quantity": "1.0000000000",
- "salePrice": "10.0000000000",
- "totalPrice": "10.0000000000"
}
]
}
]
}, - "schedule": {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 15
}, - "servicePeriod": {
- "start": "2019-02-15",
- "end": null
}, - "billingPeriod": {
- "start": "2019-02-15",
- "end": null
}, - "freeTrialPeriod": null
}
}
], - "recurringTotals": [
- {
- "billingCycle": {
- "period": "MONTHLY",
- "dayOfMonth": 15
}, - "totalSalePrice": "215.0000000000",
- "nextInvoiceDate": "2019-02-15"
}
]
}
Validate non-persisted shopping carts
Validates and retrieves the validation summary of the specified shopping cart payload
query Parameters
level required | string Enum: "PRE_FINALIZE" "PREVENT_FINALIZE" "PREVENT_PROVISIONING" Level of validation. Run PRE_FINALIZE validations before the shopping cart is finalized. Run PREVENT_FINALIZE and PREVENT_PROVISIONING at the time of finalization and provisioning respectively to prevent those operations if validation fails. |
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
id | string Shopping cart ID |
createdOn | string Shopping cart creation date |
ownerUserId | string Default: "" Cart owner user ID |
ownerCompanyId | string Default: "" Cart owner company ID |
buyerType | string (BuyerType) Default: "CUSTOMER" Enum: "CUSTOMER" "PLATFORM_OWNER" "PARTNER" Describes the buyer's relationship with the platform, either CUSTOMER (end user), PLATFORM_OWNER (sales representative) or PARTNER (reseller) |
currency | string (Currency) Default: "USD" Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Supported currencies for the system |
status | string Shopping cart status |
isBlocked | boolean Default: false Shopping Cart is locked waiting for an external event |
paymentMethodId | string Default: "" Payment method ID |
preAuthId | string Default: "" Cart payment pre-authorization ID |
locale | string Default: "" Locale of shopping cart (ISO 639 language, ISO 3166 country, variant). |
buyerUserId | string Default: "" User ID of the buyer (customer, reseller, sales representative) who initiates the purchase |
buyerCompanyId | string Default: "" Buyer company ID |
Array of objects (ShoppingCartItem) | |
object (ShoppingCartCustomAttributes) Custom attributes for the purchase, buyer, and owner | |
Array of objects (Association) Item associations | |
Array of objects (Fee) Cart fees | |
Array of objects (AccreditedAgent) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "4f59d160-0e63-45c4-bb91-7ebe873da29f",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "ownerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "ownerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "buyerType": "CUSTOMER",
- "currency": "USD",
- "status": "ACTIVE",
- "isBlocked": false,
- "paymentMethodId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "preAuthId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "locale": "en_US",
- "buyerUserId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "buyerCompanyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118",
- "items": [
- {
- "id": "45ae34b7-ffc1-4d74-be78-dce34008cd2e",
- "referenceId": "45",
- "subscriptionId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "pricingPlanId": "3dcc468d-fd4c-41ce-b700-f88c0c74561f",
- "serviceConfiguration": {
- "date": "2010-10-19T00:00:00.000Z",
- "strategy": "CUSTOM"
}, - "billingConfiguration": {
- "date": "1546300800000",
- "strategy": "CUSTOM"
}, - "discountCode": "DISCOUNT",
- "discountId": "30",
- "customPrices": [
- {
- "costId": "9742e09a-e1b4-4b9e-b1a7-66df3e41cebe",
- "price": 20
}
], - "units": [ ],
- "customAttributes": {
- "vendorRequiredFields": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "subscription": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "customContractConfiguration": {
- "minimumServiceLength": 1,
- "minimumServiceLengthUnit": "MONTHLY",
- "endOfContractGracePeriod": 0,
- "endOfContractGracePeriodUnit": "INFINITY",
- "contractCancellationPeriodLimit": 0,
- "contractCancellationPeriodUnit": "NONE",
- "continueWithoutContract": false,
- "autoExtensionPricingId": "string",
- "terminationFeeGracePeriod": 0,
- "terminationFeeGracePeriodUnit": "INFINITY",
- "blockContractUpgrades": false,
- "blockContractDowngrades": false,
- "blockSwitchToShorterContract": false,
- "keepContractDateOnPlanChange": false,
- "alignWithParentCycleStartDate": false,
- "unitTerms": {
- "property1": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}, - "property2": {
- "blockContractIncrease": false,
- "blockOriginalContractDecrease": false,
- "blockContractDecrease": true
}
}, - "sourceId": "string",
- "terminationFee": {
- "feeType": "FIXED",
- "amount": 0,
- "description": "string"
}, - "contractFee": 0
}
}
], - "customAttributes": {
- "0": null,
- "purchase": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "buyerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerUser": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}, - "ownerCompany": {
- "customAttributes": {
- "preferredColours": [
- "key_red",
- "key_white"
], - "preferredTime": "12:00"
}
}
}, - "associations": [
- {
- "parentItemId": "string",
- "childItemIds": [
- "string"
], - "type": "ADDON"
}
], - "fees": [
- {
- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
], - "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
- "blockingErrors": [
- {
- "code": "PRICING_PLAN_NOT_FOUND",
- "message": "Pricing plan with ID e209b620-1fc3-4fe9-bd38-e811e605df8 not found.",
- "messageParameters": [
- {
- "key": "PRICING_PLAN",
- "value": "e209b620-1fc3-4fe9-bd38-e811e605df8"
}
]
}
], - "warnings": [ ],
- "info": [ ],
- "pendingValidations": [ ]
}
Validate persisted shopping carts
Validates and retrieves the validation summary of the specified shopping cart
path Parameters
shoppingCartId required | string Shopping cart ID |
query Parameters
level required | string Enum: "PRE_FINALIZE" "PREVENT_FINALIZE" "PREVENT_PROVISIONING" Level of validation |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/validation?level=SOME_STRING_VALUE'
Response samples
- 200
{- "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
- "blockingErrors": [
- {
- "code": "PRICING_PLAN_NOT_FOUND",
- "message": "Pricing plan with ID e209b620-1fc3-4fe9-bd38-e811e605df8 not found.",
- "messageParameters": [
- {
- "key": "PRICING_PLAN",
- "value": "e209b620-1fc3-4fe9-bd38-e811e605df8"
}
]
}
], - "warnings": [ ],
- "info": [ ],
- "pendingValidations": [ ]
}
Read validation summary for persisted shopping carts
Retrieves the validation summary for the specified shopping cart, but does not validate the cart. You must use the "Validate persisted shopping carts" request to generate a summary before you can use this request.
path Parameters
shoppingCartId required | string Shopping cart ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/validation
Response samples
- 200
{- "id": "ad26eb9c-f414-4ae1-9c52-06c478ec12b0",
- "blockingErrors": [
- {
- "code": "PRICING_PLAN_NOT_FOUND",
- "message": "Pricing plan with ID e209b620-1fc3-4fe9-bd38-e811e605df8 not found.",
- "messageParameters": [
- {
- "key": "PRICING_PLAN",
- "value": "e209b620-1fc3-4fe9-bd38-e811e605df8"
}
]
}
], - "warnings": [ ],
- "info": [ ],
- "pendingValidations": [ ]
}
Remove cart discounts
Deletes a discount by code from shopping cart items. To remove the discount from specific items only, send the item IDs as parameters. Otherwise, the discount will be removed from all items.
path Parameters
shoppingCartId required | string Shopping cart ID |
discountCode required | string Discount code |
query Parameters
itemId | Array of strings Cart item IDs |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/discounts/%7BdiscountCode%7D?itemId=SOME_ARRAY_VALUE'
Delete shopping cart fees
Removes fees from the specified cart
path Parameters
shoppingCartId required | string Shopping cart ID |
feeId required | string Fee UUID |
header Parameters
AD-ShoppingCart-Partner | string The partner code of a marketplace |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/fees/%7BfeeId%7D \ --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'
Create cart fees
Creates a fee and applies it to the specified cart
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
id | string Fee ID |
externalId | string External ID assigned by the fee provider service |
createdOn | string Fee creation date and time |
key | string Key used to identify fee type |
currency | string Currency code (ISO 4217) of the fee |
amount | number Fee amount |
object (Description) Description of the fee | |
object (RevenueShare) Revenue shares of the fee sent to AppDirect, the marketplace owner, and the product vendor. The total of all three revenue shares must be 1.00. | |
itemIds | Array of strings List of item IDs |
object Metadata |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
Response samples
- 200
{- "id": "ce402858-4fe8-4254-8b69-73c41142f4ba",
- "externalId": "a8bf31a8-fe75-4ab9-9559-dcd41eca9d12",
- "createdOn": "2020-10-12 07:20:50.52Z",
- "key": "SHIPPING_FEE_100",
- "currency": "USD",
- "amount": "9.81",
- "description": {
- "defaultDescription": "Some description here. Valid from {$fromDate} until {$toDate}",
- "localizedDescriptions": "{\"en_US\": \"Some description here. Valid from {$fromDate} until {$toDate}\", \"es_AR\": \"Alguna descripción acá. Válido desde {$fromDate} hasta {$toDate}\"}",
- "params": "{\"fromDate\": \"2019-10-12 07:20:50.52Z\", \"toDate\": \"2020-10-12 07:20:50.52Z\"}"
}, - "revenueShare": {
- "appdirect": "0.00",
- "channel": "1.00",
- "vendor": "0.00"
}, - "itemIds": "[\"b126e204-05f9-444a-af43-7629069eed03\", \"20de5578-a903-43da-95b8-65a3b584bc29\", \"a104ae19-d5cd-4de1-802b-5b2ec60e7fbf\"]",
- "metadata": "key1: \"value1\""
}
Set accredited agents
Associates an accredited Agent with the specified cart
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Request Body schema: application/jsonrequired
Array of objects (AccreditedAgent) | |||||
Array
|
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "accreditedAgents": [
- {
- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
]
}
Response samples
- 200
{- "userId": "83407ce8-373f-11e6-ac61-9e71128cae77",
- "companyId": "a411dc54-d46f-4002-ab00-3ea52e4eb118"
}
Remove accredited agents
Removes the accredited agent from the specified cart
path Parameters
shoppingCartId required | string Shopping cart ID |
header Parameters
AD-ShoppingCart-Partner required | string The partner code of a marketplace |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/%7BshoppingCartId%7D/accreditedAgents \ --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'
Send locked cart notifications
Finds all locked carts in ACTIVE status and sends approval request notifications for each one. Locked carts must be approved before they can be finalized.
header Parameters
AD-ShoppingCart-Partner | string The partner code of a marketplace |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/v3/checkout/shoppingCarts/notifyLockedCarts \ --header 'AD-ShoppingCart-Partner: SOME_STRING_VALUE'
Response samples
- 200
"string"
Read application assignment for user and subscription
Retrieve a marketplace user's application assignment for a given subscription.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as a user and owner of the user entitlement.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access as a member of the company that owns the subscription.
path Parameters
subscriptionUuid required | string Unique identifier of the company subscription in the API request |
userUuid required | string Unique identifier of the user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments/%7BuserUuid%7D
Response samples
- 200
Create application assignment
Create an application assignment for a marketplace user.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the user that owns the subscription.
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access as a member of the company that owns the subscription.
path Parameters
subscriptionUuid required | string Unique identifier of the company subscription in the API request |
userUuid required | string Unique identifier of the user to assign the application to |
query Parameters
creatorUuid | string Optional parameter and will be ignored if the APIs are accessed using any role except ROLE_PARTNER |
Request Body schema: application/json
Optional custom user attributes to associate with the created application assignment
name | string The key name of an existing subscription custom attribute |
values | Array of strings Values of the custom attributes. If the attribute definition is MULTISELECT, all values must be a subset of the value options defined in the marketplace. If the attribute definition is TEXT, only one value is allowed. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "name": "test1",
- "values": [
- "value1",
- "value2"
]
}
Response samples
- 200
- 502
Delete application assignment
Delete a marketplace user's application assignment.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the user that owns the subscription.
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER
-Allows access to manage all marketplace data.
path Parameters
subscriptionUuid required | string Unique identifier of the company subscription in the API request |
userUuid required | string Unique identifier of the user to remove the application assignment for |
query Parameters
disconnectVoiceConnection | boolean Disconnect voice connection of Boost application |
source | string Source of event. Possible values are: APP_SYNC, MICROSOFT_PROVISIONING_MIGRATION |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments/%7BuserUuid%7D?disconnectVoiceConnection=SOME_BOOLEAN_VALUE&source=SOME_STRING_VALUE'
List application assignments for subscription
Retrieve the list of marketplace application assignments for the given subscription.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as a member of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
subscriptionUuid required | string Unique identifier of the company subscription in the API request |
query Parameters
page | integer Default: 0 Zero-based page index |
searchText | string Search term used to search on different assignment fields |
size | integer Default: 50 The number of search results to return per page |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments?page=SOME_INTEGER_VALUE&searchText=SOME_STRING_VALUE&size=SOME_INTEGER_VALUE'
Response samples
- 200
Read application assignment count
Retrieve the number of users assigned to a subscription.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as a member of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
path Parameters
subscriptionUuid required | string Unique identifier of the company subscription in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request HEAD \ --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/assignments
Response samples
- 200
{ "X-Total-Count": 1 }
Assign product
Assign a seat of a purchased product to a user who is a member of a linked marketplace company
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
Request Body schema: application/json
Information about user and subscription to be assigned
userId required | string ID of the user to whom the product will be assigned |
subscriptionId required | string ID of the product subscription to assign to the user |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "userId": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
- "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029"
}
Response samples
- 200
- 409
{- "id": "63bf81c2-8e01-48b7-a8b1-46a0efa0e823",
- "status": "ACTIVE",
- "createdOn": 1529083173000,
- "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "user": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "firstName": "Michael",
- "lastName": "Jordan"
}
}
List subscription assignments
Retrieves a list of assignments for a given subscription. You can filter the list using optional query parameters.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
query Parameters
number | integer Page number starting at 1. The default value is 1. |
size | integer Number of results per page. The default value is 50. |
sort | string Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use '-[FieldName]' format. The default value is '-createdOn'. |
createdOn | string Date filter, defined by upper or lower inclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; lte([timestamp]) - 'less than or equal to'. |
status | string Subscription status (valid values are PENDING_REQUIRED_DATA, PENDING_SEAT_AVAILABILITY, PENDING_USER_ACTIVATION, PENDING_REMOTE_CREATION, SUBSCRIPTION_SUSPENDED_FREE_TRIAL_EXPIRED, SUBSCRIPTION_SUSPENDED_RENEW_CONTRACT, SUBSCRIPTION_SUSPENDED_PAY_INVOICE, SUBSCRIPTION_SUSPENDED_MANUAL_SUSPENSION, FAILED, ACTIVE, PENDING_REMOTE_CANCELLATION, CANCELLED). The filter format is: in([status], ...). |
subscriptionId required | string Subscription ID purchased by the Reseller company |
userId | string User ID. Use the in([id], ...) format to filter by multiple IDs, or the userId=[id] format to filter by a single ID. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/subscriptionAssignments?number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&subscriptionId=SOME_STRING_VALUE&userId=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "63bf81c2-8e01-48b7-a8b1-46a0efa0e823",
- "status": "ACTIVE",
- "createdOn": 1529083173000,
- "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "user": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "firstName": "Michael",
- "lastName": "Jordan"
}
}, - {
- "id": "5cdf116b-0603-4d26-88d8-5e1afd625931",
- "status": "CANCELLED",
- "createdOn": 1527863555000,
- "subscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "user": {
- "id": "bb14ace3-4490-47e8-84f1-ab6a85da69e5",
- "firstName": "Mary",
- "lastName": "Gonzalez"
}
}
], - "page": {
- "size": 50,
- "totalElements": 2,
- "totalPages": 1,
- "number": 1
}
}
Unassign product
Unassign a product from a user.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company.
path Parameters
subscriptionAssignmentId required | string Subscription Assignment ID. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptionAssignments/%7BsubscriptionAssignmentId%7D
Subscription reactivation request
Send a subscription reactivation request.
This endpoint sends a notification to the subscription owner. If company-wide billing is enabled, this endpoint also sends a notification to all company administrators (Company Admin and Billing Admin).
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as a member of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
path Parameters
subscriptionUuid required | string Unique identifier of company subscription in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request POST \ --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/reactivationRequest
Read subscription SAML Certificate
Retrieve a subscriptions's public SAML verification certificate.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the user that owns the subscription.
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows read access to all marketplace data.
ROLE_CHANNEL_PRODUCT_SUPPORT
-Allows access as a Product Support agent for the marketplace.
ROLE_APPLICATION
-Allows access as the Developer that owns the Product.
path Parameters
subscriptionUuid required | string Unique identifier of company subscription in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/saml/certificate
Response samples
- 200
"-----BEGIN CERTIFICATE-----\nMIICyDCCAbCgAwIBAgIGAWF7mAIjMA0GCSqGSIb3DQEBBQUAMCUxIzAhBgNVBAoM\nGkNPTVBBTllfRU5USVRMRU1FTlQtNzQ1NzI5MB4XDTE4MDIwODE3MjMzNVoXDTIz\nMDIwOTE3MjMzNVowJTEjMCEGA1UECgwaQ09NUEFOWV9FTlRJVExFTUVOVC03NDU3\nMjkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQvnSC76Jwsrjw0FDO\nMzutqNLyrlww86LiEcDiaGn/Ms6cASbpQFJiA7f5BVbTHCAS4fPQnLcBoZs25OwP\n69ibm5hrJlfmZwPVU0Odqd9M/kGmV4U4EDgieH6BcF0cXwpJ8OeXLhf8N+9tr9sN\n7MvkvMgGqpjwXAwYDFZWxBf0+k6O+rO/XuCuIKtc4eD0jPIS6NfxD5DvXNGc83ro\nffgjM0HNq41jieDAhmAAnj12LoRE4V3qQwqbE3p5JBHsmjOJ2/kGoZdkorf3oSuT\njlsLooDi/NTKlWxnlIvnlNSBnlfzpZl6yQIW4j8FDe/4p02G6VMYIozTB37OM98j\n4USHAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAHrlJjQs05EykfyuvUFZUOjAiqwN\nM/1WHW8xtCA/qa7H1PJQ6B7xyJcmw/ad23ui74sycfkmCLMACP1tb0M8CJ6/rsZH\nltUy8sXSGg3fyTA9Ff8sJiMs0nCw0Wzkk+P5JGig7kPBi1W7gSFTP4tfrktp65sU\nxefLNh/axCHE2C5lxrYtwsE8ocSqNZwPDIWihcaapvdxDyr8l62F2dL3NXulLVRW\nOV4G+KGVwCCEswjTN3idyGjknBCgaiFmKMPFeZm5feUE6f2D40Z/CLrcaB1HV5/q\nMBljuA6qKsDLaABwtxvviQ18p2GYmfpXv5mLJlSNSRnzH9zQzjGsqV09x7U=\n-----END CERTIFICATE-----\n"
Read SAML metadata for subscription
Retrieve a subscription's SAML metadata.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access as the user that owns the subscription.
ROLE_BILLING_ADMIN
-Allows access as a Billing Admin of the company that owns the subscription.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows read access to all marketplace data.
ROLE_CHANNEL_PRODUCT_SUPPORT
-Allows access as a Product Support agent for the marketplace.
ROLE_APPLICATION
-Allows access as the Developer that owns the Product.
path Parameters
subscriptionUuid required | string Unique identifier of company subscription in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/subscriptions/%7BsubscriptionUuid%7D/saml
Response samples
- 200
List all subscriptions for a company
List all of the subscriptions for the given company
path Parameters
companyId required | string Company ID |
query Parameters
fromDate | string Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format |
toDate | string Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format |
discountId | number Filters subscriptions by internal discount ID |
status | string Filters subscriptions by status |
editionId | number Filters subscriptions by internal edition ID |
paymentPlanId | number Filters subscriptions by internal payment plan ID |
lastModified | number Filters subscriptions by last modified date |
applicationIds | number Filters subscriptions by internal application ID |
bundleApplicationId | number Filters subscriptions by internal bundle ID |
expand | string Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition". |
orderReferenceCode | string Filters subscriptions by order reference code |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
Change subscription details
Change the specified subscription for the specified user and company with the provided data.
You cannot perform assisted sales, in which the buyer purchases a product for or on behalf of someone else, through the API.
When you use the Change Subscription Details request to update a subscription that was created though the user interface as an assisted sale, a new order is created for the specified user ID and company. Because the new order is not created as an assisted sale, the salesSupportUser parameter is returned with a value of null.
path Parameters
companyId required | string User's company ID |
subscriptionId required | string Subscription ID |
userId required | string User ID |
query Parameters
sendNotification | boolean Default: true Send notification of the subscription's creation. Default value is true. |
Request Body schema:
Subscription data object
assignedUsers | number or null Number of users assigned to subscription |
bundleApplicationId | number or null Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints. |
object or null (LinkWS) | |
creationDate | number or null Subscription creation date |
object or null (LinkWS) | |
endDate | number or null Subscription end date |
externalAccountId | string or null External account identifier (from vendor) |
id | string or null ID |
internalId | string or null The UUID for a subscription |
externalId | string or null External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API. |
label | string or null Label for a subscription |
maxUsers | number or null Maximum number of users allowed to be assigned to subscription |
object or null (OrderWS) Resource links | |
object or null (LinkWS) | |
redirectUrl | string or null Interactive endpoint URL |
status | string or null Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.) |
object or null (OrderWS) Resource links | |
object or null (LinkWS) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
List all subscriptions for a user
List all of the subscriptions for the given user
path Parameters
companyId required | string User's company ID |
userId required | string User ID |
query Parameters
fromDate | string Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format |
toDate | string Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format |
discountId | number Filters subscriptions by internal discount ID |
status | string Filters subscriptions by order status |
editionId | number Filters subscriptions by internal edition ID |
paymentPlanId | number Filters subscriptions by internal payment plan ID |
lastModified | number Filters subscriptions by last modified date |
applicationIds | number Filters subscriptions by internal application ID |
bundleApplicationId | number Filters subscriptions by internal bundle ID |
expand | string Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition". |
orderReferenceCode | string Filters subscriptions by order reference code |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
Create a subscription
Create a subscription for the given user and company using the provided data
path Parameters
companyId required | string User's company ID |
userId required | string User ID |
query Parameters
sendNotification | boolean Default: true Send notification of the subscription's creation. Default value is true. |
Request Body schema:
Subscription data object
assignedUsers | number or null Number of users assigned to subscription |
bundleApplicationId | number or null Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints. |
object or null (LinkWS) | |
creationDate | number or null Subscription creation date |
object or null (LinkWS) | |
endDate | number or null Subscription end date |
externalAccountId | string or null External account identifier (from vendor) |
id | string or null ID |
internalId | string or null The UUID for a subscription |
externalId | string or null External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API. |
label | string or null Label for a subscription |
maxUsers | number or null Maximum number of users allowed to be assigned to subscription |
object or null (OrderWS) Resource links | |
object or null (LinkWS) | |
redirectUrl | string or null Interactive endpoint URL |
status | string or null Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.) |
object or null (OrderWS) Resource links | |
object or null (LinkWS) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
Preview changed subscription details
Preview the changes for the given subscription using the provided data
path Parameters
companyId required | string User's company ID |
subscriptionId required | string Subscription ID |
userId required | string User ID |
Request Body schema:
Subscription data object
assignedUsers | number or null Number of users assigned to subscription |
bundleApplicationId | number or null Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints. |
object or null (LinkWS) | |
creationDate | number or null Subscription creation date |
object or null (LinkWS) | |
endDate | number or null Subscription end date |
externalAccountId | string or null External account identifier (from vendor) |
id | string or null ID |
internalId | string or null The UUID for a subscription |
externalId | string or null External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API. |
label | string or null Label for a subscription |
maxUsers | number or null Maximum number of users allowed to be assigned to subscription |
object or null (OrderWS) Resource links | |
object or null (LinkWS) | |
redirectUrl | string or null Interactive endpoint URL |
status | string or null Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.) |
object or null (OrderWS) Resource links | |
object or null (LinkWS) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Preview create a subscription
Preview creating a subscription for the given user and company using the provided data
path Parameters
companyId required | string User's company ID |
userId required | string User ID |
Request Body schema:
Subscription data object
assignedUsers | number or null Number of users assigned to subscription |
bundleApplicationId | number or null Bundle ID. Specify during subscription creation if you want the subscription to be part of a bundle. Retrieve a list of bundle IDs with the List all bundles request, and then specify the desired ID here. Only supported for the Create a subscription endpoint and not supported for any other endpoints. |
object or null (LinkWS) | |
creationDate | number or null Subscription creation date |
object or null (LinkWS) | |
endDate | number or null Subscription end date |
externalAccountId | string or null External account identifier (from vendor) |
id | string or null ID |
internalId | string or null The UUID for a subscription |
externalId | string or null External ID for a subscription. Not used to change or create a subscription. If a subscription has an external ID, the ID is included in the responses to the list subscription or read subscription APIs. To set an external ID of a subscription, use the Update subscriptions API. |
label | string or null Label for a subscription |
maxUsers | number or null Maximum number of users allowed to be assigned to subscription |
object or null (OrderWS) Resource links | |
object or null (LinkWS) | |
redirectUrl | string or null Interactive endpoint URL |
status | string or null Subscription status (Valid values are INITIALIZED, FAILED, FREE_TRIAL, FREE_TRIAL_EXPIRED, ACTIVE, SUSPENDED, or CANCELLED.) |
object or null (OrderWS) Resource links | |
object or null (LinkWS) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
List all purchase orders for a subscription
List all the purchase orders for the given subscription
path Parameters
subscriptionId required | string Subscription ID. |
query Parameters
startDateFrom | string Filters results to only include subscriptions where billing starts on or after the specified date (format: Mon March 01 00:00:00 EDT 2015) |
startDateTo | string Filters results to only include subscriptions where billing starts on or before the specified date (format: Mon March 01 00:00:00 EDT 2015) |
status | string Enum: "INITIALIZED" "PENDING_USER_APPROVAL" "PENDING_REMOTE_CREATION" "PENDING_MANUAL_RECOVERY" "PENDING_ASYNCHRONOUS_CREATION" "FREE_TRIAL" "ACTIVE" "FINISHED" "ONE_TIME" "CANCELLED" "SUSPENDED" "FREE_TRIAL_EXPIRED" "FREE_TRIAL_CANCELLED" "DELETED" "FAILED" "UPCOMING" "PENDING_MIGRATION_ACTIVATION" "PENDING_DELAYED_PROVISIONING" Filters subscriptions by order status |
currency | string Enum: "USD" "CAD" "EUR" "JPY" "GBP" "KRW" "CHF" "SEK" "SGD" "MYR" "AUD" "MXN" "INR" "BRL" "DKK" "NZD" "NOK" "ZAR" "PHP" "CNY" "SAR" "GTQ" "IDR" "ARS" "COP" "PEN" Filters subscriptions by currency |
type | string Enum: "NEW" "MIGRATION" "ADOPTION" "FREE_TRIAL_ACTIVATION" "TERMINATION_FEE" "END_OF_CONTRACT_MIGRATION" "REFUND" "CREDIT" "ONE_TIME_FEE" "ADDITIONAL_FEE" "END_OF_DISCOUNT_MIGRATION" "METERED_USAGE" Filters subscriptions by order type. |
frequency | string Enum: "ONE_TIME" "MONTHLY" "QUARTERLY" "SIX_MONTHS" "YEARLY" "TWO_YEARS" "THREE_YEARS" "DAILY" Filters subscriptions by pricing frequency |
orderReferenceCode | string Filters subscriptions by order reference code |
applicationIds | number Filters subscriptions by internal application ID |
fromCreationDate | number Filters results to only include subscriptions that were created on or after the specified date |
toCreationDate | number Filters results to only include subscriptions that were created on or before the specified date |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "DATE" "ORDER_ID" "TOTAL" Sort field. |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order. |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/orders?startDateFrom=SOME_STRING_VALUE&startDateTo=SOME_STRING_VALUE&status=SOME_STRING_VALUE¤cy=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
Update an add-on instance
Update the given add-on instance on the given subscription using the provided data
path Parameters
addonInstanceUuid required | string |
subscriptionId required | string Subscription ID |
Request Body schema:
Add-on instance object
creationDate | number or null Creation date of the addon instance |
offeringUuid | string or null Unique identifier for add-on offering |
object or null (OrderWS) Resource links | |
status | string or null Addon instance status. May be ACTIVE, CANCELLED or FAILED. |
units | number or null Units for add-on instance |
uuid | string or null Unique identifier for add-on instance |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Delete an add-on instance
Delete the given add-on instance on the given subscription
path Parameters
addonInstanceUuid required | string |
subscriptionId required | string Subscription ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/addons/%7BaddonInstanceUuid%7D
List all subscriptions
The list may be filtered using the optional filter parameters
query Parameters
fromDate | string Filters results to only include subscriptions that were created on or after the specified date in yyyy/MM/DD HH:mm:ss format |
toDate | string Filters results to only include subscriptions that were created on or before the specified date in yyyy/MM/DD HH:mm:ss format |
discountId | number Filters subscriptions by internal discount ID |
status | string Filters subscriptions by order status |
editionId | number Filters subscriptions by internal edition ID |
paymentPlanId | number Filters subscriptions by internal payment plan ID |
lastModified | number Filters results to only include subscriptions that were modified on or after the specified date in UNIX Epoch milliseconds |
applicationIds | number Filters subscriptions by internal Application ID |
bundleApplicationId | number Filters subscriptions by internal bundle ID |
expand | string Expands filtered subscription results to include details about the specified query parameters, one or more of "order", "product", or "edition". |
orderReferenceCode | string Filters subscriptions by order reference code |
count | integer Default: 250 Number of results to fetch. Used for paging. |
sortField | string Default: "DATE" Enum: "APPLICATION" "COMPANY" "DATE" "OWNER" "STATUS" "SUBSCRIPTION_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions?fromDate=SOME_STRING_VALUE&toDate=SOME_STRING_VALUE&discountId=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&editionId=SOME_NUMBER_VALUE&paymentPlanId=SOME_NUMBER_VALUE&lastModified=SOME_NUMBER_VALUE&applicationIds=SOME_NUMBER_VALUE&bundleApplicationId=SOME_NUMBER_VALUE&expand=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'
Response samples
- 200
List all payments for a subscription
List all the payments for the given subscription
path Parameters
subscriptionId required | string Subscription ID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
fromDate | number From date |
method | string Enum: "ADP_INVOICE" "ARIBAPAY" "BT_BILL" "CLICKANDBUY" "CLOUDFOUNDRY" "CREDIT_CARD" "CUMULA_BILL" "DTAG" "EXTERNAL_INVOICE" "KREDITKARTE" "LASTSCHRIFT_MRNEXNET" "MANO_TEO_BILL" "MANUAL" "MARKETPLACE_CREDITS" "NETS_ARVATO_INVOICE" "NEXTEL" "PAYPAL" "ROGERS_CC_DTMF" "ROGERS_CC_POS" "SNAP" "TBILL" "THISTLE" "TOICLEARING" Payment method |
result | string Enum: "FAILED" "GATEWAY_NOT_AVAILABLE" "MANUAL" "SUCCESSFUL" Payment result |
sortField | string Default: "PAYMENT_ID" Enum: "AMOUNT" "DATE" "PAYMENT_ID" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/payments?count=SOME_INTEGER_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
Retrieve a subscription
Retrieve the subscription for the given subscription ID
path Parameters
subscriptionId required | string The unique identifier for the subscription |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D
Response samples
- 200
Request cancellation
Requests cancellation of the given subscription
path Parameters
subscriptionId required | string Subscription ID |
query Parameters
sendNotification | boolean Default: true Sends email notification if true |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D?sendNotification=SOME_BOOLEAN_VALUE'
Update subscriptions
Use this request to manage subscription lifecycles (suspend and activate subscriptions), update external IDs, and add or change subscription custom attribute values.
path Parameters
subscriptionId required | string Subscription ID |
Request Body schema:
Subscription data object
status required | string Enum: "ACTIVE" "SUSPENDED" The desired subscription lifecycle status. Set to SUSPENDED to suspend an active subscription, or ACTIVE to reactivate a suspended subscription. |
suspensionReasonMessage | string Reason for subscription suspension. Only used, and required, when setting the status to SUSPENDED. |
externalId | string The external ID to add or update in the subscription. Only set an external ID if required. |
Array of objects (SubscriptionCustomAttribute) An array of subscription custom attributes. If specified in a PATCH request, the values will be updated or added to the subscription. The custom attributes must already be defined in the marketplace (at Manage > Marketplace > Settings > Custom Attributes > Subscription Custom Attributes). |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Read addon instances for a subscription
Read addon instances for a subscription
path Parameters
subscriptionId required | string Subscription ID |
query Parameters
filter | string Search filter |
sortField | string Default: "DATE" Enum: "DATE" "STATUS" "UUID" Sort field (UUID, DATE or STATUS) |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order (ASC or DESC) |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/addons?filter=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
Create an add-on instance
Create an add-on instance on the given subscription using the given data
path Parameters
subscriptionId required | string Subscription ID |
Request Body schema:
Add-on instance object
creationDate | number or null Creation date of the addon instance |
offeringUuid | string or null Unique identifier for add-on offering |
object or null (OrderWS) Resource links | |
status | string or null Addon instance status. May be ACTIVE, CANCELLED or FAILED. |
units | number or null Units for add-on instance |
uuid | string or null Unique identifier for add-on instance |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 201
List all invoices for a subscription
List all of the invoices for the given subscription
path Parameters
subscriptionId required | string Subscription ID |
query Parameters
count | integer Default: 250 Number of results to fetch. Used for paging. |
excludeFree | boolean Exclude invoices with no charges (free) |
fromDate | number From date |
sortField | string Default: "INVOICE_ID" Enum: "DATE" "INVOICE_ID" "TOTAL" Sort field |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Sort order |
start | integer Default: 0 First result index. Used for paging. |
status | string Enum: "CARRIED" "PAID" "UNPAID" "VOIDED" Invoice status |
toDate | number To date |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/invoices?count=SOME_INTEGER_VALUE&excludeFree=SOME_BOOLEAN_VALUE&fromDate=SOME_NUMBER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'
Response samples
- 200
Preview creation of an addon instance for a subscription
Preview creation of an addon instance for a subscription
path Parameters
subscriptionId required | string Subscription ID |
Request Body schema:
Payload of addon instance to create
creationDate | number or null Creation date of the addon instance |
offeringUuid | string or null Unique identifier for add-on offering |
object or null (OrderWS) Resource links | |
status | string or null Addon instance status. May be ACTIVE, CANCELLED or FAILED. |
units | number or null Units for add-on instance |
uuid | string or null Unique identifier for add-on instance |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Preview change of an addon instance for a subscription
Preview change of an addon instance for a subscription
path Parameters
addonInstanceUuid required | string |
subscriptionId required | string Subscription ID |
Request Body schema:
Payload of addon instance to create
creationDate | number or null Creation date of the addon instance |
offeringUuid | string or null Unique identifier for add-on offering |
object or null (OrderWS) Resource links | |
status | string or null Addon instance status. May be ACTIVE, CANCELLED or FAILED. |
units | number or null Units for add-on instance |
uuid | string or null Unique identifier for add-on instance |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
Response samples
- 200
Preview subscription cancellation
Preview a subscription cancellation for the given subscription ID
path Parameters
subscriptionId required | string The subscription ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/billing/v1/subscriptions/%7BsubscriptionId%7D/previewCancel
Response samples
- 200
Create subscription
Note: This endpoint is being deprecated. // Create a new subscription on behalf of a user who is a member of a marketplace company linked to the current reseller company
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
Request Body schema: application/jsonrequired
Information about the new subscription that will be created
targetCompanyId required | string (Required) ID of the company in which the Reseller will create the new subscription |
targetUserId required | string (Required) ID of the user for whom the Reseller will create the new subscription |
paymentPlanId required | string (Required) Edition Payment Plan ID |
parentSubscriptionId | string or null ID of an add-on product's parent subscription |
orderLines required | string Unit type and quantity |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "targetCompanyId": "698555fc-bc65-4163-9fee-16308edec41b",
- "targetUserId": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
- "parentSubscriptionId": "386626c0-53e2-4515-8450-4a720bb5d029",
- "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
- "orderLines": [
- {
- "unit": "USER",
- "quantity": "1"
}
]
}
Response samples
- 200
{- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "activeOrder": {
- "id": "1553",
- "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "editionName": "Edition",
- "orderLines": [
- {
- "unit": "USER",
- "quantity": "1"
}
], - "createdOn": 1529083173000
}, - "company": {
- "id": "698555fc-bc65-4163-9fee-16308edec41b",
- "name": "Company A"
}, - "user": {
- "id": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
- "firstName": "Michael",
- "lastName": "Jordan"
}, - "applicationName": "AUTO_DISCOUNTS_APP",
- "pendingEvent": "SUBSCRIPTION_CHANGE",
- "status": "ACTIVE",
- "createdOn": 1529083173000,
- "referenceCode": "bundle09"
}
List subscriptions
Note: This endpoint is being deprecated. // Retrieves a list of all user subscriptions of a linked company. You can filter the list using optional query parameters.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
ROLE_RESELLER_MANAGER
-Allows access as a Reseller Manager for the company
query Parameters
context required | string Value: "RESELLER, RESELLER_MANAGER" Supported billing contexts |
number | integer Page number |
size | integer Number of results per page |
sort | string Sort field and order. For ascending sort order, use the '+[FieldName]' format. For descending order, use the '-[FieldName]' format. |
userId | string For RESELLER, the customer's user ID; for RESELLER_MANAGER, the Reseller's user ID |
resellerCompanyId required | string Reseller's company ID |
customerCompanyId required | string User's company ID. Required only for RESELLER context |
createdOn | string Date filter, defined by upper or lower inclusive or exclusive limits, in Unix timestamp format. Acceptable values are: gte([timestamp]) - 'greater than or equal to'; gt([timestamp]) - 'greater than'; lte([timestamp]) - 'less than or equal to'; or lt([timestamp]) - 'less than.' |
status | string Enum: "INITIALIZED" "FAILED" "FREE_TRIAL" "FREE_TRIAL_EXPIRED" "ACTIVE" "SUSPENDED" "CANCELLED" Subscription status. Acceptable values are: [status] - 'equal to'; or in([status1],[status2]) - 'status in the list'. For example, status=FAILED or status=in(FAILED,ACTIVE) |
paidStatus | string Value: "PAID, FREE" Status of the subscription related to the payment |
pending | boolean Indicates whether subscription has pending events |
searchText | string Search text |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/appReseller/v1/subscriptions?context=SOME_STRING_VALUE&number=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE&userId=SOME_STRING_VALUE&resellerCompanyId=SOME_STRING_VALUE&customerCompanyId=SOME_STRING_VALUE&createdOn=SOME_STRING_VALUE&status=SOME_STRING_VALUE&paidStatus=SOME_STRING_VALUE&pending=SOME_BOOLEAN_VALUE&searchText=SOME_STRING_VALUE'
Response samples
- 200
{- "content": [
- {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "activeOrder": {
- "id": "1553",
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "editionName": "Edition",
- "createdOn": 1529083173000
}, - "company": {
- "id": "698555fc-bc65-4163-9fee-16308edec41b",
- "name": "Company A"
}, - "user": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "firstName": "Michael",
- "lastName": "Jordan"
}, - "applicationName": "AUTO_DISCOUNTS_APP",
- "pendingEvent": "SUBSCRIPTION_CHANGE",
- "status": "ACTIVE"
}, - {
- "id": "38e8bb4a-d737-4564-afee-e68edb00fd38",
- "activeOrder": {
- "id": "3345",
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "editionName": "Recurring Edition",
- "createdOn": 1529083173000
}, - "company": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "name": "Company B"
}, - "user": {
- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "firstName": "Michael",
- "lastName": "Jordan"
}, - "applicationName": "AUTO_DISCOUNTS_APP",
- "pendingEvent": "SUBSCRIPTION_CHANGE",
- "status": "ACTIVE"
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 1
}
}
Subscription details
Note: This endpoint is being deprecated. // Read a subscription by ID
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller
path Parameters
subscriptionId required | string Subscription ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptions/%7BsubscriptionId%7D
Response samples
- 200
{- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "activeOrder": {
- "id": "1553",
- "createdOn": 1529083173000,
- "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "editionName": "Edition",
- "orderLines": [
- {
- "unit": "USER",
- "quantity": "1"
}
]
}, - "company": {
- "id": "698555fc-bc65-4163-9fee-16308edec41b",
- "name": "Company A"
}, - "user": {
- "id": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
- "firstName": "Michael",
- "lastName": "Jordan"
}, - "applicationName": "AUTO_DISCOUNTS_APP",
- "pendingEvent": "SUBSCRIPTION_CHANGE",
- "status": "ACTIVE",
- "createdOn": 1529083173000,
- "referenceCode": "bundle09"
}
Update subscription
Note: This endpoint is being deprecated. // Upgrade or downgrade a subscription on behalf of a user who is a member of a marketplace company linked to the current reseller company.
When you upgrade or downgrade subscriptions, you must provide both the paymentPlanId and the orderLines objects in the request even if the units are not changing.
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
path Parameters
subscriptionId required | string Subscription ID |
Request Body schema: application/jsonrequired
Information about the new values to set to the subscription
paymentPlanId | string Edition Payment Plan ID |
Array of objects (OrderLineDetailsWS) Unit type and quantity |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
- "orderLines": [
- {
- "unit": "USER",
- "quantity": "15"
}
]
}
Response samples
- 200
{- "id": "386626c0-53e2-4515-8450-4a720bb5d029",
- "activeOrder": {
- "id": "1553",
- "paymentPlanId": "30ccf1e7-1937-40cb-8e73-851a226fd4ea",
- "status": "PENDING MANUAL RECOVERY",
- "frequency": "One Time",
- "totalFee": "USD350.00",
- "editionName": "Edition",
- "orderLines": [
- {
- "unit": "USER",
- "quantity": "15"
}
], - "createdOn": 1529083173000
}, - "company": {
- "id": "698555fc-bc65-4163-9fee-16308edec41b",
- "name": "Company A"
}, - "user": {
- "id": "2c061df6-4313-45e0-8709-a0ca19b0aaa3",
- "firstName": "Michael",
- "lastName": "Jordan"
}, - "applicationName": "AUTO_DISCOUNTS_APP",
- "pendingEvent": "SUBSCRIPTION_CHANGE",
- "status": "ACTIVE",
- "createdOn": 1529083173000,
- "referenceCode": "bundle09"
}
Cancel subscription
Note: This endpoint is being deprecated. // Cancel a subscription on behalf of a user who is a member of a company linked to the current reseller
Required Scopes and Authorization Rules
ROLE_RESELLER
-Allows access as a Reseller for the company
path Parameters
subscriptionId required | string Subscription ID |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url https://marketplace.appdirect.com/api/appReseller/v1/subscriptions/%7BsubscriptionId%7D
Create developer account
This call creates a developer account. Maximum of global requests of 20 per 2 seconds.
Required Scopes and Authorization Rules
ROLE_APPLICATION
-User must provide consumer key and secret from the applications profile.
Request Body schema: application/json
Used when type='DEVELOPER_ACCOUNT' and operation='CREATE'
type required | string Required. It must have the value 'DEVELOPER_ACCOUNT' |
operation required | string Required. The operation. Options: 'CREATE' and 'EXPIRE' |
Array of objects (DeveloperAccount) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "type": "DEVELOPER_ACCOUNT",
- "operation": "CREATE",
- "developerAccounts": [
- {
- "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
- "developerDeveloperIdentifier": "bcde7116-5d20-4628-83a6-59b032a7cd2e",
- "name": "ABC Company",
- "contactFirstName": "Alex",
- "contactLastName": "Ferguson",
- "addressLine": "50 Grove St.",
- "addressLine2": "address line 2",
- "addressLine3": "address line 3",
- "postalCode": "12340",
- "city": "Somerville",
- "state": "MA",
- "country": "postalCode",
- "phoneNumber": "415-555-5555",
- "email": "abcinc@abc.com",
- "primaryDomain": "abc.com",
- "additionalDomains": [
- "abc1.com",
- "abc2.com"
], - "customAttributes": {
- "customAtrribute1": "1234567890"
}
}
]
}
Expire developer account
This call expires a developer account. Maximum of global requests of 20 per 2 seconds.
Required Scopes and Authorization Rules
ROLE_APPLICATION
-User must provide consumer key and secret from the applications profile.
Request Body schema: application/json
Used when type='DEVELOPER_ACCOUNT' and operation='EXPIRE'
type required | string Required. It must have the value 'DEVELOPER_ACCOUNT' |
operation required | string Required. The operation. Options: 'CREATE' and 'EXPIRE' |
Array of objects (DeveloperAccount) |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "type": "DEVELOPER_ACCOUNT",
- "operation": "CREATE",
- "developerAccounts": [
- {
- "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
- "developerDeveloperIdentifier": "bcde7116-5d20-4628-83a6-59b032a7cd2e",
- "name": "ABC Company",
- "contactFirstName": "Alex",
- "contactLastName": "Ferguson",
- "addressLine": "50 Grove St.",
- "addressLine2": "address line 2",
- "addressLine3": "address line 3",
- "postalCode": "12340",
- "city": "Somerville",
- "state": "MA",
- "country": "postalCode",
- "phoneNumber": "415-555-5555",
- "email": "abcinc@abc.com",
- "primaryDomain": "abc.com",
- "additionalDomains": [
- "abc1.com",
- "abc2.com"
], - "customAttributes": {
- "customAtrribute1": "1234567890"
}
}
]
}
Assign user
This call assigns a user. Maximum of global requests of 20 per 2 seconds.
Required Scopes and Authorization Rules
ROLE_APPLICATION
-User must provide consumer key and secret from the applications profile.
Request Body schema: application/json
Used when type='ASSIGNMENT' and operation='ASSIGN'
type required | string Required. It must have the value 'ASSIGNMENT' |
operation required | string Required. The operation. Options: 'ASSIGN' and 'UNASSIGN' |
accountIdentifier required | string Required. The Account Identifier provided when the subscription was created |
developerIdentifier required | string <uuid> Required. The company UUID of the Developer's company |
userIdentifier required | string Required. The user identifier in the Developer's system |
userName | string |
firstName | string |
lastName | string |
string |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "type": "ASSIGNMENT",
- "operation": "ASSIGN",
- "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
- "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
- "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
- "userName": "Test_UserName",
- "firstName": "Test_FirstName",
- "lastName": "Test_LastName",
- "email": "test_email@yopmail.com"
}
Unassign user
This call unassigns a user. Maximum of global requests of 20 per 2 seconds.
Request Body schema: application/json
Used when type='ASSIGNMENT' and operation='UNASSIGN'
type required | string Required. It must have the value 'ASSIGNMENT' |
operation required | string Required. The operation. Options: 'ASSIGN' and 'UNASSIGN' |
accountIdentifier required | string Required. The Account Identifier provided when the subscription was created |
developerIdentifier required | string <uuid> Required. The company UUID of the Developer's company |
userIdentifier required | string Required. The user identifier in the Developer's system |
userName | string |
firstName | string |
lastName | string |
string |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "type": "ASSIGNMENT",
- "operation": "ASSIGN",
- "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
- "developerIdentifier": "f0b5c422-0400-459f-879c-ac369d924bb9",
- "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
- "userName": "Test_UserName",
- "firstName": "Test_FirstName",
- "lastName": "Test_LastName",
- "email": "test_email@yopmail.com"
}
Get user assignment
This call retrieves a user assignment. Maximum of global requests of 20 per 2 seconds.
Required Scopes and Authorization Rules
ROLE_APPLICATION
-User must provide consumer key and secret from the applications profile.
query Parameters
developerIdentifier required | string |
accountIdentifier required | string |
userIdentifier required | string |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/sync/v1/assignments?developerIdentifier=SOME_STRING_VALUE&accountIdentifier=SOME_STRING_VALUE&userIdentifier=SOME_STRING_VALUE'
Response samples
- 200
{- "userIdentifier": "45bbf36e-5902-4eb3-9072-87d267d302d4",
- "accountIdentifier": "200ae1d9-c5b9-4c0b-843c-45d8e74d741a",
- "userName": "Test_UserName",
- "firstName": "Test_FirstName",
- "lastName": "Test_LastName",
- "email": "test_email@yopmail.com",
- "assigned": true
}
Create user connections
Creates a new user connection for Search. A connection (accountName) associates the app (application UUID) and user information (userId, companyId, and handle). The connection is used to, for example, identify events related to the user's app account. accountName Format: {user_handle}@{user_uuid}@{company_uuid} Note: Application UUID = Product UUID
Request Body schema: application/jsonrequired
required | object (ApplicationToConnect) Identify an application that can be connected to users for Search |
required | object (UserToConnect) Identify a user so they can be connected, with an app user account, to Search |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "app": {
- "id": "b2fc6737-3d3f-4da2-afda-f80f25b89af9"
}, - "user": {
- "userId": "a13a9998-e025-4751-8fee-72afdc0fe6d5",
- "companyId": "2cc88871-e942-4910-96e3-0521d7ae52f4",
- "handle": "bob"
}
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 409
- 502
{- "connection": {
- "accountName": "bob@a1130ec9-3044-4cc6-b9a8-5a71fd2581a5@ce91a616-77f6-48b5-b6f3-d22bdeb362d9"
}
}
Disconnect user accounts
Disconnects an existing user account from Search. To access this API, you must configure product-scoped OAuth2 authentication for the application.
query Parameters
appId required | string Note: Application UUID = Product UUID |
accountName required | string The user application account connection (accountName) to disconnect |
callbackUrl | string Callback URL to which to publish status updates about the disconnection |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request DELETE \ --url 'https://marketplace.appdirect.com/api/appwise/v2/accounts?appId=SOME_STRING_VALUE&accountName=SOME_STRING_VALUE&callbackUrl=SOME_STRING_VALUE'
Response samples
- 200
- 400
- 401
- 403
- 502
{- "app": {
- "id": "b2fc6737-3d3f-4da2-afda-f80f25b89af9"
}, - "connection": {
- "accountName": "bob@a13a9998-e025-4751-8fee-72afdc0fe6d5@2cc88871-e942-4910-96e3-0521d7ae52f4",
- "status": "PENDING"
}, - "user": {
- "companyId": "2cc88871-e942-4910-96e3-0521d7ae52f4",
- "userId": "a13a9998-e025-4751-8fee-72afdc0fe6d5"
}
}
List all users
Retrieves all marketplace users
Required Scopes and Authorization Rules
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
query Parameters
name | string First or last name of user |
string Email address of user | |
externalId | string External ID of user |
username | string User name of user |
companyMembershipRole | string If specified, returns only users with the specified role, one of the following values: ROLE_CHANNEL_ADMIN (Marketplace Manager), ROLE_CHANNEL_PRODUCT_SUPPORT (Product Support), ROLE_SALES_SUPPORT (Sales Support), ROLE_RESELLER_MANAGER (Reseller Manager), ROLE_RESELLER (Reseller), ROLE_CHANNEL_SUPPORT (Customer Support), ROLE_SYS_ADMIN (Company Admin), ROLE_BILLING_ADMIN (Billing Admin), ROLE_DEVELOPER (Developer) |
custom.customAttributeName | string Accepts a notIn filter in the form of ?custom.customAttributeName=notIn(customAttributeValue1, customAttributeValue2, customAttributeValueN...) that excludes users with matching values. Before you can use the filter, you must first create "Text" type user custom attributes in the user interface. You can then specify the custom attribute name and values as customAttributeName and customAttributeValueN. See https://help.appdirect.com/appmarket/Default.htm#MarketplaceManager/MM-Setgscustui-create-attribs.html. |
lastModified | number The date on which the user was last modified, in UNIX Epoch milliseconds |
page | integer Default: 0 Zero-based page index |
size | integer Default: 50 Number of results per page to return |
sortField | string Default: "DATE" Enum: "DATE" "FIRST_NAME" "LAST_NAME" The property to sort by |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Ordering type |
includeCustomAttributes | boolean Optional. Default is true. When set to true, user custom attributes are included in the API response. When set to false, user custom attributes are not included. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/users?name=SOME_STRING_VALUE&email=SOME_STRING_VALUE&externalId=SOME_STRING_VALUE&username=SOME_STRING_VALUE&companyMembershipRole=SOME_STRING_VALUE&custom.customAttributeName=SOME_STRING_VALUE&lastModified=SOME_NUMBER_VALUE&page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&includeCustomAttributes=SOME_BOOLEAN_VALUE'
Response samples
- 200
Activate a user
Activate a marketplace user using its associated activation token.
Required Scopes and Authorization Rules
ROLE_USER
-Allows access to an user who possesses an activation token.
path Parameters
activationToken required | string User's activation token, typically received via invitation emails |
Request Body schema: application/json
User activation information
activated | boolean Is user activated |
string User email | |
password | string User password |
termsOfService | boolean Indicates whether the user has accepted the terms of service |
privacyPolicy | boolean Indicates whether the user has agreed to the privacy policy |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "email": "alex.gonsalez@company2438285395.com",
- "password": "some-password",
- "activated": true,
- "termsOfService": true,
- "privacyPolicy": true
}
Response samples
- 200
- 404
Read a user
Retrieves a marketplace user by ID or external ID. If you use the ID, you can omit a prefix or use 'id:' as the prefix. If you use the external ID, you must always specify the 'externalId:' prefix.
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_USER
-Allows access to read any company user.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
userUuid required | string Unique identifier (ID or external ID) of the user |
query Parameters
includeCustomAttributes | boolean Optional. Default is true. When set to true, user custom attributes are included in the API response. When set to false, user custom attributes are not included. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D?includeCustomAttributes=SOME_BOOLEAN_VALUE'
Response samples
- 200
- 404
Update a user
Updates a marketplace user
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
userUuid required | string Unique identifier of the user assigned by the AppDirect platform |
Request Body schema: application/jsonrequired
Specified updates to user information
object or null (BoostUser) | |
externalId | string External identifier of user |
firstName | string or null First name of user |
lastName | string or null Last name of user |
ldapId | string or null LDAP identifier of user |
idpUuid | string or null The external identity provider's ID for the user |
locale | string User locale in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US' |
currency | string Currency |
roles | Array of strings All users have ROLE_USER (end-user access). To assign the Network Manager, role use ROLE_CORPORATE_ADMIN. For company membership roles, see UserCompanyMembershipAccountV2. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "firstName": "Jane",
- "lastName": "Lee",
- "currency": "USD",
- "externalId": "b34974b2-f5d6-4326-9859-5247dc42ee60",
- "locale": "en_US",
- "ldapId": "1",
- "boostUser": {
- "apsUid": "murnu8w"
}, - "roles": [
- "ROLE_CORPORATE_ADMIN"
]
}
Response samples
- 200
- 404
Patch a user
Update ('patch') one or more fields in the user details. This only adds or updates the values for the properties that you include in the call; all other properties, and data already saved for them, are ignored
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_USER
-Allows access as a User for the marketplace.This permission allows a user to modify the following fields for their own user account: firstName, lastName, locale, and currency
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
userUuid required | string Unique identifier of the user assigned by the AppDirect platform |
Request Body schema: application/jsonrequired
Specified updates to user information
object or null (BoostUser) | |
externalId | string External identifier of user |
firstName | string or null First name of user |
lastName | string or null Last name of user |
username | string or null User name. If not provided, use the user's email address |
ldapId | string or null LDAP identifier of user |
idpUuid | string or null The external identity provider's ID for the user |
locale | string User locale in the standard ISO 639-1 language code + ISO 3166-1 country code format. For example: 'en_US' |
currency | string Currency |
roles | Array of strings All users have ROLE_USER (end-user access). To assign the Network Manager, role use ROLE_CORPORATE_ADMIN. For company membership roles, see UserCompanyMembershipAccountV2. |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "firstName": "Jane",
- "lastName": "Lee",
- "currency": "USD",
- "externalId": "b34974b2-f5d6-4326-9859-5247dc42ee60",
- "locale": "en_US",
- "ldapId": "1",
- "boostUser": {
- "apsUid": "murnu8w"
}, - "roles": [
- "ROLE_CORPORATE_ADMIN"
], - "idpUuid": "c412543-1233-6547-9809-0647dc42ee51"
}
Response samples
- 200
- 404
Read reseller user company associations
Reads a reseller user's company associations
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_USER
-Allows access to read any company user.
path Parameters
userUuid required | string Unique identifier of the user |
query Parameters
page | integer Default: 0 Zero-based page index |
size | integer Default: 50 Number of results per page to return |
sortField | string Default: "DATE" Value: "DATE" The property to sort by |
sortOrder | string Default: "ASC" Enum: "ASC" "DESC" Ordering type |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/rssrCompanyAssociations?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
- 404
Read user memberships
Retrieve a user's company memberships.
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_USER
-Allows access to retrieve own membership.
path Parameters
userUuid required | string Unique identifier of user in the API request |
query Parameters
status | string Status of membership to be requested |
includeUserCustomAttributes | boolean Optional. Default is true. When set to true, user custom attributes will be included in the API response. When set to false, user custom attributes will not be included. |
includeCompanyCustomAttributes | boolean Optional. Default is true. When set to true, company custom attributes will be included in the API response. When set to false, company custom attributes will not be included. |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/memberships?status=SOME_STRING_VALUE&includeUserCustomAttributes=SOME_BOOLEAN_VALUE&includeCompanyCustomAttributes=SOME_BOOLEAN_VALUE'
Response samples
- 200
- 404
Update last used company membership
Update a marketplace user's last used company.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_USER
-Allows updating company as company member.
path Parameters
companyUuid required | string Unique identifier of company to set as last used |
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request PUT \ --url https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/memberships/%7BcompanyUuid%7D/current
Response samples
- 404
Update user picture
Update a marketplace user’s profile picture. This method expects a Content-Type request header with a value of “multipart/form-data”. The updated user resource is returned.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_USER
-Allows access to retrieve self or other company users.
path Parameters
userUuid required | string Unique identifier of user in the API request |
Request Body schema: application/json
Image file that will be used as the profile picture.
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{ }
Response samples
- 200
- 404
Read user profile
Retrieve profile information for a marketplace user.
Required Scopes and Authorization Rules
ROLE_PARTNER_READ
-Allows access to read all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_CHANNEL_SUPPORT
-Allows access as a Customer Support agent for the marketplace.
ROLE_SALES_SUPPORT
-Allows access as a Sales Support agent for the marketplace.
ROLE_USER
-Allows access to retrieve self or other company user profiles.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
userUuid required | string Unique identifier of user in the API request |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/account/v2/users/%7BuserUuid%7D/profile
Response samples
- 200
- 404
Update user profile
Update a marketplace user's profile. Also marks user's checklist with profile as completed.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_USER
-Allows updating own or other company user profiles.
path Parameters
userUuid required | string Unique identifier of user in the API request |
query Parameters
removeUnspecifiedCustomAttributes | boolean Default: false When true, custom attributes not included in the body will be removed from the user's profile. When false, custom attributes not included in the body will remain in the user's profile, unmodified. |
Request Body schema: application/json
User profile resource containing requested updates
Array of objects or null (Link) Resource links | |
birthday | string Birthday date |
currentCity | string Current city |
Array of objects (CustomAttributeAccountV2) Custom attributes | |
Array of objects (EducationAccountV2) List of user's educational credentials | |
Array of objects (EmailAddressAccountV2) Email addresses | |
homePhone | string Home phone number |
hometown | string Hometown |
Array of objects (IM) List of instant messaging accounts | |
mobilePhone | string Mobile phone number |
string Twitter account | |
twoFactorAuthenticationMethod | string Two factor authentication method |
Array of objects (WorkExperienceAccountV2) List of work experiences | |
workPhone | string Work phone number |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "links": [
- {
- "rel": "user"
}, - {
- "href": "...",
- "rel": "..."
}
], - "birthday": "1999/9/9",
- "currentCity": "Current City",
- "customAttributes": [ ],
- "educations": [
- {
- "current": false,
- "degree": "bachelor's",
- "endYear": 2010,
- "field": "Computer Science",
- "school": "MIT",
- "startYear": 2007
}
], - "emailAddresses": [
- {
- "address": "alternate@company.com",
- "type": "WORK",
- "verified": false
}
], - "homePhone": "+1 123 123 1234",
- "hometown": "Home Town",
- "ims": [
- {
- "account": "someAccount",
- "type": "OTHER"
}, - {
- "account": "someAccount",
- "type": "OTHER"
}, - {
- "account": "someAccount",
- "type": "OTHER"
}
], - "mobilePhone": "+1 123 ",
- "twitter": "twitter_account",
- "twoFactorAuthenticationMethod": "twoFactorAuthenticationIsGreat",
- "workExperiences": [
- {
- "current": true,
- "description": "Developer @ Appdirect",
- "employer": "Appdirect",
- "endYear": 2017,
- "position": "Manager",
- "startYear": 2011
}
], - "workPhone": "+1 123 123 1234"
}
Response samples
- 200
- 404
Patch user profile
Update a marketplace user's profile. Also marks user's checklist with profile as completed.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
ROLE_USER
-Allows updating own or other company user profiles.
path Parameters
userUuid required | string Unique identifier of user in the API request |
query Parameters
removeUnspecifiedCustomAttributes | boolean Default: false When true, custom attributes not included in the body will be removed from the user's profile. When false, custom attributes not included in the body will remain in the user's profile, unmodified. |
Request Body schema: application/json
User profile resource containing requested updates
Array of objects or null (Link) Resource links | |
birthday | string Birthday date |
currentCity | string Current city |
Array of objects (CustomAttributeAccountV2) Custom attributes | |
Array of objects (EducationAccountV2) List of user's educational credentials | |
Array of objects (EmailAddressAccountV2) Email addresses | |
homePhone | string Home phone number |
hometown | string Hometown |
Array of objects (IM) List of instant messaging accounts | |
mobilePhone | string Mobile phone number |
string Twitter account | |
twoFactorAuthenticationMethod | string Two factor authentication method |
Array of objects (WorkExperienceAccountV2) List of work experiences | |
workPhone | string Work phone number |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "links": [
- {
- "rel": "user"
}, - {
- "href": "...",
- "rel": "..."
}
], - "birthday": "1999/9/9",
- "currentCity": "Current City",
- "customAttributes": [ ],
- "educations": [
- {
- "current": false,
- "degree": "bachelor's",
- "endYear": 2010,
- "field": "Computer Science",
- "school": "MIT",
- "startYear": 2007
}
], - "emailAddresses": [
- {
- "address": "alternate@company.com",
- "type": "WORK",
- "verified": false
}
], - "homePhone": "+1 123 123 1234",
- "hometown": "Home Town",
- "ims": [
- {
- "account": "someAccount",
- "type": "OTHER"
}, - {
- "account": "someAccount",
- "type": "OTHER"
}, - {
- "account": "someAccount",
- "type": "OTHER"
}
], - "mobilePhone": "+1 123 ",
- "twitter": "twitter_account",
- "twoFactorAuthenticationMethod": "twoFactorAuthenticationIsGreat",
- "workExperiences": [
- {
- "current": true,
- "description": "Developer @ Appdirect",
- "employer": "Appdirect",
- "endYear": 2017,
- "position": "Manager",
- "startYear": 2011
}
], - "workPhone": "+1 123 123 1234"
}
Response samples
- 200
- 404
Set a temporary password
Set a temporary password for the given marketplace user. User must be active and specified password must meet user's company password policy. Effective company is the last company used by the user.
Required Scopes and Authorization Rules
ROLE_PARTNER
-Allows access to read and write all marketplace data.
ROLE_CORPORATE_ADMIN
-Allows access as a Network Manager for the marketplace.
ROLE_CHANNEL_ADMIN
-Allows access as a Marketplace Manager for the marketplace.
ROLE_SYS_ADMIN
-Allows access as a Company Admin for the company.
path Parameters
userUuid required | string Unique identifier of user in the API request |
Request Body schema: application/json
Temporary password, user require to reset password at next login
password | string Password |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "password": "temppassword123"
}
Response samples
- 404
List all webhooks
This call lists all webhooks on your marketplace.
query Parameters
page | string Default: "0" Number of pages requested |
size | string Default: "10" Number of record per page |
sortField | string Default: "DATE" Value: "DATE" Field used to sort the response |
sortOrder | string Default: "DESC" Enum: "ASC" "DESC" The order to sort the response(ASC, DESC) |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url 'https://marketplace.appdirect.com/api/channel/v1/webhooks?page=SOME_STRING_VALUE&size=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'
Response samples
- 200
{- "links": [ ],
- "content": [
- {
- "uuid": "bc528c0f-12ae-44ca-bf05-270e90f8e5a6",
- "createdOn": 1480311491334,
- "lastModified": 1480311491334,
- "resourceType": "SALES_OPPORTUNITY",
- "resourceActions": [
- "ADDED"
], - "partner": "APPDIRECT",
- "authenticationToken": "abc",
- "oauth2Config": {
- "clientId": "clientId",
- "clientSecret": "clientSecret",
- "username": "username",
- "password": "password"
}, - "links": [
- {
- "rel": "self",
}
]
}, - {
- "uuid": "7b55aec2-6b90-4f25-ad96-4e5e3d830b56",
- "createdOn": 1480311491325,
- "lastModified": 1480311491325,
- "resourceType": "SALES_OPPORTUNITY",
- "resourceActions": [
- "ADDED"
], - "partner": "APPDIRECT",
- "authenticationToken": "abc",
- "oauth2Config": {
- "clientId": "clientId",
- "clientSecret": "clientSecret",
- "username": "username",
- "password": "password"
}, - "links": [
- {
- "rel": "self",
}
]
}
], - "page": {
- "size": 10,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
Create a webhook
This call creates a new webhook on your marketplace.
Request Body schema: application/json
webhook information
authenticationToken | string Authentication token to be passed in the HTTP header |
createdOn | number Creation date |
lastModified | number Last modified date |
object (WebhookOAuth2Config) | |
partner | string Channel of the webhook |
resourceActions | Array of strings (WebhookResourceAction) Items Enum: "ADDED" "REMOVED" "CHANGED" Actions done on the resource that triggers the Webhook |
resourceType required | string (WebhookResourceType) Enum: "RESELLER_REGISTRANT" "SALES_LEAD" "SALES_OPPORTUNITY" "QUOTE" "COMPANY" "SUBSCRIPTION" "PAYMENT_INSTRUMENT" "USER" "MEMBERSHIP" "DISCOUNT" "ORDER" "CATALOG_PRODUCT" "PLATFORM" "APP_ASSIGNMENT" "INVOICE" "STAGING_PRODUCT" "LEAD" |
scope | string (WebhookScope) Enum: "PARTNER" "COMPANY" |
scopeId | string |
url required | string Endpoint to call when an action is done on a resource |
uuid | string Unique identifier |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "authenticationToken": "...",
- "createdOn": 12345,
- "lastModified": 12345,
- "oauth2Config": {
- "accessTokenUri": "...",
- "clientId": "...",
- "clientSecret": "...",
- "password": "...",
- "username": "..."
}, - "partner": "...",
- "resourceActions": [
- "CHANGED",
- "CHANGED"
], - "resourceType": "STAGING_PRODUCT",
- "scope": "COMPANY",
- "scopeId": "...",
- "url": "...",
- "uuid": "..."
}
Response samples
- 201
{- "uuid": "3b5e41ef-2f4c-4e42-854f-b4f245b0a022",
- "createdOn": 1480311486245,
- "lastModified": 1480311486245,
- "resourceType": "SALES_OPPORTUNITY",
- "resourceActions": [
- "ADDED"
], - "partner": "APPDIRECT",
- "authenticationToken": "abc",
- "oauth2Config": {
- "clientId": "clientId",
- "clientSecret": "clientSecret",
- "username": "username",
- "password": "password"
}, - "links": [
- {
- "rel": "self",
}
]
}
Retrieve a webhook
This call returns all details for a specific webhook.
path Parameters
webhookUuid required | string |
Responses
Request samples
- Shell + Curl
- Node + Request
- Java + Okhttp
curl --request GET \ --url https://marketplace.appdirect.com/api/channel/v1/webhooks/%7BwebhookUuid%7D
Response samples
- 200
{- "uuid": "ecdb1bc2-20e2-4b2c-9b0c-9678a8907ce2",
- "createdOn": 1480311490360,
- "lastModified": 1480311490360,
- "resourceType": "SALES_OPPORTUNITY",
- "resourceActions": [
- "ADDED"
], - "partner": "APPDIRECT",
- "authenticationToken": "abc",
- "oauth2Config": {
- "clientId": "clientId",
- "clientSecret": "clientSecret",
- "username": "username",
- "password": "password"
}, - "links": [
- {
- "rel": "self",
}
]
}
Update a webhook
This call updates a webhook on your marketplace.
path Parameters
webhookUuid required | string |
Request Body schema: application/json
authenticationToken | string Authentication token to be passed in the HTTP header |
createdOn | number Creation date |
lastModified | number Last modified date |
object (WebhookOAuth2Config) | |
partner | string Channel of the webhook |
resourceActions | Array of strings (WebhookResourceAction) Items Enum: "ADDED" "REMOVED" "CHANGED" Actions done on the resource that triggers the Webhook |
resourceType required | string (WebhookResourceType) Enum: "RESELLER_REGISTRANT" "SALES_LEAD" "SALES_OPPORTUNITY" "QUOTE" "COMPANY" "SUBSCRIPTION" "PAYMENT_INSTRUMENT" "USER" "MEMBERSHIP" "DISCOUNT" "ORDER" "CATALOG_PRODUCT" "PLATFORM" "APP_ASSIGNMENT" "INVOICE" "STAGING_PRODUCT" "LEAD" |
scope | string (WebhookScope) Enum: "PARTNER" "COMPANY" |
scopeId | string |
url required | string Endpoint to call when an action is done on a resource |
uuid | string Unique identifier |
Responses
Request samples
- Payload
- Shell + Curl
- Node + Request
- Java + Okhttp
{- "authenticationToken": "...",
- "createdOn": 12345,
- "lastModified": 12345,
- "oauth2Config": {
- "accessTokenUri": "...",
- "clientId": "...",
- "clientSecret": "...",
- "password": "...",
- "username": "..."
}, - "partner": "...",
- "resourceActions": [
- "CHANGED",
- "CHANGED"
], - "resourceType": "STAGING_PRODUCT",
- "scope": "COMPANY",
- "scopeId": "...",
- "url": "...",
- "uuid": "..."
}
Response samples
- 200
{- "uuid": "40e762c3-9a05-4a9a-b5fa-a07b11c70c80",
- "createdOn": 1480311491644,
- "lastModified": 1480311491644,
- "resourceType": "SALES_OPPORTUNITY",
- "resourceActions": [
- "ADDED"
], - "partner": "APPDIRECT",
- "authenticationToken": "abc",
- "oauth2Config": {
- "clientId": "clientId",
- "clientSecret": "clientSecret",
- "username": "username",
- "password": "password"
}, - "links": [
- {
- "rel": "self",
}
]
}