Response Payload Extensions
You can extend the BRM REST Services Manager API to include additional attributes in JSON payload responses. You can also use these attributes in the fields query parameter when making GET requests for extended objects.
This document shows the additional attributes that are supported for each TMF Open API:
- TMF 666: Account Management API
- TMF 678: Customer Bill Management API
- TMF 676: Payment Management API
- TMF 654: Prepay Balance Management API
- TMF 635: Usage Management API
TMF 666: Account Management API
You can add attributes to the response payloads of the following Account Management API resources.
BillingCycleSpecification TMF Resource
-
Extended fields:
- status
- remainingAmount
- billingAccount
- id
- href
- name
- paymentProfile
- id (The ID can be a payment profile POID or external ID)
- href
- name
- accountingType
-
Extended schema:
BillingCycleSpecificationOracle: title: Billing Cycle Specification Oracle description: A billing cycle specification, extended for BRM REST Services Manager. allOf: - $ref: '#/components/schemas/BillingCycleSpecification' - type: object properties: status: title: Status type: string description: The billing cycle specification's status. remainingAmount: description: A remaining amount. $ref: '#/components/schemas/Money' billingAccount: description: A billing account associated with the billing cycle specification. $ref: "#/components/schemas/AccountRef" paymentProfile: description: A payment profile associated with the billing cycle specification. $ref: "#/components/schemas/PaymentMethodRef" accountingType: title: Accounting Type type: string description: The billing cycle specification's accounting type. -
Sample JSON payload entries:
"status": "active", "remainingAmount": { "unit": "USD", "value": 0.0 }, "billingAccount": { "id": "0.0.0.1+-account+57943", "href": null, "description": null, "name": "John Doe", "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": "billingAccount" }, "paymentProfile": { "id": "Test123XYZ", "href": null, "name": "34567", "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": null }, "accountingType": "open item"
TMF 678: Customer Bill Management API
You can add attributes to the response payloads of the following Customer Bill Management API resources.
CustomerBill TMF Resources
-
Extended fields:
- billingCycleSpecification
- id
- name
- status
- href
- accountingType
- adjustmentAmount
- refundAmount
- disputeAmount
- writeOffAmount
- settlementAmount
-
previousTotalAmount
-
billPaidDate
- billingCycleSpecification
-
Extended schema:
CustomerBillOracle: title: Customer Bill Oracle description: A customer bill, extended for BRM REST Services Manager. allOf: - $ref: '#/components/schemas/CustomerBill' - type: object properties: billingCycleSpecification: description: The billing cycle specification associated with the bill. $ref: '#/components/schemas/PartyBillingCycleSpecificationOracle' adjustmentAmount: description: The adjusted amount on the bill. $ref: '#/components/schemas/Money' refundAmount: description: The refunded amount on the bill. $ref: '#/components/schemas/Money' disputeAmount: description: The disputed amount on the bill. $ref: '#/components/schemas/Money' writeOffAmount: description: The written off amount on the bill. $ref: '#/components/schemas/Money' settlementAmount: description: The settlement amount on the bill. $ref: '#/components/schemas/Money' previousTotalAmount: description: The previous total amount on the bill. $ref: '#/components/schemas/Money' billPaidDate: type: string title: Bill Paid Date description: The date the bill was paid. format: date-time -
Sample JSON payload entries:
"billingCycleSpecification":{ "name":"Bill Unit(1)", "id":"0.0.0.1+-billinfo+283741", "Status":"active", "href":null, "accountingType":"open item", "@type":"PartyBillingCycleSpecificationOracle", "@baseType":"PartyBillingCycleSpecification", "@schemaLocation":null }, "adjustmentAmount":{ "unit":"USD", "value":25.60 } "refundAmount":{ "unit":"USD", "value":5.75 }, "disputeAmount":{ "unit":"USD", "value":20.91 }, "writeOffAmount":{ "unit":"USD", "value":8.08 }, "settlementAmount":{ "unit":"USD", "value":8.08 }, "previousTotalAmount":{ "unit":"USD", "value":55.19 }, "billPaidDate": "2020-07-14T01:17:34-07:00"
AppliedCustomerBillingRate TMF Resource
-
Extended fields:
- remainingAmount
- itemNo
- serviceTypeName
- serviceId
- receivedAmount
- adjustedAmount
- writeOffAmount
- disputedAmount
- billingCycleSpecificationRefOracle
- id
- href
-
Extended schema:
AppliedCustomerBillingRateOracle: title: Applied Customer Billing Rate Oracle description: An applied customer billing rate, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/AppliedCustomerBillingRate" - type: object properties: itemNo: title: Applied Customer Billing Rate Number type: string description: item number of the bill remainingAmount: description: The remaining amount of the applied customer billing rate. $ref: '#/components/schemas/Money' adjustedAmount: description: The adjusted amount of the applied customer billing rate. $ref: '#/components/schemas/Money' writeOffAmount: description: The write-off amount of the applied customer billing rate. $ref: '#/components/schemas/Money' disputedAmount: description: The disputed amount of the applied customer billing rate. $ref: '#/components/schemas/Money' receivedAmount: description: The received amount of the applied customer billing rate. $ref: '#/components/schemas/Money' serviceId: title: Service ID type: string description: The ID of the service associated with the applied customer billing rate. serviceTypeName: title: Service Type Name type: string description: The name of the service associated with the applied customer billing rate. billingCycleSpecification: description: The billing cycle specification associated with the applied customer billing rate. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' -
Sample JSON payload entries:
"remainingAmount": { "unit": "USD", "value": 459.63 }, "itemNo": "B1-239,3", "serviceTypeName": "ServiceTelcoGprs", "serviceId": "0.0.0.1+-service-telco-gprs+78811", "receivedAmount": { "unit": "USD", "value": 8.22 }, "adjustedAmount": { "unit": "USD", "value": -2.0 }, "writeOffAmount": { "unit": "USD", "value": 0.0 }, "disputedAmount": { "unit": "USD", "value": 0.0 }, "billingCycleSpecification": { "id": "0.0.0.1+-billinfo+81115", "href": "http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+81115" },
CustomerBillOnDemand TMF Resource
-
Extended fields:
-
billingCycleSpecification
- id
- href
-
-
Extended schema:
CustomerBillOnDemand_CreateOracle: title: Customer Bill OnDemand Create Oracle description: An on-demand customer bill, used in the create request, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/CustomerBillOnDemand_Create" - type: object properties: billingCycleSpecification: description: The extended billing cycle specification associated with the on-demand bill. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' -
Sample JSON payload entries:
"billingCycleSpecification": { "id": "0.0.0.1+-billinfo+342822", "href": null }
TMF 676: Payment Management API
You can add attributes to the response payloads of the following Payment Management API resources.
Payment TMF Resource
-
Extended fields:
- paymentTransactionId
- unallocatedAmount
- paymentItem
- paymentAllocatedOn
- appliedCustomerBillingRate
- remainingAmount
- itemNo
- serviceTypeName
- serviceId
- receivedAmount
- adjustedAmount
- writeOffAmount
- disputedAmount
- billingCycleSpecificationRef
- billingCycleSpecification
- id
- href
- reversedPaymentAmount
- paymentMethod (all BRM payment methods are supported)
- details
- paymentStatus
-
Extended schemas:
PaymentOracle: title: Payment Oracle description: A payment, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/Payment" - type: object properties: billingCycleSpecification: description: The billing cycle specification associated with the payment. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' unallocatedAmount: description: The amount of the payment that is unallocated. $ref: '#/components/schemas/Money' description: The amount that remains unallocated in the total payment amount reversedPaymentAmount: description: The amount of the payment that is reversed. $ref: '#/components/schemas/Money' description: The amount of a reversal when payment is reversed paymentTransactionId: type: string title: Payment Transaction ID description: The payment's transaction ID. paymentItem: type: array description: Payment items which can be assigned to bills. x-cardinality: "1" items: $ref: '#/components/schemas/PaymentItemOracle' paymentMethod: description: The payment method. $ref: '#/components/schemas/PaymentMethodRefOrValueOracle' paymentStatus: type: string title: Payment Status description: The payment's status. -
Sample JSON payload entries:
"paymentTransactionId":"T1,85,0", "unallocatedAmount":{ "unit":"USD", "value":10.0 }, "paymentItem": [{ "id": "0.0.0.1+-bill+575251", "amount": null, "item": { "id": "B1-2106", "href": "https://hostname:port/brm/customerBillManagement/v4/customerBill/0.0.0.1+-bill+575251", "name": null, "@baseType": "CustomerBill", "@schemaLocation": null, "@type": "CustomerBill", "@referredType": null }, "taxAmount": null, "totalAmount": { "unit": "USD", "value": 2 }, "@baseType": "PaymentItem", "@schemaLocation": null, "@type": "PaymentItemOracle", "paymentAllocatedOn": "2020-08-01T02:14:03-07:00", "appliedCustomerBillingRate": [{ "@baseType": "AppliedCustomerBillingRate", "@schemaLocation": null, "@type": "AppliedCustomerBillingRateOracle", "itemNo": "B1-2106,2", "allocatedAmount": { "unit": "USD", "value": -2 } }] }] "billingCycleSpecification":{ "id":"0.0.0.1+-billinfo+102199", "href":"http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+102199" }, "reversedPaymentAmount":{ "unit":"USD", "value":0.0 } paymentMethod: { "type" : "cash" "details": { "receiptId": "BoA-98071", "receiptDate": "2020-03-01T08:01:56Z" }, paymentStatus:"Success" }
Payment_Create TMF Resource
-
Extended fields:
- billingCycleSpecification
- id
- href
- bills
- id
- amount
- billingCycleSpecification
-
Extended schema:
Payment_CreateOracle: title: Payment Create Oracle description: A payment, used in payment create requests, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/Payment_Create" - type: object properties: billingCycleSpecification: description: The billing cycle specification associated with the payment. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' bills: type: array x-cardinality: "1" items: $ref: '#/components/schemas/CustomerBillRefOracle' -
Sample JSON payload entries:
"billingCycleSpecification":{ "id":"0.0.0.1+-billinfo+102199", "href":"http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+102199" }, "bills":{ "id":"0.0.0.1+-bill+79091", "amount":{ "unit":"USD", "value":50.0 }
Refund TMF Resource
-
Extended fields:
- billingCycleSpecification
- id
- href
- name
- bill
- id
- href
- billingCycleSpecification
-
Extended schema:
RefundOracle: title: Refund Oracle description: A refund, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/Refund" - type: object properties: billingCycleSpecification: description: The billing cycle specification associated with the refund. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' bill: description: The bill associated with the refund. $ref: '#/components/schemas/BillRef' -
Sample JSON payload entries:
{ "id": "0.0.0.1+-item-refund+90658", "href": "http://hostname:port/brm/payment/v4/refund/0.0.0.1+-item-refund+90658", "authorizationCode": null, "correlatorId": "R1-27", "description": "Item Refund", "name": "Billing Event Log", "refundDate": "2020-12-08T22:58:32-08:00", "status": "Success", "statusDate": "2020-12-08T22:58:32-08:00", "account": { "id": "0.0.0.1+-account+82226", "href": null, "description": null, "name": "Grace W", "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": "billingAccount" }, "amount": null, "channel": { "id": "0", "href": null, "name": "Unspecified", "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": null } "payment": { "id": "0.0.0.1+-item-payment+88145", "href": "http://hostname:port/brm/payment/v4/payment/0.0.0.1+-item-payment+88145", "name": null, "amount": null, "paymentDate": null, "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": "Payment" }, "paymentMethod": { "id": null, "href": null, "description": null, "isPreferred": null, "name": "Cash", "status": null, "statusDate": null, "account": null, "relatedParty": null, "validFor": null, "@baseType": "PaymentMethodRefOrValue", "@schemaLocation": null, "@type": "PaymentMethodRefOrValueOracle", "@referredType": null, "details": { "receiptNo": "23456", "receiptDate": "2020-12-08T22:58:19-08:00" } }, "requestor": null, "taxAmount": null, "totalAmount": { "unit": "USD", "value": 85.0 }, "@baseType": "Refund", "@schemaLocation": null, "@type": "RefundOracle", "billingCycleSpecification": { "id": "0.0.0.1+-billinfo+85298", "href": "http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+85298", "name": "Bill Unit(1)" }, "bill": { "id": "0.0.0.1+-bill+82899", "href": "http://hostname:port/brm/customerBillManagement/v4/customerBill/0.0.0.1+-bill+82899", "@baseType": null, "@schemaLocation": null, "@type": "BillRef", "@referredType": "CustomerBill" } }
TMF 654: Prepay Balance Management API
You can add attributes to the response payloads of the following Prepay Balance Management resources.
AccumulatedBalance TMF Resource
-
Extended fields:
- billingCycleSpecification
- id
- href
- unbilledBalance
- amount
- units
- originalBalance
- amount
- units
- billingCycleSpecification
-
Extended schema:
AccumulatedBalanceOracle: title: Accumulated Balance Oracle description: An amount owed by an account, aggregating amounts contained in a set of buckets. Extended for BRM REST Services Manager. allOf: - $ref: '#/components/schemas/AccumulatedBalance' - type: object properties: billingCycleSpecification: id: 0.0.0.1+-billinfo+37426, href: http://localhost:9999/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+37426, type: array, x-cardinality: "1", description: Billing cycle specifications associated with the balance., items: $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' unbilledBalance: amount: 25.0, units: USD, description: The amount of the balance that remains unbilled., $ref: '#/components/schemas/Quantity' originalBalance: amount: 10.0, units: USD -
Sample JSON payload entries:
"billingCycleSpecification": [ { "id": "0.0.0.1+-billinfo+69271", "href": "http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+69271" } ], "originalBalance": { "amount": 100, "units": "MIN" }, "unbilledBalance": { "amount": null, "units": null, }
AdjustBalance (Get Adjustments) TMF Resource
-
Extended fields:
- actionType
- bill
- id
- href
- billItem
- id
- href
- name
- originalCharge
- adjustmentAmount
- billEvent
- id
- href
- name
- originalCharge
- adjustmentAmount
- adjustmentNo
- billingCycleSpecification
- id
- href
- name
-
Extended schema:
AdjustBalanceOracle: title: Adjust Balance Oracle description: An adjusted balance, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/AdjustBalance" - type: object properties: actionType: type: string title: Action Type description: The type of adjustment action. bill: description: The bill associated with the adjustment. $ref: '#/components/schemas/BillRef' billItem: type: array description: Bill items associated with the adjustment. x-cardinality: "1" items: $ref: '#/components/schemas/BillItemAdjustmentOracle' billEvent: type: array x-cardinality: "1" description: Events associated with the adjustment. items: $ref: '#/components/schemas/BillEventAdjustmentOracle' adjustmentNo: type: string title: Adjustment No description: The adjustment number. billingCycleSpecification: description: The billing cycle specification associated with the adjustment. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' -
Sample JSON payload entries:
"actionType": "BillAdjustment", "bill": { "id": "0.0.0.1+-bill+497680", "href": "http://hostname:port/brm/customerBillManagement/v4/customerBill/0.0.0.1+-bill+497680", "@baseType": null, "@schemaLocation": null, "@type": null, "@referredType": null }, "billItem": [{ "id": "0.0.0.1+-item-cycle_forward+497234", "href": "http://hostname:port/brm/customerBillManagement/v4/appliedCustomerBillingRate/0.0.0.1+-item-cycle_forward+497234", "name": "Cycle forward", "originalCharge": { "unit": "USD", "value": 45 }, "adjustmentAmount": { "unit": "USD", "value": 1 } }] "billEvent": [ { "id": "0.0.0.1+-event-billing-product-fee-cycle-cycle_forward_quarterly+324136027868866141", "href": "http://hostname:port/brm/usageManagement/v2/usage/0.0.0.1+-event-billing-product-fee-cycle-cycle_forward_quarterly+324136027868866141", "name": "EventBillingProductFeeCycleCycle_forward_quarterly", "originalCharge": { "unit": "USD", "value": 45 }, "adjustmentAmount": { "unit": "USD", "value": -1 } } ], "adjustmentNo": "A1-32", "billingCycleSpecification": { "id": "0.0.0.1+-billinfo+496290", "href": "http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+496290", "name": "dave" }
AdjustBalance (Create an Adjustment) TMF Resource
-
Extended fields:
- includeTax
- beid
-
Extended schema:
AdjustBalance_CreateOracle: title: Adjust Balance Create Oracle description: An adjustment to a balance, used in AdjustBalance create requests, extended for BRM REST Services Manager. allOf: - $ref: "#/components/schemas/AdjustBalance_Create" - type: object properties: includeTax: type: boolean title: Is Include Tax description: Whether the adjustment includes tax (<b>true</b>) or not (<b>false</b>). bieId: type: array x-cardinality: "1" description: The bills, items, or events associated with the adjustment. items: $ref: '#/components/schemas/BieFieldOracle' -
Sample JSON payload entries:
"includeTax": "false", "bieId": [ { "id": "0.0.0.1+-bill+66757" }
Bucket TMF Resource
-
Extended fields:
- billingCycleSpecification
- id
- href
- originalBalance
- amount
- units
- billingCycleSpecification
-
Extended schema:
BucketOracle: title: Bucket Oracle description: A bucket that tracks a quantity of usage (remaining or consumed) for currency or non-currency resources (such as messages, minutes, data). Extended for BRM REST Services Manager. allOf: - $ref: '#/components/schemas/Bucket' - type: object properties: billingCycleSpecification: id: href: description: The billing cycle specification associated with the bucket. $ref: '#/components/schemas/BillingCycleSpecificationRefOracle' originalBalance: amount: -10.0 units: USD -
Sample JSON payload entries:
"billingCycleSpecification": { "id": "0.0.0.1+-billinfo+69271", "href": "http://hostname:port/brm/accountManagement/v4/billingCycleSpecification/0.0.0.1+-billinfo+69271", "name": null }, "originalBalance": { "amount": -10.0, "units": USD, "@baseType": "Quantity", "@schemaLocation": null, "@type": "Quantity" }
TMF 635: Usage Management API
You can add attributes to the response payloads of the following Usage Management API resources.
usagesGet TMF Resource
-
Extended fields:
- appliedCustomerBillingRate
- quantity
- taxAmount
- taxCode
- rumName
- remainingAmount
- adjustedAmount
- disputedAmount
- endTime
- cycleStart
- cycleEnd
- effectiveDate
- unSettledDisputeAmount
- discount
-
Extended schema:
UsageOracle: title: Usage Oracle description: An instance of usage, extended for BRM REST Services Manager. allOf: - $ref: '#/components/schemas/Usage' - type: object properties: appliedCustomerBillingRate: description: The applied customer billing rate for the usage. $ref: '#/components/schemas/AppliedCustomerBillingRateRefOracle' quantity: title: Quantity type: number format: float description: The quantity used. taxAmount: description: The amount of tax. $ref: '#/components/schemas/Money' taxCode: title: Tax Code type: string description: The usage's tax code. rumName: title: Rum Name type: string description: The name of the usage's Ratable Usage Metric (RUM). remainingAmount: description: A remaining amount. $ref: '#/components/schemas/Money' adjustedAmount: description: An adjusted amount. $ref: '#/components/schemas/Money' disputedAmount: description: A disputed amount. $ref: '#/components/schemas/Money' endTime: type: string title: End Time description: The usage's end time. format: date-time cycleStart: type: string title: Cycle Start description: The billing cycle start date. format: date-time cycleEnd: type: string title: Cycle End description: The billing cycle end date. format: date-time effectiveDate: type: string title: Effective Date description: The usage's effective date. format: date-time unSettledDisputeAmount: description: An amount from an unsettled dispute. $ref: '#/components/schemas/Money' discount: description: A discount. $ref: '#/components/schemas/Money' -
Sample JSON payload entries:
"appliedCustomerBillingRate": { "id": "0.0.0.1+-item-misc+117724", "href": "http://hostname:port/brm/customerBillManagement/v4/appliedCustomerBillingRate/0.0.0.1+-item-misc+117724" }, "quantity": 1, "taxAmount": { "unit": "USD", "value": 0.0 }, "taxCode": "", "rumName": "ONETIME", "remainingAmount": { "unit": "USD", "value": 5.3 }, "adjustedAmount": { "unit": "USD", "value": 0.0 }, "disputedAmount": { "unit": "USD", "value": 0.0 }, "endTime": "2020-07-17T02:49:32-07:00", "cycleStart": null, "cycleEnd": null, "effectiveDate": null, "unSettledDisputeAmount": { "unit": "USD", "value": 0.0 }, "discount": { "unit": "USD", "value": 0.0 }