Get Unpurchased Bundles for a Package
post
/bcws/webresources/v1.0/subscriptions/unpurchased/bundles/{packageId}
Gets the list of unpurchased optional bundles that are available to a customer that has purchased a given package.
Note: Even though this is a POST request, it does not create or update anything in BRM.
Request
Path Parameters
-
packageId(required): string
The package ID, such as 0.0.0.1+-plan+456789.
Supported Media Types
- application/xml
- application/json
The list of optional bundles that the customer has already purchased.
The list of optional bundles that the customer has already purchased.
Response
Supported Media Types
- application/xml
- application/json
200 Response
The list of available bundles were returned successfully.
Nested Schema : bundle
Type:
object
A bundle.
Show Source
-
bundleId: string
The ID of the bundle.
-
chargeoffers: array
chargeoffers
The list of charge offers in the bundle.
-
creationDate(required): string
(date-time)
The date and time the bundle was created.
-
description: string
The bundle's description.
-
discountoffers: array
discountoffers
The list of discount offers in the bundle.
-
extension: object
extension
The extended attributes.
-
name: string
The name of the bundle.
-
permitted: string
The purchase level permitted for the bundle. This can be a single service (for example, /service/email), all services (/service), all accounts (/account), or all accounts and services (*).
-
ref: object
ResourceRef
-
service: object
Service
A service associated with the bundle.
-
subscriptionTerms: object
schema
-
tags: string
The tags associated with the bundle.
-
validTo: string
(date-time)
The date and time the validity period ends.
Nested Schema : chargeoffers
Type:
array
The list of charge offers in the bundle.
Show Source
-
Array of:
object Chargeoffers
The list of charge offers in the bundle.
Nested Schema : discountoffers
Type:
array
The list of discount offers in the bundle.
Show Source
-
Array of:
object Discountoffers
The list of discount offers in the bundle.
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : ResourceRef
Type:
Show Source
object
-
id(required): string
The ID.
-
uri: string
The Uniform Resource Identifier (URI) associated with the resource.
Nested Schema : Service
Type:
object
A service associated with the bundle.
Show Source
-
serviceKey: string
The service key.
-
serviceType: string
The service type.
Nested Schema : schema
Type:
Show Source
object
-
accountRef: object
ResourceRef
-
autoRenew: boolean
Whether to automatically renew the terms at the end of its commitment period (true) or not (false).
-
bundleName(required): string
The name of the bundle associated with the subscription terms.
-
bundleRef: object
ResourceRef
-
commitmentEndDate(required): string
(date-time)
The date and time the commitment period ends.
-
commitmentPeriod: integer
(int32)
The duration of the commitment period.
-
commitmentStartDate(required): string
(date-time)
The date and time the commitment period starts.
-
commitmentUnit: integer
(int32)
The unit for the commitment period. Can be one of the following:
- 0: Months
- 1: Days
-
currency: integer
(int32)
The currency associated with the subscription fee.
-
earlyCancellationAllowed: boolean
Whether early cancellation is allowed (true) or not (false).
-
earlyCancellationDate(required): string
(date-time)
The date and time of early cancellation.
-
earlyCancellationFee(required): number
The fee for canceling a subscription early.
-
earlyCancellationType: integer
(int32)
The type of early cancelation fee. Can be one of the following:
- 0: Fixed
- 1: Reducing
-
extension: object
extension
The extended attributes.
-
gracePeriod: integer
(int32)
The duration of the grace period.
-
gracePeriodUnit: integer
(int32)
The unit for the grace period. Can be one of the following:
- 0: Months
- 1: Days
-
id(required): string
The ID.
-
packageId: integer
(int32)
The ID of package associated with the subscription terms.
-
packageRef: object
ResourceRef
-
reducedCancellationFee(required): number
The reduced cancellation fee.
-
renewalContractTerms(required): object
schema
-
renewWithSameTerms: boolean
Whether to renew with the same terms (true) or with different terms (false).
-
serviceRef: object
ResourceRef
-
subscriberContractRef: object
ResourceRef
-
termsDescription: string
The subscription terms' description.
-
termsName(required): string
The subscription terms' name.
Nested Schema : Chargeoffers
Type:
object
The list of charge offers in the bundle.
Show Source
-
baseProductCode: string
The code of the base product of the charge offer.
-
baseProductName: string
The name of the base product of the charge offer.
-
baseProductRef: object
ResourceRef
-
description(required): string
The charge offer's description.
-
gracePeriodOffset: integer
(int32)
The number to offset the grace period by.
-
gracePeriodUnit: integer
(int32)
The unit for the charge offer's grace period.
-
name(required): string
The charge offer's name.
-
ref: object
ResourceRef
-
renewalMode: integer
(int32)
How to handle the charge offer's cycle alignment when its bundle is reactivated. Possible values are:
- 0: Cycle aligns with the original billing date or configured specific day of the month.
- 1: Cycle aligns with the reactivation date.
-
validityAlignMode: integer
(int32)
This shows if the product is an addon product and alignment of validity with other products.
Nested Schema : Discountoffers
Type:
object
The list of discount offers in the bundle.
Show Source
-
description(required): string
The discount offer's description.
-
name(required): string
The discount offer's name.
-
ref: object
ResourceRef
Nested Schema : extension
Type:
object
The extended attributes.
500 Response
An internal server error occurred.
Examples
This example shows how to retrieve all unpurchased bundles that are available for a customer that has purchased a specified package by submitting a POST request on the REST resource using cURL. For more information about cURL, see "Use cURL".
cURL Command
curl -X POST http://hostname:port/bcws/webresources/version/subscriptions/unpurchased/bundles/0.0.0.1+-plan+865226 -H 'content-type: application/json' -d @file.json
where:
- hostname is the URL for the Billing Care REST server.
- port is the port for the Billing Care REST server.
- version is the version of the API you're using, such as v1.0.
- file.json is the JSON file that lists the bundles that the customer has already purchased.
Example of Request Body
This shows an example of the contents of the file.json file sent as the request body.
[0.0.0.1+-deal+875443]
Example of Response Body
This example shows the contents of the response body in JSON format.
{
"bundleId": "0.0.0.1+-deal+865780",
"name": "Bundle1",
"permitted": "/service/ip",
"creationDate": null,
"description": "Bundle for IP deal",
"chargeoffers": [],
"discountoffers": [],
"subscriptionTerms": {
"extension": null,
"id": "0.0.0.1+-subscription_terms+859193",
"termsName": "Term_12month_Termination_allowed",
"termsDescription": "",
"packageRef": null,
"bundleRef": {
"id": "0.0.0.1+-deal+865780",
"uri": null
},
"serviceRef": null,
"subscriberContractRef": {
"id": "0.0.0.1+-subscriber_contract+1613606",
"uri": null
},
"accountRef": {
"id": "0.0.0.1+-account+1607269",
"uri": null
},
"commitmentPeriod": 12,
"commitmentUnit": 0,
"commitmentStartDate": 1400050800000,
"commitmentEndDate": 1431586800000,
"earlyCancellationAllowed": true,
"earlyCancellationDate": null,
"earlyCancellationFee": 0,
"reducedCancellationFee": null,
"autoRenew": false,
"renewWithSameTerms": false,
"bundleName": null,
"currency": 840,
"gracePeriod": 0,
"gracePeriodUnit": 0,
"earlyCancellationType": 0,
"renewalContractTerms": null
},
"service": null
}