1. Overview
2. Security
2.1. oauth2_password
Type : oauth2
Flow : password
Token URL : https://localhost:9002/authorizationserver/oauth/token
Name |
---|
basic |
2.2. oauth2_client_credentials
Type : oauth2
Flow : application
Token URL : https://localhost:9002/authorizationserver/oauth/token
Name |
---|
extended |
3. Resources
3.1. Billing Account
Ba Billing Account Controller
3.1.1. Creates a BillingAccount
POST /billingAccount
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
billingAccount |
The BillingAccount to be created |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
|
201 |
Created |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
No Content |
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.1.2. List or find BillingAccount objects
GET /billingAccount
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
fields |
Comma-separated properties to be provided in response |
string |
Query |
limit |
Requested number of resources to be provided in response |
integer(int32) |
Query |
offset |
Requested index for start of resources to be provided in response |
integer(int32) |
Query |
paymentStatus |
Payment Status value |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
< BillingAccount > array |
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.1.3. Retrieves a BillingAccount by ID
GET /billingAccount/{id}
Description
This operation retrieves a BillingAccount entity. Attribute selection is enabled for all first level attributes.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Identifier of the BillingAccount |
string |
Query |
fields |
Comma-separated properties to provide in response |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.1.4. Deletes a BillingAccount
DELETE /billingAccount/{id}
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
OK |
No Content |
204 |
Deleted |
No Content |
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.1.5. Updates partially a BillingAccount
PATCH /billingAccount/{id}
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
Identifier of the BillingAccount |
string |
Body |
billingAccount |
The BillingAccount to be updated |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Updated |
|
204 |
No Content |
No Content |
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.2. Billing Account Notification Listeners
Ba Listener Controller
3.2.1. Client listener for entity BillingAccountAttributeValueChangeEvent
POST /listener/billingAccountAttributeValueChangeEvent
Description
Example of a client listener for receiving the notification BillingAccountAttributeValueChangeEvent
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Notified |
|
201 |
Created |
No Content |
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
3.2.2. Client listener for entity BillingAccountStateChangeEvent
POST /listener/billingAccountStateChangeEvent
Description
Example of a client listener for receiving the notification BillingAccountStateChangeEvent
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Notified |
|
201 |
Created |
No Content |
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
405 |
Method Not allowed |
|
409 |
Conflict |
|
500 |
Internal Server Error |
4. Definitions
4.1. AccountBalance
Balances linked to the account
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
amount |
Balance amount |
|
balanceType |
Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance… |
string |
validFor |
Balance validity period |
4.2. AccountRef
Account reference. A account may be a party account or a financial account.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
description |
Detailed description of the account |
string |
href |
Reference of the account |
string |
id |
Unique identifier of the account |
string |
name |
Name of the account |
string |
4.3. AccountRelationship
Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
account |
||
relationshipType |
Type of relationship |
string |
validFor |
Validity period of that relationship |
4.4. AccountTaxExemption
Proof of freedom from taxes imposed by a taxing jurisdiction
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
certificateNumber |
Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction |
string |
issuingJurisdiction |
Name of the taxing jurisdiction for which taxes are exempt |
string |
reason |
Reason of the tax exemption |
string |
validFor |
Period for which the exemption is valid |
4.5. BillFormatRefOrValue
An attachment by value or by reference.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
description |
An explanatory text for this bill format |
string |
href |
Reference of the bill format |
string |
id |
Unique identifier of the bill format |
string |
isRef |
boolean |
|
name |
A short descriptive name |
string |
4.6. BillPresentationMediaRefOrValue
An attachment by value or by reference.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
description |
An explanatory text describing this bill presentation media |
string |
href |
Reference of the bill presentation media |
string |
id |
Unique identifier of the bill presentation media |
string |
isRef |
boolean |
|
name |
A short descriptive name |
string |
4.7. BillStructure
The structure of the bill for party accounts (billing or settlement).
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
cycleSpecification |
||
format |
||
presentationMedia |
< BillPresentationMediaRefOrValue > array |
4.8. BillingAccount
A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
accountBalance |
< AccountBalance > array |
|
accountRelationship |
< AccountRelationship > array |
|
accountType |
A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values. |
string |
billStructure |
||
contact |
< Contact > array |
|
creditLimit |
The maximum amount of money that may be charged on an account |
|
defaultPaymentMethod |
||
description |
Detailed description of the party account |
string |
financialAccount |
||
href |
Unique reference of the account |
string |
id |
Unique identifier of the account |
string |
lastModified |
Date of last modification of the account |
string(date-time) |
name |
Name of the account |
string |
paymentPlan |
< PaymentPlan > array |
|
paymentStatus |
The condition of the account, such as due, paid, in arrears. |
string |
ratingType |
Indicates whether the account follows a specific payment option such as prepaid or postpaid. |
string |
relatedParty |
< RelatedParty > array |
|
state |
Contains the lifecycle state such as: Active, Closed, Suspended and so on. |
string |
taxExemption |
< AccountTaxExemption > array |
4.9. BillingAccountAttributeValueChangeEvent
The notification data structure
Name | Description | Schema |
---|---|---|
correlationId |
The correlation id for this event. |
string |
description |
An explnatory of the event. |
string |
domain |
The domain of the event. |
string |
eventId |
The identifier of the notification. |
string |
eventTime |
Time of the event occurrence. |
string(date-time) |
eventType |
The type of the notification. |
string |
fieldPath |
The path identifying the object field concerned by this notification. |
string |
payload |
The event payload linked to the involved resource object |
|
priority |
A priority. |
string |
timeOcurred |
The time the event occured. |
string(date-time) |
title |
The title of the event. |
string |
4.10. BillingAccountAttributeValueChangeEventPayload
The event data structure
Name | Description | Schema |
---|---|---|
billingAccount |
The involved resource data for the event |
4.11. BillingAccountStateChangeEvent
The notification data structure
Name | Description | Schema |
---|---|---|
correlationId |
The correlation id for this event. |
string |
description |
An explnatory of the event. |
string |
domain |
The domain of the event. |
string |
eventId |
The identifier of the notification. |
string |
eventTime |
Time of the event occurrence. |
string(date-time) |
eventType |
The type of the notification. |
string |
href |
Reference of the ProcessFlow |
string |
id |
Identifier of the Process flow |
string |
payload |
The event payload linked to the involved resource object |
|
priority |
A priority. |
string |
timeOcurred |
The time the event occured. |
string(date-time) |
title |
The title of the event. |
string |
4.12. BillingAccountStateChangeEventPayload
The event data structure
Name | Description | Schema |
---|---|---|
billingAccount |
The involved resource data for the event |
4.13. BillingCycleSpecificationRefOrValue
An attachment by value or by reference.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
billingDateShift |
An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period. |
integer(int32) |
billingPeriod |
A billing time period. It can be recurring, for example: week, month, quarter of year, year . |
string |
chargeDateOffset |
An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod. |
integer(int32) |
creditDateOffset |
An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod. |
integer(int32) |
dateShift |
An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period. |
integer(int32) |
description |
An explanation regarding this billing cycle specification |
string |
frequency |
Frequency of the billing cycle (monthly for instance) |
string |
href |
Reference of the billing cycle specification |
string |
id |
Unique identifier of the billing cycle specification |
string |
isRef |
boolean |
|
mailingDateOffset |
An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod. |
integer(int32) |
name |
A short descriptive name |
string |
paymentDueDateOffset |
An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod. |
integer(int32) |
validFor |
The period for which the billing specification cycle is valid |
4.14. Contact
An individual or an organization used as a contact point for a given account and accessed via some contact medium.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
contactMedium |
< ContactMedium > array |
|
contactName |
A displayable name for that contact |
string |
contactType |
Type of contact (primary, secondary…) |
string |
partyRoleType |
Identifies what kind of party role type is linked to the contact (a account manager…) |
string |
relatedParty |
||
validFor |
Validity period of that contact |
4.15. ContactMedium
Indicates the contact medium that could be used to contact the party.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
characteristic |
Any additional characteristic(s) of this contact medium |
|
mediumType |
Type of the contact medium, such as: email address, telephone number, postal address |
string |
preferred |
If true, indicates that is the preferred contact medium |
boolean |
validFor |
The time period that the contact medium is valid for |
4.16. Error
Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name. |
string |
code |
Application relevant detail, defined in the API or a common list. |
string |
message |
More details and corrective actions related to the error which can be shown to a client user. |
string |
reason |
Explanation of the reason for the error which can be shown to a client user. |
string |
referenceError |
URI of documentation describing the error. |
string |
status |
HTTP Error code extension |
string |
4.17. EventSubscription
Sets the communication endpoint address the service instance must use to deliver notification information
Name | Description | Schema |
---|---|---|
callback |
The callback being registered. |
string |
id |
Id of the listener |
string |
query |
additional data to be passed |
string |
4.18. FinancialAccountRef
AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
accountBalance |
||
href |
Unique reference of the account |
string |
id |
Unique identifier of the account |
string |
name |
Name of the account |
string |
4.19. MediumCharacteristic
Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
city |
The city |
string |
contactType |
The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation… |
string |
country |
The country |
string |
emailAddress |
Full email address in standard format |
string |
faxNumber |
The fax number of the contact |
string |
phoneNumber |
The primary phone number of the contact |
string |
postCode |
Postcode |
string |
socialNetworkId |
Identifier as a member of a social network |
string |
stateOrProvince |
State or province |
string |
street1 |
Describes the street |
string |
street2 |
Complementary street description |
string |
4.20. Money
A base / value business entity used to represent money
Name | Description | Schema |
---|---|---|
unit |
Currency (ISO4217 norm uses 3 letters to define the currency) |
string |
value |
A positive floating point number |
number(float) |
4.21. PaymentMethodRef
PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
href |
Reference of the payment mean |
string |
id |
Unique identifier of the payment mean |
string |
name |
Name of the payment mean |
string |
4.22. PaymentPlan
Defines a plan for payment (when a party wants to spread his payments)
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
numberOfPayments |
Number of payments used to spread the global payment |
integer(int32) |
paymentFrequency |
Frequency of the payments, such as monthly and bimonthly |
string |
paymentMethod |
||
planType |
Type of payment plan |
string |
priority |
Priority of the payment plan |
integer(int32) |
status |
Status of the payment plan (effective, ineffective) |
string |
totalAmount |
Amount paid |
|
validFor |
Validity period of the payment plan |
4.23. RelatedParty
Related Entity reference. A related party defines party or party role linked to a specific entity.
Name | Description | Schema |
---|---|---|
@baseType |
When sub-classing, this defines the super-class |
string |
@referredType |
The actual type of the target instance when needed for disambiguation. |
string |
@schemaLocation |
A URI to a JSON-Schema file that defines additional attributes and relationships |
string |
@type |
When sub-classing, this defines the sub-class entity name |
string |
href |
Reference of the related entity. |
string |
id |
Unique identifier of a related entity. |
string |
name |
Name of the related entity. |
string |
role |
Role played by the related party |
string |
4.24. ResponseEntity
Name | Schema |
---|---|
body |
object |
statusCode |
enum (100 CONTINUE, 101 SWITCHING_PROTOCOLS, 102 PROCESSING, 103 CHECKPOINT, 200 OK, 201 CREATED, 202 ACCEPTED, 203 NON_AUTHORITATIVE_INFORMATION, 204 NO_CONTENT, 205 RESET_CONTENT, 206 PARTIAL_CONTENT, 207 MULTI_STATUS, 208 ALREADY_REPORTED, 226 IM_USED, 300 MULTIPLE_CHOICES, 301 MOVED_PERMANENTLY, 302 FOUND, 302 MOVED_TEMPORARILY, 303 SEE_OTHER, 304 NOT_MODIFIED, 305 USE_PROXY, 307 TEMPORARY_REDIRECT, 308 PERMANENT_REDIRECT, 400 BAD_REQUEST, 401 UNAUTHORIZED, 402 PAYMENT_REQUIRED, 403 FORBIDDEN, 404 NOT_FOUND, 405 METHOD_NOT_ALLOWED, 406 NOT_ACCEPTABLE, 407 PROXY_AUTHENTICATION_REQUIRED, 408 REQUEST_TIMEOUT, 409 CONFLICT, 410 GONE, 411 LENGTH_REQUIRED, 412 PRECONDITION_FAILED, 413 PAYLOAD_TOO_LARGE, 413 REQUEST_ENTITY_TOO_LARGE, 414 URI_TOO_LONG, 414 REQUEST_URI_TOO_LONG, 415 UNSUPPORTED_MEDIA_TYPE, 416 REQUESTED_RANGE_NOT_SATISFIABLE, 417 EXPECTATION_FAILED, 418 I_AM_A_TEAPOT, 419 INSUFFICIENT_SPACE_ON_RESOURCE, 420 METHOD_FAILURE, 421 DESTINATION_LOCKED, 422 UNPROCESSABLE_ENTITY, 423 LOCKED, 424 FAILED_DEPENDENCY, 425 TOO_EARLY, 426 UPGRADE_REQUIRED, 428 PRECONDITION_REQUIRED, 429 TOO_MANY_REQUESTS, 431 REQUEST_HEADER_FIELDS_TOO_LARGE, 451 UNAVAILABLE_FOR_LEGAL_REASONS, 500 INTERNAL_SERVER_ERROR, 501 NOT_IMPLEMENTED, 502 BAD_GATEWAY, 503 SERVICE_UNAVAILABLE, 504 GATEWAY_TIMEOUT, 505 HTTP_VERSION_NOT_SUPPORTED, 506 VARIANT_ALSO_NEGOTIATES, 507 INSUFFICIENT_STORAGE, 508 LOOP_DETECTED, 509 BANDWIDTH_LIMIT_EXCEEDED, 510 NOT_EXTENDED, 511 NETWORK_AUTHENTICATION_REQUIRED) |
statusCodeValue |
integer(int32) |
4.25. TimePeriod
A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
Name | Description | Schema |
---|---|---|
endDateTime |
End of the time period, using IETC-RFC-3339 format |
string(date-time) |
startDateTime |
Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end |
string(date-time) |