Request Payload Extensions
You can extend the payloads of BRM REST Services Manager API POST requests to include additional attributes.
This document shows the additional payload attributes that are supported for each TMF Open API:
- TMF 678: Customer Bill Management API
- TMF 676: Payment Management API
- TMF 654: Prepay Balance Management API
TMF 678: Customer Bill Management API
You can add the following attributes to the payload of the following Customer Bill Management API endpoints.
Create Customer Bill On Demand endpoint
-
Extended attributes:
Create a bill for a billing cycle specification (billingCycleSpecification.id)
-
Example syntax:
{ "@type":"CustomerBillOnDemand_CreateOracle", "billingAccount":{ "id":"0.0.0.1+-account+341286" }, "billingCycleSpecification":{ "id":"0.0.0.1+-billinfo+342822" } }
TMF 676: Payment Management API
You can add the following attributes to the payload of the following Payment Management API endpoints.
Create a Payment endpoint
-
Extended attributes:
- A billing cycle specification (billingCycleSpecification.id)
The payment method in the request must be associated with the billing cycle specification (bill unit) to which the payment will be allocated.
You can find the payment method associated with a billing cycle specification by submitting a GET request to the /billingCycleSpecification/{id} endpoint with the @type=billingCycleSpecificationOracle query parameter. The paymentProfile.id attribute in the response contains the correct payment method ID.
- Bills (bills)
You can specify one or more bills in the array, but they must all belong to the same billing cycle specification.
You can find out what billing cycle specification a bill belongs to by submitting a GET request to the /customerBill/{id} endpoint with the @type=CustomerBillOracle query parameter.
- A bill number (bills.id)
The bill number in the request must be associated with the billing cycle specification (bill unit) to which the payment will be allocated.
- A billing cycle specification (billingCycleSpecification.id)
-
Example syntax:
{ "@type": "Payment_CreateOracle", "account": { "id": "0.0.0.1+-account+213214" }, "paymentMethod": { "id": "0.0.0.1+-payinfo-cc+219136" }, "totalAmount": { "value": 400, "unit": "USD" }, "description": "New Payment", "billingCycleSpecification": { "id": "0.0.0.1+-billinfo+216286" }, "bills": [ { "id": "B1-123", "amount": { "value": 200 } }, { "id": "0.0.0.1+-bill+220253", "amount": { "value": 200 } } ] }
Create a Payment Allocation for a Bill endpoint
-
Extended attributes:
A bill ID or bill number (bill.id)
-
Example syntax:
{ "paymentId": "0.0.0.1+-item-payment+91630", "bill": [ { "id": "B1-123", "allocatedAmount": { "value": "50", "unit": "USD" } } ] }
TMF 654: Prepay Balance Management API
You can add the following attributes to the payload of the following Prepay Balance Management API endpoints.
Create an Adjusted Balance endpoint
-
Extended attributes:
Create an adjustment for a bill, item, service, or event ID or number (bieId.id)
-
Example syntax for a bill adjustment:
{ "description": "My First Bill Adjustment", "reason": "1", "amount": { "amount": 100.00, "units": "USD" }, "bieId": [ { "id": "0.0.0.1+-bill+66757" } ], "@type": "AdjustBalance_CreateOracle", "taxTreatment": "TaxExcluded" } -
Example syntax for an item adjustment:
{ "description": "My First Item Adjustment", "reason": "1", "amount": { "amount": -25.0, "units": "USD" }, "bieId": [ { "id": "0.0.0.1+-item-misc+69817" } ], "@type": "AdjustBalance_CreateOracle", "taxTreatment": "TaxExcluded" } -
Example syntax for an event adjustment:
{ "description": "My First Event Adjustment", "reason": "1", "amount": { "amount": 15.0, "units": "USD" }, "bieId": [ { "id": "0.0.0.1+-event-session+323731407589414010" } ], "@type": "AdjustBalance_CreateOracle", "taxTreatment": "TaxExcluded" } -
Example syntax for a service-level balance adjustment:
{ "description": "My First Service Adjustment", "reason": 1, "amount": { "amount": -50.00, "units": "USD" }, "product":[ { "id": "0.0.0.1+-service-telco-gprs+2157330", "href": null, "name": null, "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": null } ], "usageType": "monetary", "@type": "AdjustBalance_CreateOracle" }
Create a Disputed Balance endpoint
-
Extended attributes:
Create an adjustment for a bill, item, or event ID or number (bieId.id)
-
Example syntax:
The following is an example of a request body for creating a disputed balance for events by including the bieId.id property set to a bill number.
{ "description": "Bill Dispute", "reason": "1", "amount": { "amount": -15.00, "units": "USD" }, "bieId": [ { "id": "B1-3" }, ], "taxTreatment": "TaxExcluded" }