Overview
Customer usage of Premium Applications (Usage or Metered) is tabulated and stored within Genesys Cloud's Billing Service. Premium Application vendors are able to leverage Premium Applications - Usage APIs for up to date (updated every 4 hours) customer usage. Customer usage is reflected based on the customers current billing month. There are three (3) separate APIs for granularity:
- Overall Customer Count: Total number of customers per Genesys Cloud Region
- Usage per Customer within a Region: Current usage quantity per customer within a Genesys Cloud Region, includes Org Name and Org Id
- Individual Customer Subscription:
- Contract Start / End Date
- Ramp Start / End Date
- Billing Start / End Date
- Subscription Type
- Usages: Commitment / Actual
- Currency
- Part Number
Prerequisites for Vendors
All vendors will need an apiKey
to use our Premium Applications - Usage APIs. Vendors of Premium Applications - Metered Type already have an apiKey
. Vendors of Premium Applications - Usage Type, please contact the AppFoundry team at <a href="mailto:appfoundry@genesys.com">appfoundry@genesys.com</a> for the unique apiKey
.
Note - A single apiKey
can be used for multiple appIds.
Overall Customer Count
To obtain customer counts by Genesys Cloud region, use the following API below. Multiple appIds may be requested in a single GET request by adding a comma between appIds without a space. Example: skypePremiumAppIntegration,wallboard
GET: https://billable-vendor-usage-api.usw2.pure.cloud/v1/regions?appIds={appIds}
- Header ONLY
- Key = x-api-key; Value = {apiKey}
- Key = Content-Type; Value = application/json
- No Auth
- {apiIds} = Vendor's appId(s)
An example GET payload returned:
{
"regions": [
{
"id": "us-east-1",
"organizationCounts": {
"skypePremiumAppIntegration": 4,
"wallboard": 2
}
},
{
"id": "ap-southeast-2",
"organizationCounts": {
"skypePremiumAppIntegration": 3,
"wallboard": 5
}
},
{
"id": "eu-west-1",
"organizationCounts": {
"skypePremiumAppIntegration": 10,
"wallboard": 3
}
},
]
}
Usage per Customer within a Region
To obtain customer specific usage counts by Genesys Cloud region use the following API below. Multiple appIds may be requested in a single GET request by adding a comma between appIds without a space. Example: skypePremiumAppIntegration,wallboard
GET: https://billable-vendor-usage-api.usw2.pure.cloud/v1/regions/{region}/organizations?appIds={appIds}
- Header ONLY
- Key = x-api-key; Value = {apiKey}
- Key = Content-Type; Value = application/json
- No Auth
- {region} = Genesys Cloud Region supplied in Overall Customer Count GET request above
- {apiIds} = Vendor's appId(s)
An example GET payload returned:
{
"organizations": [
{
"orgId": "c10bd589-051a-4edc-a92c-60b98a6fed86",
"orgName": "TEMPAutoTestbITf9kkK49AeEGHbZitc54532-MonthToMonthWithRampPeriod-MinimumReq",
"usageQuantities": {
"skypePremiumAppIntegration": 1,
"wallboard": 4
}
},
{
"orgId": "030e8f96-3510-4393-991c-e985e8d7fecf",
"orgName": "devFoundryIndirectNamed",
"usageQuantities": {
"wallboard": 1
}
}
]
}
If nextPageToken
is returned in the payload at the tope level near organizations
append it to your previous GET to get the next page of results. Example: GET https://billable-vendor-usage-api.usw2.pure.cloud/v1/regions/{region}/organizations?appIds={appIds}&nextPageToken=10001. If nextPageToken
is missing in the reponse body the results are the last (or only) page.
Individual Customer Subscription
To obtain individual customer subscription information about a vendors Premium Application(s) use the API below. Multiple appIds may be requested in a single GET request by adding a comma between appIds without a space. Example: skypePremiumAppIntegration,wallboard
GET: https://billable-vendor-usage-api.usw2.pure.cloud/v1/regions/{region}/organizations/{orgId}?appIds={appIds}
- Header ONLY
- Key = x-api-key; Value = {apiKey}
- Key = Content-Type; Value = application/json
- No Auth
- {region} = Genesys Cloud Region supplied in Overall Customer Count GET request above
- {orgId} = Individual customer orgId supplied in the Customer Usage per Customer within a Region
- {apiIds} = Vendor's appId(s)
An example GET payload returned:
{
"orgId": "030e8f96-3510-4393-991c-e985e8d7fecf",
"orgName": "devFoundryIndirectNamed",
"contractStartDate": "2020-03-10T00:00:00.000Z",
"contractEndDate": "2021-07-09T23:59:59.999Z",
"rampPeriodStartDate": "2020-03-10T00:00:00.000Z",
"rampPeriodEndDate": "2020-07-09T23:59:59.999Z",
"billingPeriodStartDate": "2020-05-10T00:00:00.000Z",
"billingPeriodEndDate": "2020-06-09T23:59:59.999Z",
"currency": "EUR",
"subscriptionType": "PREPAY",
"usages": [
{
"appId": "wallboard",
"chargeName": "PureCloud for Wallboard Device Charge",
"partNumber": "PC-170-NV-PCWALLDC",
"prepayQuantity": 0,
"usageQuantity": 1,
}
]
}