For every single of operation on the entities use the following templates and provide sample REST requests and responses.
Remember that the following Uniform Contract rules must be used :
Operation on Entities | Uniform API Operation | Description |
Query Entities | GET Resource | GET must be used to retrieve a representation of a resource. |
Create Entity | POST Resource | POST must be used to create a new resource |
Partial Update of an Entity | PATCH Resource | PATCH must be used to partially update a resource |
Complete Update of an Entity | PUT Resource | PUT must be used to completely update a resource identified by its resource URI |
Remove an Entity | DELETE Resource | DELETE must be used to remove a resource |
Execute an Action on an Entity | POST on TASK Resource | POST must be used to execute Task Resources |
Other Request Methods | POST on TASK Resource | GET and POST must not be used to tunnel other request methods. |
Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Notifications are also described in a subsequent section.
Anchor |
---|
| _Toc404178545 |
---|
| _Toc404178545 |
---|
|
GET API/billingManagement/ BillingAccount /{ID}Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
REQUEST |
GET /billingManagement/billingAccount/65 Accept: application/json |
RESPONSE |
{ "id": "65", "href": "http://serverlocation:port/billingManagement/billingAccount/65", "ratingType": "postpaid", "name": "my personal Billing Account", "state": "Active", "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z" }, "customerAccount": { "id": "15", "href": "http://serverlocation:port/customerManagement/customerAccount/15", "name": "Customer Account xxx" }, "customerBillingCycleSpecification": { "id": "26", "href": "http://serverlocation:port/billingManagement/customerbillingCycleSpecification/26", "name": "Monthly billing on the 15" }, "customerBillFormat": { "id": "23", "href": "http://serverlocation:port/billingManagement/customerBillFormat/23", "name": "Detailed invoice" }, "customerBillPresentationMedia": { "id": "25", "href": "http://serverlocation:port/billingManagement/customerBillPresentationMedia/25", "name": "Electronic invoice" }, "currency": { "currencyCode": "EUR" }, "billingAccountBalance": [ { "type": "ReceivableBalance", "amount": 52.3, "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z", "endDateTime": "2013-06-19T00:00:00.0Z" }, "status": "Due" } ], "relatedParty": [ { "id": "1", "href": "http://serverlocation:port/partyManagement/partyRole/1", "role": "bill receiver" }, { "id": "5", "href": "http://serverlocation:port/partyManagement/partyRole/5", "role": "bill responsible" } ], "paymentMean": { "id": "45", "href": "http://serverlocation:port/customerManagement/paymentMean/45", "name": "my favourite payment mean" } } |
Anchor |
---|
| _Toc404178546 |
---|
| _Toc404178546 |
---|
|
PUT API/BillingManagement/BillingAccount/{ID}No put operation for BillingAccount
Anchor |
---|
| _Toc404178547 |
---|
| _Toc404178547 |
---|
|
Anchor |
---|
| _Ref234978967 |
---|
| _Ref234978967 |
---|
|
Anchor |
---|
| _Toc235288517 |
---|
| _Toc235288517 |
---|
|
Anchor |
---|
| _Toc236554611 |
---|
| _Toc236554611 |
---|
|
Anchor |
---|
| _Toc236554912 |
---|
| _Toc236554912 |
---|
|
Anchor |
---|
| _Toc236555375 |
---|
| _Toc236555375 |
---|
|
Anchor |
---|
| _Toc225613455 |
---|
| _Toc225613455 |
---|
|
Anchor |
---|
| _Toc225603244 |
---|
| _Toc225603244 |
---|
|
Anchor |
---|
| _Ref226733430 |
---|
| _Ref226733430 |
---|
|
Anchor |
---|
| _Ref230885009 |
---|
| _Ref230885009 |
---|
|
Anchor |
---|
| _Ref231980155 |
---|
| _Ref231980155 |
---|
|
Anchor |
---|
| _Ref232940733 |
---|
| _Ref232940733 |
---|
|
Anchor |
---|
| _Ref232940829 |
---|
| _Ref232940829 |
---|
|
PATCH API/billingManagement/ BillingAccount /{ID}This Uniform Contract operation is used to partially update the representation of a managed entity or a task.
Description :
...
...
REQUEST |
POST billingManagement/billingAccount Content-type: application/json { "ratingType": "postpaid", "name": "my personal Billing Account", "state": "active", "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z" }, "customerAccount": { "id": "45", "href": "http://serverlocation:port/customerManagement/customerAccount/15", "name": "Customer Account xxx" }, "customerBillingCycleSpecification": { "id": "26", "href": "http://serverlocation:port/billingManagement/customerbillingCycleSpecification/26", "name": "Monthly billing on the 15" }, "customerBillFormat": { "id": "23", "href": "http://serverlocation:port/billingManagement/customerBillFormat/23", "name": "Detailed invoice" }, "customerBillPresentationMedia": { "id": "25", "href": "http://serverlocation:port/billingManagement/customerBillPresentationMedia/25", "name": "Electronic invoice" }, "currency": { "currencyCode": "EUR" }, "billingAccountBalance": [ { "type": "ReceivableBalance", "amount": 52.3, "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z", "endDateTime": "2013-06-19T00:00:00.0Z" }, "status": "Due" } ], "relatedParty": [ { "id": "1", "href": "http://serverlocation:port/partyManagement/partyRole/1", "role": "bill receiver" }, { "id": "5", "href": "http://serverlocation:port/partyManagement/partyRole/5", "role": "bill responsible" } ], "paymentMean": { "id": "45", "href": "http://serverlocation:port/customerManagement/paymentMean/45", "name": "my favourite payment mean" } } |
RESPONSE |
201 Content-Type: application/json { "id": "65", "href": "http://serverlocation:port/billingManagement/billingAccount/65", "ratingType": "postpaid", "name": "my personal Billing Account", "state": "Active", "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z" }, "customerAccount": { "id": "15", "href": "http://serverlocation:port/customerManagement/customerAccount/15", "name": "Customer Account xxx" }, "customerBillingCycleSpecification": { "id": "26", "href": "http://serverlocation:port/billingManagement/customerbillingCycleSpecification/26", "name": "Monthly billing on the 15" }, "customerBillFormat": { "id": "23", "href": "http://serverlocation:port/billingManagement/customerBillFormat/23", "name": "Detailed invoice" }, "customerBillPresentationMedia": { "id": "25", "href": "http://serverlocation:port/billingManagement/customerBillPresentationMedia/25", "name": "Electronic invoice" }, "currency": { "currencyCode": "EUR" }, "billingAccountBalance": [ { "type": "ReceivableBalance", "amount": 52.3, "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z", "endDateTime": "2013-06-19T00:00:00.0Z" }, "status": "Due" } ], "relatedParty": [ { "id": "1", "href": "http://serverlocation:port/partyManagement/partyRole/1", "role": "bill receiver" }, { "id": "5", "href": "http://serverlocation:port/partyManagement/partyRole/5", "role": "bill responsible" } ], "paymentMean": { "id": "45", "href": "http://serverlocation:port/customerManagement/paymentMean/45", "name": "my favourite payment mean" } } |
Anchor |
---|
| _Toc404178549 |
---|
| _Toc404178549 |
---|
|
DELETE API/billingManagement/BillingAccount/{ID}No delete operation for the BillingAccount.
Anchor |
---|
| _Toc404178550 |
---|
| _Toc404178550 |
---|
|
POST API/bILLING Management/AppliedCustomerbillingchargeThis operation is used to create applied customer billing charges..
Note: Adjustment needs another API to cover invoice adjustment and charge adjustment.
Pre-conditions:
Description :
...
RESPONSE |
201 Content-Type: application/json { "id": "25", "href": "http://serverlocation:port/BillingManagement/appliedCustomerBillingCharge/25", "date": "2013-04-19T16:42:23.0Z", "description": "Partner Premium monthly fee", "type": "recurring", "currencyCode": "USD", "taxIncludedAmount": 2.4, "taxExcludedAmount": 2, "appliedCustomerBillingTaxRate": [ { "amount": 0.4, "taxCategory": "VAT" } ], "serviceId": [ { "id": "0601020304", "type": "Mobile number" } ], "productSpecification": [ { "name": "Partner Premium", "productNumber": "P001" } ], "period": [ { "startPeriod": "2013-10-01T00:00:00.0Z", "endPeriod": "2013-10-31T00:00:00.0Z" } ] } |
Anchor |
---|
| _Toc404178551 |
---|
| _Toc404178551 |
---|
|
GET API/bILLING Management/AppliedCustomerbillingchargeNote that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
RESPONSE |
{ "id": "25", "href": "http://serverlocation:port/BillingManagement/appliedCustomerBillingCharge/25", "date": "2013-04-19T16:42:23.0Z", "description": "Partner Premium monthly fee", "type": "recurring", "currencyCode": "USD", "taxIncludedAmount": 2.4, "taxExcludedAmount": 2, "appliedCustomerBillingTaxRate": [ { "amount": 0.4, "taxCategory": "VAT" } ], "serviceId": [ { "id": "0601020304", "type": "Mobile number" } ], "productSpecification": [ { "name": "Partner Premium", "productNumber": "P001" } ], "period": [ { "startPeriod": "2013-10-01T00:00:00.0Z", "endPeriod": "2013-10-31T00:00:00.0Z" } ] } |
Anchor |
---|
| _Toc404178552 |
---|
| _Toc404178552 |
---|
|
DELETE API/billingManagement/ appliedCustomerBillingCharge /{ID}No delete operation for the AppliedCustomerBillingCharge
Anchor |
---|
| _Toc404178553 |
---|
| _Toc404178553 |
---|
|
PATCH API/billingManagement/ appliedCustomerBillingCharge /{ID}No patch operation for the AppliedCustomerBillingCharge
Anchor |
---|
| _Toc404178554 |
---|
| _Toc404178554 |
---|
|
PUT API/billingManagement/ appliedCustomerBillingCharge /{ID}No put operation for the AppliedCustomerBillingCharge
Anchor |
---|
| _Toc404178555 |
---|
| _Toc404178555 |
---|
|
GET API/bILLINGManagement/SettlementnoteADVICE /{ID}Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
RESPONSE |
Status:200 Content-Type: application/json Last-Modified:11/28/13 13:30:30 { "id": "26", "href": "http://serverlocation:port/BillingManagement/settlementNoteAdvice/26", "date": "2013-04-19T16:42:23.0Z", "description": "Settlement note â€" From 2013/10/01 to 2013/10/31", "paymentDueDate": "2013-04-19T16:42:23.0Z", "taxDate": "2013-04-19T16:42:23.0Z", "currencyCode": "EUR", "taxExcludedAmount": 89933.25, "taxIncludedAmount": 107560.16, "taxItem": [ { "taxCategory": "VAT", "taxRate": 19.6, "taxAmount": 17626.91 } ], "settlementMethod": { "code": "NET", "label": "Netting" }, "receiver": { "id": "63796", "href": "http://serverlocation:port/PartyManagement/partyRole/63796", "taxRegistration": { "number": "FR12345678912" } }, "issuer": { "id": "0800", "href": "http://serverlocation:port/PartyManagement/partyRole/0800", "taxRegistration": { "number": "FR98765432178" } }, "settlementNoteImage": { "imageFormat": "pdf", "imageSize": 130, "imageFileName": "BungiornoFrance-2013October-1234", "imageFileURL": "http://serverlocation:port/SettlementNoteImage/RQAAAABAAAAAAAAALryCQAbAAAAMAAxAF8ASQBuAHMAdABhAGwAb" }, "settlementNoteItem": [ { "itemNumber": "1", "itemId": "0815", "itemLabel": "Achats Gamifive", "quantity": 34873, "taxExcludedUnitPrice": 1.463, "taxExcludedAmount": 51019.2, "taxIncludedAmount": 61018.96, "taxItem": [ { "taxCategory": "VAT", "taxRate": 19.6, "taxAmount": 9999.76 } ], "period": { "startPeriod": "2013-10-01T00:00:00.0Z", "endPeriod": "2013-10-31T00:00:00.0Z" }, "productSpecification": { "name": "Gamifive", "productNumber": "17060" } }, { "itemNumber": "2", "itemId": "0816", "itemLabel": "Achats iGirls TV", "quantity": 19001, "taxExcludedUnitPrice": 2.048, "taxExcludedAmount": 38914.05, "taxIncludedAmount": 46541.2, "period": { "startPeriod": "2013-10-01T00:00:00.0Z", "endPeriod": "2013-10-31T00:00:00.0Z" }, "productSpecification": { "name": "iGirls TV", "productNumber": "17063" } } ] } |
Anchor |
---|
| _Toc404178556 |
---|
| _Toc404178556 |
---|
|
DELETE API/billingManagement/ Settlement note ADVICE /{ID}No delete operation for the SettlementNoteAdvice
Anchor |
---|
| _Toc404178557 |
---|
| _Toc404178557 |
---|
|
PATCH API/billingManagement/ Settlement note ADVICE /{ID}No patch operation for the SettlementNoteAdvice
Anchor |
---|
| _Toc404178558 |
---|
| _Toc404178558 |
---|
|
PUT API/billingManagement/ Settlement note ADVICE /{ID}No put operation for the SettlementNoteAdvice
Anchor |
---|
| _Toc404178559 |
---|
| _Toc404178559 |
---|
|
POST API/billingManagement/ Settlement note ADVICE /{ID}No post operation for the SettlementNoteAdvice
Anchor |
---|
| _Toc404178560 |
---|
| _Toc404178560 |
---|
|
GET API/bILLING Management/ CUSTOMER BILLING CYCLE SpecificationNote that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
RESPONSE |
Status:200 Content-Type: application/json Last-Modified:11/28/13 13:30:30 { "id": "26", "href": "http://serverlocation:port/billingManagement/customerbillingCycleSpecification/26", "name": "Monthly billing on the 15", "billingDateShift": 15, "frequency": "monthly" } |
Anchor |
---|
| _Toc404178561 |
---|
| _Toc404178561 |
---|
|
GET API/bILLING Management/ CUSTOMER BILL FormatNote that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
RESPONSE |
Status:200 Content-Type: application/json Last-Modified:11/28/13 13:30:30 { "id": "26", "href": "http://serverlocation:port/billingManagement/customerBillFormat/26", "name": "Detailed invoice" } |
Anchor |
---|
| _Toc404178562 |
---|
| _Toc404178562 |
---|
|
GET API/bILLING Management/ CUSTOMER BILL Presentation MediaNote that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :
...
RESPONSE |
Status:200 Content-Type: application/json Last-Modified:11/28/13 13:30:30 { "id": "26", "href": "http://serverlocation:port/billingManagement/customerBillPresentationMedia/26", "name": "Electronic invoice" } |
© TM Forum 2015. All Rights Reserved.