Add a Bundle to an Account
post
/bcws/webresources/v1.0/accounts/{id}/bundle
Adds a bundle to an existing service or account.
Request
Path Parameters
-
id(required): string
The ID of the service or account to add the bundle to.
Supported Media Types
- application/xml
- application/json
Root Schema : schema
Type:
Show Source
object
-
creditLimitFlags: integer
(int32)
Flag to set credit limit options. Allowed Values: 1 (Override credit limit), 2 (Prorate based on credit limit), 64 (Enforce credit limit).
-
customizedChargeOffers: array
customizedChargeOffers
The list of customized charge offers in the bundle.
-
customizedDiscountOffers: array
customizedDiscountOffers
The list of customized discount offers.
-
effective: string
(date-time)
The date and time the bundle takes effect.
-
extension: object
extension
The extended attributes.
-
id(required): string
The ID.
-
name(required): string
The bundle's name.
-
notes: object
Notes
Nested Schema : customizedChargeOffers
Type:
array
The list of customized charge offers in the bundle.
Show Source
-
Array of:
object CustomizedChargeOffers
The list of customized charge offers in the bundle.
Nested Schema : customizedDiscountOffers
Type:
array
The list of customized discount offers.
Show Source
-
Array of:
object CustomizedDiscountOffers
The list of customized discount offers.
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : Notes
Type:
Show Source
object
-
accountId(required): string
The ID of the account associated with the note.
-
amount: number
The amount associated with the note. It can be a payment amount, adjustment amount, or so on.
-
billId: string
The ID of the bill associated with the note.
-
billUnitId: string
The ID of the bill unit associated with the note.
-
closedDate: string
(date-time)
The date and time the note was resolved.
-
comments: array
comments
The list of comments associated with the note.
-
count: integer
(int32)
The number of comments associated with the note.
-
domainId: integer
(int32)
The domain ID associated with the note.
-
effectiveDate: string
(date-time)
The date and time the comment was posted.
-
eventId: string
The ID of the event associated with the note.
-
extension: object
extension
The extended attributes.
-
header: string
The header associated with the note.
-
id: string
The ID.
-
itemId: string
The ID of the item associated with the note.
-
reasonId: integer
(int32)
The reason ID associated with the note. Possible values are stored in /config/reason_code_scope objects. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the reasons.locale file.
-
serviceId: string
The service ID associated with the note.
-
status: number
The note's status: not set (100), resolved (101), or unresolved (102). The default value is 102.
-
subType: integer
(int32)
The note's subtype. Possible values are stored in the /config/note_type object. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the note.locale file.
-
type: integer
(int32)
The note's type. Possible values are stored in the /config/note_type object. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the note.locale file.
Nested Schema : CustomizedChargeOffers
Type:
object
The list of customized charge offers in the bundle.
Show Source
-
baseChargeOfferRef: object
ResourceRef
-
baseProductRef: object
ResourceRef
-
cycleDiscountOverride: number
The fixed amount of the cycle discount override.
-
cycleDiscountPercentOverride: number
The percentage amount of the cycle discount override.
-
cycleEnd: object
EndingType
-
cycleFeeOverride: number
The amount of the cycle fee override.
-
cycleStart: object
StartingType
-
description: string
The charge offer's description.
-
gracePeriodOffset: integer
(int32)
The number to offset the grace period by.
-
gracePeriodUnit: integer
(int32)
The unit for the grace period.
-
name: string
The charge offer's name.
-
overriddenCharges: array
overriddenCharges
The overridden charges.
-
purchaseDiscountOverride: number
The fixed amount of the purchase discount override.
-
purchaseDiscountPercentOverride: number
The percentage amount of the purchase discount override.
-
purchaseEnd: object
EndingType
-
purchaseFeeOverride: number
The fixed amount of the purchase fee override.
-
purchaseStart: object
StartingType
-
quantity: integer
(int32)
The quantity purchased.
-
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.
-
status: integer
(int32)
The charge offer's status. Can be one of the following:
- 0: Not set
- 1: Active
- 2: Inactive
- 3: Canceled
-
statusFlag: integer
(int32)
The status flag.
-
usageEnd: object
EndingType
-
usagePercentOverride: number
The percentage amount of the usage override.
-
usageStart: object
StartingType
-
validityAlignMode: string
The validity align mode for a product. Can be one of the following:
- base: Align the validity with baseProductRef passed in request
- any_base_earliest: Aligns the validity dates with the active base charge offer that expires first.
- any_base_latest: Aligns the validity dates with the active base charge offer that expires last.
- any_earliest: Aligns the validity dates with the active charge offer that expires first.
- any_latest: Aligns the validity dates with the active charge offer that expires last.
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 : EndingType
Type:
Show Source
object
-
endDate: string
(date-time)
The date and time the cycle ends.
-
mode(required): string
The ending type mode for a product. Can be one of the following:
- absolute: The end date is a calendar day.
- relativeToStart: The end date is relative to the start date, such as a specified number of billing cycles, months, days, hours, minutes, or seconds after the start date.
- never: There is no set end date.
-
unitSettings: object
RelativeSettings
Nested Schema : StartingType
Type:
Show Source
object
-
mode(required): string
The starting type mode for a product. Can be one of the following:
- immediately: The start date is set to today. This mode can be used with the purchaseStart, cycleStart, and usageStart parameters.
- absolute: The start date is a calendar date. This mode can be used with the purchaseStart, cycleStart, and usageStart parameters.
- relativeToPurchase: The start date is relative to the purchase date, such as a specified number of billing cycles, months, days, hours, minutes, or seconds after activation. This mode can be used with the cycleStart and usageStart parameters.
- firstUsage: The start day is the day of the first recorded usage.
-
startDate: string
(date-time)
The date and time the cycle starts.
-
unitSettings: object
RelativeSettings
Nested Schema : RelativeSettings
Type:
Show Source
object
-
offset: integer
(int32)
The number of days, hours, minutes or so on after the cycle starts or ends.
-
units(required): string
The offset unit. Can be one of the following:
- seconds
- minutes
- hours
- days
- months
- cycles
Nested Schema : overriddenCharges
Type:
Show Source
object
-
charges(required): array
charges
The charge details.
-
event(required): string
The event associated with the overridden charges.
Nested Schema : charges
Type:
array
The charge details.
Show Source
-
Array of:
object Charges
The charge details.
Nested Schema : Charges
Type:
object
The charge details.
Show Source
-
charge(required): array
charge
The charges.
-
endDate: string
(date-time)
The date and time the charge's validity ends.
-
startDate(required): string
(date-time)
The date and time the charge's validity starts.
Nested Schema : Charge
Type:
object
The charges.
Show Source
-
amount(required): number
The charge amount.
-
priceTag(required): string
The charge's price tag.
-
type(required): string
The charge type.
Nested Schema : CustomizedDiscountOffers
Type:
object
The list of customized discount offers.
Show Source
-
baseDiscountOfferRef: object
ResourceRef
-
cycleEnd: object
EndingType
-
cycleStart: object
StartingType
-
description: string
The discount offer's description.
-
name: string
The discount offer's name.
-
overriddenCharges: array
overriddenCharges
The overridden charges.
-
purchaseEnd: object
EndingType
-
purchaseStart: object
StartingType
-
quantity(required): number
The discount's quantity.
-
status: integer
(int32)
The discount offer's status. Can be one of the following:
- 0: Not set
- 1: Active
- 2: Inactive
- 3: Canceled
-
statusFlag: integer
(int32)
The status flag.
-
usageEnd: object
EndingType
-
usageStart: object
StartingType
Nested Schema : comments
Type:
array
The list of comments associated with the note.
Show Source
-
Array of:
object Comments
The list of comments associated with the note.
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : Comments
Type:
object
The list of comments associated with the note.
Show Source
-
comment(required): string
The comment.
-
csrAccountId: string
The CSR's account ID.
-
csrFirstName: string
The CSR's first name.
-
csrLastName: string
The CSR's last name.
-
csrLoginId: string
The login ID associated with the CSR.
-
entryDate: string
(date-time)
The date and time the comment was entered by the CSR.
-
externalUser: string
The external user.
-
trackingId: string
The tracking ID.
Root Schema : schema
Type:
Show Source
object
-
creditLimitFlags: integer
(int32)
Flag to set credit limit options. Allowed Values: 1 (Override credit limit), 2 (Prorate based on credit limit), 64 (Enforce credit limit).
-
customizedChargeOffers: array
customizedChargeOffers
The list of customized charge offers in the bundle.
-
customizedDiscountOffers: array
customizedDiscountOffers
The list of customized discount offers.
-
effective: string
(date-time)
The date and time the bundle takes effect.
-
extension: object
extension
The extended attributes.
-
id(required): string
The ID.
-
name(required): string
The bundle's name.
-
notes: object
Notes
Nested Schema : customizedChargeOffers
Type:
array
The list of customized charge offers in the bundle.
Show Source
-
Array of:
object CustomizedChargeOffers
The list of customized charge offers in the bundle.
Nested Schema : customizedDiscountOffers
Type:
array
The list of customized discount offers.
Show Source
-
Array of:
object CustomizedDiscountOffers
The list of customized discount offers.
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : Notes
Type:
Show Source
object
-
accountId(required): string
The ID of the account associated with the note.
-
amount: number
The amount associated with the note. It can be a payment amount, adjustment amount, or so on.
-
billId: string
The ID of the bill associated with the note.
-
billUnitId: string
The ID of the bill unit associated with the note.
-
closedDate: string
(date-time)
The date and time the note was resolved.
-
comments: array
comments
The list of comments associated with the note.
-
count: integer
(int32)
The number of comments associated with the note.
-
domainId: integer
(int32)
The domain ID associated with the note.
-
effectiveDate: string
(date-time)
The date and time the comment was posted.
-
eventId: string
The ID of the event associated with the note.
-
extension: object
extension
The extended attributes.
-
header: string
The header associated with the note.
-
id: string
The ID.
-
itemId: string
The ID of the item associated with the note.
-
reasonId: integer
(int32)
The reason ID associated with the note. Possible values are stored in /config/reason_code_scope objects. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the reasons.locale file.
-
serviceId: string
The service ID associated with the note.
-
status: number
The note's status: not set (100), resolved (101), or unresolved (102). The default value is 102.
-
subType: integer
(int32)
The note's subtype. Possible values are stored in the /config/note_type object. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the note.locale file.
-
type: integer
(int32)
The note's type. Possible values are stored in the /config/note_type object. See Localizing and Customizing Strings in BRM Developer's Guide for information about how to customize these values using the note.locale file.
Nested Schema : CustomizedChargeOffers
Type:
object
The list of customized charge offers in the bundle.
Show Source
-
baseChargeOfferRef: object
ResourceRef
-
baseProductRef: object
ResourceRef
-
cycleDiscountOverride: number
The fixed amount of the cycle discount override.
-
cycleDiscountPercentOverride: number
The percentage amount of the cycle discount override.
-
cycleEnd: object
EndingType
-
cycleFeeOverride: number
The amount of the cycle fee override.
-
cycleStart: object
StartingType
-
description: string
The charge offer's description.
-
gracePeriodOffset: integer
(int32)
The number to offset the grace period by.
-
gracePeriodUnit: integer
(int32)
The unit for the grace period.
-
name: string
The charge offer's name.
-
overriddenCharges: array
overriddenCharges
The overridden charges.
-
purchaseDiscountOverride: number
The fixed amount of the purchase discount override.
-
purchaseDiscountPercentOverride: number
The percentage amount of the purchase discount override.
-
purchaseEnd: object
EndingType
-
purchaseFeeOverride: number
The fixed amount of the purchase fee override.
-
purchaseStart: object
StartingType
-
quantity: integer
(int32)
The quantity purchased.
-
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.
-
status: integer
(int32)
The charge offer's status. Can be one of the following:
- 0: Not set
- 1: Active
- 2: Inactive
- 3: Canceled
-
statusFlag: integer
(int32)
The status flag.
-
usageEnd: object
EndingType
-
usagePercentOverride: number
The percentage amount of the usage override.
-
usageStart: object
StartingType
-
validityAlignMode: string
The validity align mode for a product. Can be one of the following:
- base: Align the validity with baseProductRef passed in request
- any_base_earliest: Aligns the validity dates with the active base charge offer that expires first.
- any_base_latest: Aligns the validity dates with the active base charge offer that expires last.
- any_earliest: Aligns the validity dates with the active charge offer that expires first.
- any_latest: Aligns the validity dates with the active charge offer that expires last.
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 : EndingType
Type:
Show Source
object
-
endDate: string
(date-time)
The date and time the cycle ends.
-
mode(required): string
The ending type mode for a product. Can be one of the following:
- absolute: The end date is a calendar day.
- relativeToStart: The end date is relative to the start date, such as a specified number of billing cycles, months, days, hours, minutes, or seconds after the start date.
- never: There is no set end date.
-
unitSettings: object
RelativeSettings
Nested Schema : StartingType
Type:
Show Source
object
-
mode(required): string
The starting type mode for a product. Can be one of the following:
- immediately: The start date is set to today. This mode can be used with the purchaseStart, cycleStart, and usageStart parameters.
- absolute: The start date is a calendar date. This mode can be used with the purchaseStart, cycleStart, and usageStart parameters.
- relativeToPurchase: The start date is relative to the purchase date, such as a specified number of billing cycles, months, days, hours, minutes, or seconds after activation. This mode can be used with the cycleStart and usageStart parameters.
- firstUsage: The start day is the day of the first recorded usage.
-
startDate: string
(date-time)
The date and time the cycle starts.
-
unitSettings: object
RelativeSettings
Nested Schema : RelativeSettings
Type:
Show Source
object
-
offset: integer
(int32)
The number of days, hours, minutes or so on after the cycle starts or ends.
-
units(required): string
The offset unit. Can be one of the following:
- seconds
- minutes
- hours
- days
- months
- cycles
Nested Schema : overriddenCharges
Type:
Show Source
object
-
charges(required): array
charges
The charge details.
-
event(required): string
The event associated with the overridden charges.
Nested Schema : charges
Type:
array
The charge details.
Show Source
-
Array of:
object Charges
The charge details.
Nested Schema : Charges
Type:
object
The charge details.
Show Source
-
charge(required): array
charge
The charges.
-
endDate: string
(date-time)
The date and time the charge's validity ends.
-
startDate(required): string
(date-time)
The date and time the charge's validity starts.
Nested Schema : Charge
Type:
object
The charges.
Show Source
-
amount(required): number
The charge amount.
-
priceTag(required): string
The charge's price tag.
-
type(required): string
The charge type.
Nested Schema : CustomizedDiscountOffers
Type:
object
The list of customized discount offers.
Show Source
-
baseDiscountOfferRef: object
ResourceRef
-
cycleEnd: object
EndingType
-
cycleStart: object
StartingType
-
description: string
The discount offer's description.
-
name: string
The discount offer's name.
-
overriddenCharges: array
overriddenCharges
The overridden charges.
-
purchaseEnd: object
EndingType
-
purchaseStart: object
StartingType
-
quantity(required): number
The discount's quantity.
-
status: integer
(int32)
The discount offer's status. Can be one of the following:
- 0: Not set
- 1: Active
- 2: Inactive
- 3: Canceled
-
statusFlag: integer
(int32)
The status flag.
-
usageEnd: object
EndingType
-
usageStart: object
StartingType
Nested Schema : comments
Type:
array
The list of comments associated with the note.
Show Source
-
Array of:
object Comments
The list of comments associated with the note.
Nested Schema : extension
Type:
object
The extended attributes.
Nested Schema : Comments
Type:
object
The list of comments associated with the note.
Show Source
-
comment(required): string
The comment.
-
csrAccountId: string
The CSR's account ID.
-
csrFirstName: string
The CSR's first name.
-
csrLastName: string
The CSR's last name.
-
csrLoginId: string
The login ID associated with the CSR.
-
entryDate: string
(date-time)
The date and time the comment was entered by the CSR.
-
externalUser: string
The external user.
-
trackingId: string
The tracking ID.
Response
204 Response
The bundle was added to the account successfully.
400 Response
The request isn't valid.
500 Response
An internal server error occurred.
Examples
This example shows how to add a bundle to a specified service 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/v1.0/accounts/0.0.0.1+-service-email+265928/bundle' -H 'content-type: application/json' -d @addBundle.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.
- addBundle.json is the JSON file that specifies the bundle to add.
You could provide an account ID in the path instead of a service ID to add a bundle at the account level.
Example of Request Body
This example shows the contents of the addBundle.json file sent as the request body.
{
"id": "0.0.0.1+-deal+171251",
"name": "Deal with cycle forward product",
"customizedChargeOffers": [
{
"name": "Product with cycle forward event",
"description": "Product with cycle forward charge more than 1000",
"baseChargeOfferRef": {
"id": "0.0.0.1+-product+168179",
"uri": null
}
}
],
"customizedDiscountOffers": [],
"effective": null
}
Example of Response Body
If successful, the response code 204 is returned with no response body.