Perform Billing Fulfillment
/createFulfillBilling
- Purchases a product offering, such as a bundled offer, charge offer, or a discount offer
- Suspends a purchased service
- Resumes a suspended service
- Terminates a purchased product offering
You specify the type of operation to be performed using the productOrderItem.action field in the request payload. Set the field to add, terminate, suspend, or resume.
You can also specify to cancel the service in the future by setting the productOrderItem.requestedCompletionDate field to a future-dated timestamp.
If you support two-phase billing, then you can also specify the offer be purchased with a future activation date using the billFulfillMode field in the request payload. Set the field to initiate to purchase an offer with the start dates set to 365 days in the future, or to fulfill to update the start dates to actual activation dates provided in the payload.
Request
There are no request parameters for this operation.
- application/json;charset=utf-8
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
billingAccount(required): object
Billing Account Ref
Title:
Billing Account Ref
A billing account is a detailed description of a bill structure.
-
package: object
PackageRef
Represents parent product order name.
-
productOrderItem: array
productOrderItem
Minimum Number of Items:
1
object
Billing Account Ref
-
@baseType: string
The super-class when sub-classing.
-
@referredType: string
The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
The sub-class entity name when sub-classing.
-
accountNumber: string
The account number.
-
href: string
A reference for the billing account.
-
id: string
The unique ID for the billing account.
-
name: string
The name of the billing account.
object
-
id: string
Unique identifier of a related entity.
-
name: string
Name of the related entity.
array
1
-
Array of:
object ProductOrderItem
It refers to an identified part of the order. A product order is decomposed into one or more order items.
Skipped properties: quantity, appointment, billingAccount, itemPrice, itemTerm, itemTotalPrice, payment, productOffering, productOfferingQualificationItem, productOrderItem, productOrderItemRelationship, qualification, quoteItem, state, @baseType, @schemaLocation, @type
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
action: string
Allowed Values:
[ "add", "terminate", "suspend", "resume" ]
The action to be performed on the product: add, terminate, suspend, or resume. -
billFulfillMode: string
Defines the billing mode if you support two-phased billing: initiate or fulfill.
-
expectedCompletionDate: string
(date-time)
It refers to the expected delivery date amended by the provider.
-
id: string
Identifier of the line item (generally it is a sequence number, like 01, 02, 03, etc).
-
itemPrice: array
itemPrice
-
itemTotalPrice: array
itemTotalPrice
-
product: object
Product
A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
Skipped properties: href, description, isBundle, isCustomerVisible, name, orderDate, productSerialNumber, startDate, terminationDate, agreement, billingAccount, place, product, productOrderItem, productPrice, productSpecification, realizingResource, realizingService, relatedParty, status, baseType, schemaLocation, type. -
productOffering: object
ProductOfferingRef
A reference to the product offering. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
-
productOrderItem: array
productOrderItem
-
requestedCompletionDate: string
(date-time)
The requested date and time to cancel the service in the future.
-
requestedStartDate: string
(date-time)
The requested date and time to start the service.
array
-
Array of:
object ItemPrice
A list of order prices. It is an amount, usually of money, that represents the actual price paid by the customer for this item.
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
id(required): string
Unique identifier of the product.
-
ownerAccount: object
OwnerAccount
Provides unique identifier of the owner account.
-
productCharacteristic: array
productCharacteristic
-
productTerm: array
productTerm
-
serviceAccount: object
ServiceAccount
Provides unique identifier of the service account.
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@referredType: string
The actual type of the target instance when needed for disambiguation.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
href: string
Reference of the related entity.
-
id: string
Unique identifier of a related entity.
-
name: string
Name of the related entity.
-
type: string
Type of the related entity.
array
-
Array of:
object ProductOrderItem
It refers to an identified part of the order. A product order is decomposed into one or more order items.
Skipped properties: quantity, appointment, billingAccount, itemPrice, itemTerm, itemTotalPrice, payment, productOffering, productOfferingQualificationItem, productOrderItem, productOrderItemRelationship, qualification, quoteItem, state, @baseType, @schemaLocation, @type
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
description: string
A narrative that explains in detail the semantics of this order item price.
-
price: object
Price
Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
-
priceAlteration: array
priceAlteration
It refers to a strucuture used to describe a price alteration.
-
priceType: string
Allowed Values:
[ "recurring", "oneTime", "usage", "/event/billing/product/fee/purchase", "/event/billing/product/fee/cycle/cycle_forward_monthly", "/event/billing/product/fee/cycle/cycle_forward_bimonthly", "/event/billing/product/fee/cycle/cycle_forward_quarterly", "/event/billing/product/fee/cycle/cycle_forward_semiannual", "/event/billing/product/fee/cycle/cycle_forward_annual", "/event/billing/product/fee/cycle/cycle_arrear", "downPayment" ]
A category that describes the price, such as recurring, discount, allowance, penalty, and so forth. -
recurringChargePeriod: string
It refers to a time period like month, week, etc.
-
timePeriod: object
TimePeriod
A period of time.
-
unitOfMeasure: string
It refers to a unit of measurement like minutes, gigaBytes, etc.
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
dutyFreeAmount: object
Money
A base / value business entity used to represent money.
-
percentage: number
(float)
-
taxAmount: object
Money
A base / value business entity used to represent money.
-
taxIncludedAmount: object
Money
A base / value business entity used to represent money.
array
-
Array of:
object PriceAlteration
The object is an amount, usually of money, that modifies the price charged for an order item.
object
-
endDateTime: string
(date-time)
Title:
End Time Period
The end of the time period in IETC-RFC-3339 format. -
startDateTime: string
(date-time)
Title:
Start Time Period
The start of the time period in IETC-RFC-3339 format.
object
-
unit(required): string
Refers to the currency (ISO4217 norm uses 3 letters to define the currency).
-
value(required): number
(float)
A positive floating point number.
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
description: string
A narrative that explains in detail the semantics of this order item price alteration.
-
name: string
Name of the order item price alteration.
-
price(required): object
Price
Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
-
priceType(required): string
A category that describes the price such as recurring, one time and usage.
-
priority: integer
It is a priority level for applying this alteration among all the defined alterations on the order item price.
-
recurringChargePeriod: string
Refers to a timeline, like month, week, etc.
-
unitOfMeasure: string
Refers to a unit of measurement like minutes, GB, etc.
object
-
@type: string
This defines the sub-class entity name when sub-classing.
-
description: string
A narrative that explains in detail the semantics of this order total item price, which includes its children.
-
price: object
Price
Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.
-
priceType: string
Allowed Values:
[ "recurring", "oneTime", "usage", "/event/billing/product/fee/purchase", "/event/billing/product/fee/cycle/cycle_forward_monthly", "/event/billing/product/fee/cycle/cycle_forward_bimonthly", "/event/billing/product/fee/cycle/cycle_forward_quarterly", "/event/billing/product/fee/cycle/cycle_forward_semiannual", "/event/billing/product/fee/cycle/cycle_forward_annual", "/event/billing/product/fee/cycle/cycle_arrear", "downPayment" ]
A category that describes the price, such as recurring, discount, allowance, penalty, and so forth.
object
-
@baseType: string
Title:
Base Type
The superclass of the object. -
@referredType: string
Title:
Referred Type
The type of the object, in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema Location
A URI to a JSON schema file that defines additional attributes and relationships. -
@type: string
Title:
Type
The subclass of the object. -
href: string
Title:
Owner Account Href
The href of the owner account reference. -
id: string
Title:
Owner Account ID
Unique identifier of the owner. -
name: string
Title:
Owner Account Name
The name of the owner account reference.
array
-
Array of:
object Characteristic
Describes a given characteristic of an object or entity through a name-value pair.
Skipped properties: baseType, schemaLocation, referredType
array
-
Array of:
object ProductTerm
Description of a product term linked to this product. This represents a commitment with a duration.
object
-
@baseType: string
Title:
Base Type
The superclass of the object. -
@referredType: string
Title:
Referred Type
The type of the object in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema Location
A URI to a JSON schema file that defines additional attributes and relationships. -
@type: string
Title:
Type
The subclass of the object. -
href: string
Title:
Service Account Href
The href of the service account reference. -
id: string
Title:
Service Account ID
Unique identifier of the service. -
name: string
Title:
Service Account Name
The name of the service account reference.
object
-
@type: string
The sub-class entity name when sub-classing, such as CharacteristicOracle.
-
name: string
The name of the characteristic.
-
unitOfMeasure: string
The unit of measure of the characteristic.
-
value: object
Any
-
valueType: string
The data type for the characteristic's value.
object
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-Schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
commitmentType: string
Commitment type of the product term.
-
description: string
Description of the product term.
-
duration: object
Quantity
An amount in a given unit.
-
name: string
Name of the product term.
object
-
amount: number
(float)
Default Value:
1
Numeric value in a given unit. -
units: string
Unit
Response
- application/json;charset=utf-8
200 Response
400 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
401 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
403 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
405 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
409 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
500 Response
object
-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
Examples
Example 1: Initiate Purchase Order of a Bundled Offer
The following example shows how to intiate the purchase order of a bundled offer by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
Note:
The productOrderItem.product.id will be used for all subsequent actions, including suspending, resuming, and terminating the services.The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @createFulfillBilling.json
Example of Request Body
The following is an example of the contents of the createFulfillBilling.json file sent as the request body. It specifies to:
-
Initiate a purchase order for a Standard GSM Telephony bundle
-
Set the start date of the bundle to 365 days in the future
{ "billingAccount": { "id": "0.0.0.1-139320", "accountNumber": "0.0.0.1-132190", "name": "o2b_demo19", "@type": "value type" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "add", "billFulfillMode": "initiate", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Telephony", "type": "serviceBundle", "@baseType": "ProductOfferingRef", "href": "null", "@schemaLocation": "null", "@type": "ProductOfferingRefOracle" }, "product": { "id": "88-1X6RX" }, "productOrderItem": [ { "id": "88-1X6MR", "action": "add", "productOffering": { "id": "88-1X6MRX", "name": "test", "type": "service", "@baseType": "ProductOfferingRef", "href": "null", "@schemaLocation": "null", "@type": "ProductOfferingRefOracle" }, "productOrderItem": [ { "id": "88-1X6MR", "action": "add", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": "ProductOfferingRef", "href": "null", "@schemaLocation": "null", "@type": "ProductOfferingRefOracle" }, "itemPrice": [ { "description": "Item Price", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2022-01-21T00:00:00.000Z", "endDateTime": "2022-01-25T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 25, "unit": "string" } } } ] }, { "description": "Item Price", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2023-01-01T00:00:00.000Z", "endDateTime": "2023-11-31T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 15, "unit": "string" } } } ] } ] }, { "id": "88-1X6MR", "action": "add", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Discount", "type": "discount", "@baseType": "ProductOfferingRef", "href": "null", "@schemaLocation": "null", "@type": "ProductOfferingRefOracle" }, "itemPrice": [ { "description": "Item Price", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2022-01-21T00:00:00.000Z", "endDateTime": "2022-01-25T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 25, "unit": "string" } } } ] }, { "description": "Item Price", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2023-01-01T00:00:00.000Z", "endDateTime": "2023-11-31T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 15, "unit": "string" } } } ] } ] } ] } ] } ] }
Example of the Response Body
If successful, the response code 200 is returned with no response body.
Example 2: Fulfill a Purchase Order of a Bundled Offer
The following example shows how to fulfill an order after initiating a bundled offer by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @fulfillServiceBundle.json
Example of Request Body
The following is an example of the contents of the fulfillServiceBundle.json file sent as the request body. It specifies to:
-
Create a purchase order for a Standard GSM Telephony bundle
-
Set the purchase order's start date to November 12, 2024
{ "billingAccount": { "id": "0.0.0.1-53751", "accountNumber": "0.0.0.1-136560", "name": "accountName1", "@type": "BillingAccountRef" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "add", "@type": "ProductOrderItem", "billFulfillMode": "fulfill", "requestedStartDate": "2024-11-12T00:00:00.000Z", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Telephony", "type": "serviceBundle", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRefOracle" }, "product": { "id": "88-1X6RX", "productCharacteristic": [ { "@type": "CharacteristicOracle", "name": "Service ID", "value": "GSMTelephonySerivce", "@baseType": null, "@schemaLocation": null, "unitOfMeasure": "" } ], "@type": "Product" }, "productOrderItem": [ { "id": "88-1X6MR", "action": "add", "@type": "ProductOrderItem", "productOffering": { "id": "88-1X6MRX", "name": "test", "type": "service", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" }, "productOrderItem": [ { "id": "88-1X6MR", "action": "add", "@type": "ProductOrderItem", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" } }, { "id": "88-1X6MR", "action": "add", "@type": "ProductOrderItem", "productOffering": { "id": "88-1X6MRX", "name": "Standard GSM Discount", "type": "discount", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" } } ] } ] } ] }
Example of the Response Body
If successful, the response code 200 is returned with no response body.
Example 3: Purchase Order for an Atomic Offer (Single Phase Billing Fulfilment)
The following example shows how to purchase a charge offer in a single step, where an existing service object is either purchased, or a new one is created, by submitting a POST request on the REST resource using cURL. If the productCharacteristic.value against the productCharacteristic.name as Service ID exists, then it adds the offer to an existing service. Otherwise, it creates a new service with the mentioned productCharacteristic.value. For more information about cURL, see Use cURL.
Note:
The productOrderItem.product.id will be used for all subsequent actions, including suspending, resuming, and terminating the services.The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @singlePhaseAtomicCharge.json
Example of the Request Body
The following is an example of the contents of the singlePhaseAtomicCharge.json file sent as the request body.
-
Add the purchased product for a Standard GSM Telephony Atomic Charge Bundle in a single step
-
Set the purchase order's start date to November 12, 2024
{ "billingAccount": { "id": "0.0.0.1-329318", "accountNumber": "0.0.0.1-136560", "name": "accountName1", "@type": "value type" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "add", "@type": "ProductOrderItem", "requestedStartDate": "2024-11-12T00:00:00.000Z", "productOffering": { "id": "88-1X6RX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" }, "product": { "id": "88-1XRX", "productCharacteristic": [ { "@type": "CharacteristicOracle", "name": "Service ID", "value": "GSMTelephonyService", "@baseType": null, "@schemaLocation": null, "unitOfMeasure": "" } ] }, "itemPrice": [ { "description": "Item Price", "@type": "ItemPrice", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2024-01-21T00:00:00.000Z", "endDateTime": "2024-01-25T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "@type": "PriceAlteration", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 25, "unit": "string" } } } ] }, { "description": "Item Price", "@type": "ItemPrice", "priceType": "/event/billing/product/fee/purchase", "timePeriod": { "startDateTime": "2024-03-01T00:00:00.000Z", "endDateTime": "2024-03-31T00:00:00.000Z" }, "priceAlteration": [ { "name": "PTPurchase1", "@type": "PriceAlteration", "priceType": "priceTag", "price": { "dutyFreeAmount": { "value": 15, "unit": "string" } } } ] } ] } ] }
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "add",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "charge",
can be replaced with
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "add",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "discount",
Example of the Response Body
If successful, the response code 200 is returned with no response body.
Example 4: Suspend the Associated Service for the Atomic Charge Offer
The following example shows how to suspend the purchase order of an atomic charge by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @suspendAtomicCharge.json
Example of the Request Body
The following is an example of the contents of the suspendAtomicCharge.json file sent as the request body.
-
Suspend the purchase order for a Standard GSM Telephony Atomic Charge Bundle
-
Set the purchase order's start date to November 12, 2024
{ "billingAccount": { "id": "0.0.0.1-329318", "accountNumber": "0.0.0.1-136560", "name": "accountName1", "@type": "value type" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "suspend", "@type": "ProductOrderItem", "requestedStartDate": "2024-11-12T00:00:00.000Z", "productOffering": { "id": "88-1X6RX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" }, "product": { "id": "88-1XRX", "productCharacteristic": [ { "@type": "CharacteristicOracle", "name": "Service ID", "value": "GSMTelephonyService", "@baseType": null, "@schemaLocation": null, "unitOfMeasure": "" } ] } } ] }
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "suspend",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "charge",
can be replaced with
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "suspend",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "discount",
Example of the Response Body
If successful, the response code 200 is returned with no response body.
Example 5: Resume the Associated Service for the Atomic Charge Offer
The following example shows how to resume a suspended purchase order of an atomic charge by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @resumeAtomicCharge.json
Example of the Request Body
The following is an example of the contents of the resumeAtomicCharge.json file sent as the request body.
-
Resume the suspended purchase order for a Standard GSM Telephony Atomic Charge Bundle
-
Set the purchase order's start date to November 12, 2024
{ "billingAccount": { "id": "0.0.0.1-329318", "accountNumber": "0.0.0.1-136560", "name": "accountName1", "@type": "value type" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "resume", "@type": "ProductOrderItem", "requestedStartDate": "2024-11-12T00:00:00.000Z", "productOffering": { "id": "88-1X6RX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" }, "product": { "id": "88-1XRX", "productCharacteristic": [ { "@type": "CharacteristicOracle", "name": "Service ID", "value": "GSMTelephonyService", "@baseType": null, "@schemaLocation": null, "unitOfMeasure": "" } ] } } ] }
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "resume",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "charge",
can be replaced with
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "resume",
"@type": "ProductOrderItem",
"requestedStartDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "discount",
Example of the Response Body
If successful, the response code 200 is returned with no response body.
Example 6: Terminate a Purchased Product of an Atomic Charge
The following example shows how to terminate a purchased product of an atomic charge service by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/orderBillFulfillment/v1/createFulfillBilling' -d @terminateAtomicCharge.json
Example of Request Body
The following is an example of the contents of the terminateAtomicCharge.json file sent as the request body.
-
Terminate the purchase order for a Standard GSM Telephony Atomic Charge Bundle
-
Set the purchase order's completion date to November 12, 2024
{ "billingAccount": { "id": "0.0.0.1-329318", "accountNumber": "0.0.0.1-136560", "name": "accountName1", "@type": "value type" }, "productOrderItem": [ { "id": "88-1X6MRX", "action": "terminate", "@type": "ProductOrderItem", "requestedCompletionDate": "2024-11-12T00:00:00.000Z", "productOffering": { "id": "88-1X6RX", "name": "Standard GSM Telephony", "type": "charge", "@baseType": null, "href": null, "@schemaLocation": null, "@type": "ProductOfferingRef" }, "product": { "id": "88-1XRX", "productCharacteristic": [ { "@type": "CharacteristicOracle", "name": "Service ID", "value": "GSMTelephonyService", "@baseType": null, "@schemaLocation": null, "unitOfMeasure": "" } ] } } ] }
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "terminate",
"@type": "ProductOrderItem",
"requestedCompletionDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "charge",
can be replaced with
"productOrderItem": [
{
"id": "88-1X6MRX",
"action": "terminate",
"@type": "ProductOrderItem",
"requestedCompletionDate": "2024-11-12T00:00:00.000Z",
"productOffering": {
"id": "88-1X6RX",
"name": "Standard GSM Telephony",
"type": "discount",
Example of the Response Body
If successful, the response code 200 is returned with no response body.