Update Offer Details for a Purchased Product or Discount
put
/bcws/webresources/v1.0/subscriptions/offerdetails/{id}
Updates the details of a purchased product or discount. For example, updates the purchase fee, cycle start date, or usage discount amount.
Request
Path Parameters
-
id(required): string
The ID for the purchased product or discount to modify, such as 0.0.0.1+-purchased_product+234567 or 0.0.0.1+-purchased_discount+345678.
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
200 Response
The offer details were updated successfully.
500 Response
An internal server error occurred.
Examples
This example shows how to update the details of a purchased product or discount by submitting a PUT request on the REST resource using cURL. For more information about cURL, see "Use cURL".
cURL Command
curl -X PUT http://hostname:port/bcws/webresources/v1.0/subscriptions/offerdetails/0.0.0.1+-purchased_product+209130 -H 'content-type: application/json' -d @updateDetails.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.
- updateDetails.json is the JSON file that specifies the details to update.
Example of Request Body
This example shows the contents of the updateDetails.json file sent as the request body.
{
"customizedChargeOffers": [
{
"purchaseEnd": {
"mode": "never",
"endDate": ""
},
"cycleEnd": {
"mode": "never",
"endDate": ""
},
"usageEnd": {
"mode": "never",
"endDate": ""
},
"cycleDiscountOverride": 0,
"cycleDiscountPercentOverride": 0,
"usagePercentOverride": 0,
"purchaseFeeOverride": 5,
"cycleFeeOverride": 0,
"purchaseDiscountOverride": 0,
"purchaseDiscountPercentOverride": 0
}
]
}
Example of Response Body
If successful, the response code 200 is returned with true in the response body.