1. Overview

billingaccounttmfwebservices Documentation

1.1. Version information

Version : 2.0.0

1.2. URI scheme

Host : hostname
BasePath : /billingaccounttmfwebservices/v2

1.3. Tags

  • Billing Account : Ba Billing Account Controller

  • Billing Account Notification Listeners : Ba Listener Controller

1.4. Produces

  • application/json

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
Description

This operation creates a BillingAccount entity.

Parameters
Type Name Description Schema

Body

billingAccount
required

The BillingAccount to be created

BillingAccount

Responses
HTTP Code Description Schema

200

OK

BillingAccount

201

Created

BillingAccount

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

No Content

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Consumes
  • application/json;charset=utf-8

Produces
  • application/json;charset=utf-8

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

3.1.2. List or find BillingAccount objects

GET /billingAccount
Description

This operation list or find BillingAccount entities

Parameters
Type Name Description Schema

Query

fields
optional

Comma-separated properties to be provided in response

string

Query

limit
optional

Requested number of resources to be provided in response

integer(int32)

Query

offset
optional

Requested index for start of resources to be provided in response

integer(int32)

Query

paymentStatus
optional

Payment Status value

string

Responses
HTTP Code Description Schema

200

Success

< BillingAccount > array

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Produces
  • application/json

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

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
required

Identifier of the BillingAccount

string

Query

fields
optional

Comma-separated properties to provide in response

string

Responses
HTTP Code Description Schema

200

Success

BillingAccount

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Produces
  • application/json

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

3.1.4. Deletes a BillingAccount

DELETE /billingAccount/{id}
Description

This operation deletes a BillingAccount entity.

Parameters
Type Name Description Schema

Path

id
required

Identifier of the BillingAccount

string

Responses
HTTP Code Description Schema

200

OK

No Content

204

Deleted

No Content

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Produces
  • application/json;charset=utf-8

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

3.1.5. Updates partially a BillingAccount

PATCH /billingAccount/{id}
Description

This operation updates partially a BillingAccount entity.

Parameters
Type Name Description Schema

Path

id
required

Identifier of the BillingAccount

string

Body

billingAccount
required

The BillingAccount to be updated

BillingAccount

Responses
HTTP Code Description Schema

200

Updated

BillingAccount

204

No Content

No Content

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Consumes
  • application/json;charset=utf-8

Produces
  • application/json;charset=utf-8

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

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

Parameters
Type Name Description Schema

Body

data
required

The event data

BillingAccountAttributeValueChangeEvent

Responses
HTTP Code Description Schema

200

Notified

EventSubscription

201

Created

No Content

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Consumes
  • application/json;charset=utf-8

Produces
  • application/json;charset=utf-8

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

3.2.2. Client listener for entity BillingAccountStateChangeEvent

POST /listener/billingAccountStateChangeEvent
Description

Example of a client listener for receiving the notification BillingAccountStateChangeEvent

Parameters
Type Name Description Schema

Body

data
required

The event data

BillingAccountStateChangeEvent

Responses
HTTP Code Description Schema

200

Notified

EventSubscription

201

Created

No Content

400

Bad Request

Error

401

Unauthorized

Error

403

Forbidden

Error

404

Not Found

Error

405

Method Not allowed

Error

409

Conflict

Error

500

Internal Server Error

Error

Consumes
  • application/json;charset=utf-8

Produces
  • application/json;charset=utf-8

Security
Type Name

oauth2

oauth2_client_credentials

oauth2

oauth2_password

4. Definitions

4.1. AccountBalance

Balances linked to the account

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

amount
required

Balance amount

Money

balanceType
required

Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance…

string

validFor
required

Balance validity period

TimePeriod

4.2. AccountRef

Account reference. A account may be a party account or a financial account.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

description
optional

Detailed description of the account

string

href
optional

Reference of the account

string

id
required

Unique identifier of the account

string

name
optional

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
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

account
optional

AccountRef

relationshipType
required

Type of relationship

string

validFor
required

Validity period of that relationship

TimePeriod

4.4. AccountTaxExemption

