Rate this page:
The partner offering catalog provides complete pricing details for both BTF (behind the firewall) and cloud products, including their related apps. The entire catalog can be fetched at once for product and pricing information, or you can fetch the details for a given product. This includes related app details.
As Atlassian is migrating to a new billing system (CCP), product and pricing information is served from both the new system for cloud products, and the legacy billing system (HAMS) for BTF products. The data structure between these two billing systems is quite different - but rather than combining them, we've deliberately kept them separate to ease adoption.
PAPI takes care of fetching active product and pricing information from both billing systems, and combines the responses for a unified experience.
We understand that some partners currently have catalog integrations for BTF products served out of HAMS. In order to keep the impact to existing integrations to a minimum, we opted to keep the data structure the same. For these partners, the change would be in terms of implementation details, how the data is fetched and from where - but the underlying data mapping for BTF products would remain the same.
The catalog queries are located under PartnerOfferingCatalogApi
namespace
Name | Description | Filter | Required |
---|---|---|---|
partnerOfferingCatalog | Get all cloud and BTF product offering and pricing information | - | - |
partnerOfferingDetails | Get offering and pricing details for a given cloud or BTF product, including related apps | where | true |
Offering Catalog is used to fetch the entire offering catalog and pricing information for both cloud and BTF products. Depending on the use case, cloud or BTF catalogs could be targeted separately or both fetched at once. Both cloud and BTF products are fetched in this example.
There is no filter for the offering catalog query - we simply just include both btfProducts
and cloudProducts
, as well as include fields that we'd like to return for both respectively.
1 2query fetchCatalog { partnerCatalogApi { partnerOfferingCatalog { btfProducts { ... } cloudProducts { ... } } } }
The response follows the same structure as the query. BTF and cloud catalog lists are returned in the same btfProducts
and cloudProducts
format. Each will contain the list of product and pricing fields specified in the query.
1 2{ "data": { "partnerCatalogApi": { "partnerOfferingCatalog": { "btfProducts": [{ ... }], "cloudProducts": [{ ... }] } } } }
Offering Catalog Details is used to fetch additional details for a specific product, including related apps. The details query accepts only a BTF or a cloud product filter in a single request, not both.
Filter Object | Filter | Required | Fescription |
---|---|---|---|
btfProduct | productKey | true | BTF product identifier |
licenseType | false | License types to filter. If null, all are returned | |
currency | false | Currencies to filter. If null, all are returned | |
cloudProduct | key | true | Cloud product identifier |
pricingPlanType | false | Pricing plan types to filter. If null, all are returned | |
currency | false | Currencies to filter. If null, all are returned |
For example, if we're targeting Confluence (Cloud) and would like to fetch all USD
product and app pricing only for COMMERCIAL
pricing plans, we could have a query similar to this. Since we are searching only cloud products and apps, we would include both cloudProducts
and cloudApps
as well as include fields that we'd like to return for both respectively.
If a BTF product was being searched, the same pattern would hold true. The btfProducts
filter would be used instead, as well as adding btfProducts
and btfApps
to the query with the fields that should be returned.
1 2query fetchCatalogDetails { partnerCatalogApi { partnerOfferingDetails( where: { cloudProduct: { key: "6aab3f4e-cc71-474d-8d28-abef8b057808", currency: USD, pricingPlanType: COMMERCIAL } } ) { cloudProducts { ... } cloudApps { ... } } } }
Similar to offering catalog, the response follows the same structure as the query. Cloud product offerings and app details are returned in the same cloudProducts
and cloudApps
format. Each will contain the list of product and pricing fields specified in the query.
1 2{ "data": { "partnerCatalogApi": { "partnerOfferingDetails": { "cloudProducts": [{ ... }], "cloudApps": [{ ... }] } } } }
Rate this page: