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
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
-
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:
Show Source
object
-
accountNumber: string
The account number associated with the service.
-
discounts: array
discounts
-
extension: object
extension
The extended attributes.
-
products: array
products
-
serviceDetails: object
Discriminator: @class
Discriminator:
{ "propertyName":"@class" }
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.
-
minimumCommitmentPeriod: integer
(int32)
The duration of the minimum commitment period.
-
minimumCommitmentUnit: integer
(int32)
The unit for the minimum commitment period. Can be one of the following:
- 0: Months
- 1: Years
-
minimumContractEndDate(required): string
(date-time)
The minimum date and time the contract stays before termination.
-
originalCommitmentEndDate(required): string
(date-time)
The date and time the original commitment period end.
-
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
-
status: integer
(int32)
The status for a contract.
-
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.
Nested Schema : Discriminator: @class
Type:
Show Source
object
-
accountRef: object
ResourceRef
-
aliasList: array
aliasList
The list of aliases associated with the service.
-
balanceGroupRef: object
ResourceRef
-
balGrpIndex: integer
(int32)
The balance group index.
-
creationDate: string
(date-time)
The date and time the service type was created.
-
effectiveDate: string
(date-time)
-
extension: object
extension
The extended attributes.
-
id: object
ResourceRef
-
lastModified: string
(date-time)
The date and time the service was last modified.
-
lastStatusChange: string
(date-time)
The date and time of the last status change.
-
lastStatusComment: string
The comment associated with the last status change.
-
lifeCycleState: integer
(int32)
The current life cycle state.
-
login(required): string
The login associated with the service.
-
name: string
The name of the service.
-
nameinfoObj: object
ResourceRef
-
password(required): string
The password associated with the service.
-
passwordExpiration: string
(date-time)
The date and time the password expires.
-
passwordStatus: integer
(int32)
The current status of the password.
-
pendingDeferredActionsCount: integer
(int32)
The number of deferred actions that are pending for the service.
-
serviceAccessLevel: string
The service access level.
-
status: integer
(int32)
The status.
-
statusFlags: integer
(int32)
The status flags.
-
subscriptionServiceRef: object
ResourceRef
-
svcExpLastNotiOffset: string
The notification offset.
-
svcExpLastNotiT: string
(date-time)
The last notification time.
Nested Schema : Discount
Type:
Show Source
object
-
description: string
The discount's description.
-
extension: object
extension
The extended attributes.
-
id: object
ResourceRef
-
lastStatusChange: string
(date-time)
The date and time the discount's status was last changed.
-
name: string
The discount's name.
-
planName: string
The name of the package containing the discount.
-
purchaseDate(required): string
(date-time)
The date and time the discount was purchased.
-
purchaseEndDate(required): string
(date-time)
The date and time the purchase ends.
-
status: string
The discount's status
-
type: integer
(int32)
The type of discount. Can be one of the following:
- 0: Optional
- 1: Required
- 2: Regular
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : Product
Type:
Show Source
object
-
contractEndDate: string
(date-time)
The end date for the contract.
-
contractName: string
The name of the contract.
-
contractRef: object
ResourceRef
-
contractStartDate: string
(date-time)
The start date for the contract.
-
description: string
The product's descritpion.
-
extension: object
extension
The extended attributes.
-
id: object
ResourceRef
-
isOfferCustomized: boolean
Whether the product contains customized offers (true) or not (false).
-
lastStatusChange: string
(date-time)
The date and time the product's status was last changed.
-
name: string
The product's name.
-
planName: string
The name of the package that contains the product.
-
productRef: object
ResourceRef
-
purchaseDate(required): string
(date-time)
The date and time the product was purchased.
-
purchaseEndDate(required): string
(date-time)
The date and time the purchase ends.
-
status: string
The product's status.
-
termRef: object
ResourceRef
-
type: integer
(int32)
The type of product. Can be one of the following:
- 0: Optional
- 1: Required
- 2: Regular
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : aliasList
Type:
array
The list of aliases associated with the service.
Show Source
-
Array of:
object AliasList
The list of aliases associated with the service.
Nested Schema : extension
Type:
object
The extended attributes.
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
}