Proof of freedom from taxes imposed by a taxing jurisdiction

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

certificateNumber
optional

Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction

string

issuingJurisdiction
required

Name of the taxing jurisdiction for which taxes are exempt

string

reason
optional

Reason of the tax exemption

string

validFor
required

Period for which the exemption is valid

TimePeriod

4.5. BillFormatRefOrValue

An attachment by value or by reference.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

description
optional

An explanatory text for this bill format

string

href
optional

Reference of the bill format

string

id
optional

Unique identifier of the bill format

string

isRef
required

boolean

name
required

A short descriptive name

string

4.6. BillPresentationMediaRefOrValue

An attachment by value or by reference.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

description
optional

An explanatory text describing this bill presentation media

string

href
optional

Reference of the bill presentation media

string

id
optional

Unique identifier of the bill presentation media

string

isRef
required

boolean

name
required

A short descriptive name

string

4.7. BillStructure

The structure of the bill for party accounts (billing or settlement).

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

cycleSpecification
optional

BillingCycleSpecificationRefOrValue

format
optional

BillFormatRefOrValue

presentationMedia
optional

< 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
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

accountBalance
optional

< AccountBalance > array

accountRelationship
optional

< AccountRelationship > array

accountType
optional

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
optional

BillStructure

contact
optional

< Contact > array

creditLimit
optional

The maximum amount of money that may be charged on an account

Money

defaultPaymentMethod
optional

PaymentMethodRef

description
optional

Detailed description of the party account

string

financialAccount
optional

FinancialAccountRef

href
optional

Unique reference of the account

string

id
optional

Unique identifier of the account

string

lastModified
optional

Date of last modification of the account

string(date-time)

name
required

Name of the account

string

paymentPlan
optional

< PaymentPlan > array

paymentStatus
optional

The condition of the account, such as due, paid, in arrears.

string

ratingType
optional

Indicates whether the account follows a specific payment option such as prepaid or postpaid.

string

relatedParty
optional

< RelatedParty > array

state
optional

Contains the lifecycle state such as: Active, Closed, Suspended and so on.

string

taxExemption
optional

< AccountTaxExemption > array

4.9. BillingAccountAttributeValueChangeEvent

The notification data structure

Name Description Schema

correlationId
optional

The correlation id for this event.

string

description
optional

An explnatory of the event.

string

domain
optional

The domain of the event.

string

eventId
optional

The identifier of the notification.

string

eventTime
optional

Time of the event occurrence.

string(date-time)

eventType
optional

The type of the notification.

string

fieldPath
optional

The path identifying the object field concerned by this notification.

string

payload
optional

The event payload linked to the involved resource object

BillingAccountAttributeValueChangeEventPayload

priority
optional

A priority.

string

timeOcurred
optional

The time the event occured.

string(date-time)

title
optional

The title of the event.

string

4.10. BillingAccountAttributeValueChangeEventPayload

The event data structure

Name Description Schema

billingAccount
optional

The involved resource data for the event

BillingAccount

4.11. BillingAccountStateChangeEvent

The notification data structure

Name Description Schema

correlationId
optional

The correlation id for this event.

string

description
optional

An explnatory of the event.

string

domain
optional

The domain of the event.

string

eventId
optional

The identifier of the notification.

string

eventTime
optional

Time of the event occurrence.

string(date-time)

eventType
optional

The type of the notification.

string

href
optional

Reference of the ProcessFlow

string

id
optional

Identifier of the Process flow

string

payload
optional

The event payload linked to the involved resource object

BillingAccountStateChangeEventPayload

priority
optional

A priority.

string

timeOcurred
optional

The time the event occured.

string(date-time)

title
optional

The title of the event.

string

4.12. BillingAccountStateChangeEventPayload

The event data structure

Name Description Schema

billingAccount
optional

The involved resource data for the event

BillingAccount

4.13. BillingCycleSpecificationRefOrValue

An attachment by value or by reference.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

billingDateShift
optional

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
optional

A billing time period. It can be recurring, for example: week, month, quarter of year, year .

string

chargeDateOffset
optional

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
optional

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
optional

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
optional

An explanation regarding this billing cycle specification

string

frequency
optional

Frequency of the billing cycle (monthly for instance)

string

href
optional

Reference of the billing cycle specification

string

id
optional

Unique identifier of the billing cycle specification

string

isRef
required

boolean

mailingDateOffset
optional

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
required

A short descriptive name

string

paymentDueDateOffset
optional

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
optional

The period for which the billing specification cycle is valid

TimePeriod

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
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

contactMedium
optional

< ContactMedium > array

contactName
optional

A displayable name for that contact

string

contactType
required

Type of contact (primary, secondary…)

string

partyRoleType
optional

Identifies what kind of party role type is linked to the contact (a account manager…)

string

relatedParty
optional

RelatedParty

validFor
required

Validity period of that contact

TimePeriod

4.15. ContactMedium

Indicates the contact medium that could be used to contact the party.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

characteristic
optional

Any additional characteristic(s) of this contact medium

MediumCharacteristic

mediumType
optional

Type of the contact medium, such as: email address, telephone number, postal address

string

preferred
optional

If true, indicates that is the preferred contact medium

boolean

validFor
optional

The time period that the contact medium is valid for

TimePeriod

4.16. Error

Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name.

string

code
required

Application relevant detail, defined in the API or a common list.

string

message
optional

More details and corrective actions related to the error which can be shown to a client user.

string

reason
optional

Explanation of the reason for the error which can be shown to a client user.

string

referenceError
optional

URI of documentation describing the error.

string

status
optional

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
required

The callback being registered.

string

id
required

Id of the listener

string

query
optional

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
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

accountBalance
optional

AccountBalance

href
optional

Unique reference of the account

string

id
required

Unique identifier of the account

string

name
optional

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
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

city
optional

The city

string

contactType
optional

The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation…

string

country
optional

The country

string

emailAddress
optional

Full email address in standard format

string

faxNumber
optional

The fax number of the contact

string

phoneNumber
optional

The primary phone number of the contact

string

postCode
optional

Postcode

string

socialNetworkId
optional

Identifier as a member of a social network

string

stateOrProvince
optional

State or province

string

street1
optional

Describes the street

string

street2
optional

Complementary street description

string

4.20. Money

A base / value business entity used to represent money

Name Description Schema

unit
optional

Currency (ISO4217 norm uses 3 letters to define the currency)

string

value
optional

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
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

href
optional

Reference of the payment mean

string

id
required

Unique identifier of the payment mean

string

name
optional

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
optional

When sub-classing, this defines the super-class

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

numberOfPayments
optional

Number of payments used to spread the global payment

integer(int32)

paymentFrequency
optional

Frequency of the payments, such as monthly and bimonthly

string

paymentMethod
optional

PaymentMethodRef

planType
optional

Type of payment plan

string

priority
optional

Priority of the payment plan

integer(int32)

status
optional

Status of the payment plan (effective, ineffective)

string

totalAmount
optional

Amount paid

Money

validFor
optional

Validity period of the payment plan

TimePeriod

4.23. RelatedParty

Related Entity reference. A related party defines party or party role linked to a specific entity.

Name Description Schema

@baseType
optional

When sub-classing, this defines the super-class

string

@referredType
optional

The actual type of the target instance when needed for disambiguation.

string

@schemaLocation
optional

A URI to a JSON-Schema file that defines additional attributes and relationships

string

@type
optional

When sub-classing, this defines the sub-class entity name

string

href
optional

Reference of the related entity.

string

id
required

Unique identifier of a related entity.

string

name
optional

Name of the related entity.

string

role
optional

Role played by the related party

string

4.24. ResponseEntity

Name Schema

body
optional

object

statusCode
optional

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
optional

integer(int32)

4.25. TimePeriod

A period of time, either as a deadline (endDateTime only) a startDateTime only, or both

Name Description Schema

endDateTime
optional

End of the time period, using IETC-RFC-3339 format

string(date-time)

startDateTime
optional

Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end

string(date-time)