2 About the ECE API

You use the Oracle Communications Elastic Charging Engine (ECE) API to integrate ECE with third-party clients, such as top-up systems.

Topics in this document:

About the ECE API

ECE is preintegrated with Oracle Communications Offline Mediation Controller. To integrate other clients, such as top-up systems, you use the ECE SDK and ECE API. See Elastic Charging Engine Java API Reference for information.

The ECE SDK includes:

  • Client libraries that enable your applications to connect to ECE and build usage requests.

  • Sample programs that demonstrate how to use the ECE APIs.

ECE SDK includes a set of sample programs. You use these sample programs in the following ways:

  • Use the sample programs as code samples for writing custom applications.

  • Run sample programs to send requests to ECE and receive responses.

  • Use the sample program scripts as a guide for integration of the ECE client into your build system (Maven, Ant and so on).

For information about how to use the sample programs, see "ECE Sample Programs".

The ECE SDK is installed in ECE_home/ocecesdk.

About the Charging API

The ECE charging API supports the following operation types:

  • Initiate

  • Update

  • Terminate

  • Cancel

  • Debit_Unit

  • Debit_Amount

  • Refund_Unit

  • Refund_Amount

  • PriceEnquiry

  • StartAccounting

  • UpdateAccounting

  • AccountingOn

  • AccountingOff

To send usage requests to ECE, client applications can call the ECE charging APIs according to the usage request builder defined by the ECE event definition.

For details about the charging API, see oracle.communication.brm.charging.brs and oracle.communication.brm.charging.messages in Elastic Charging Engine Java API Reference.

About Charging Operation Types

The ECE API is designed to receive usage requests and send usage responses for common operation types in the charging industry.

ECE usage charging supports the operation types shown in Table 2-1.

Table 2-1 Charging Operation Types Supported by ECE

Operation Type Description

Initiate

Commencement of a session-based charging operation.

Update

Continuation of a session-based charging operation.

Terminate

Conclusion of a single non-session based charging operation.

Cancel

Complete cancellation of a session-based charging operation.

Refund_Amount

Refund a specific amount to a specific balance resource.

Refund_Unit

Refund a calculated amount, based on units consumed, to the impacted resource(s).

Debit_Amount

Debit a specific amount to a specific balance resource.

Debit_Unit

Debit a calculated amount, based on Units consumed, to the impacted resource(s).

Price_Enquiry

Generate a price estimation without any balance reservations occurring. It is used when there isn't a high probability of receiving a charging request. For example, Price_Enquiry might be called to get the price of an event charge to display in a content portal.

Start_Accounting

Begin tracking usage without incurring balance impacts.

Update_Accounting

Continue tracking usage without incurring balance impacts.

Balance_Query

Return the user balance.

Accounting_On_Off

Clean left open session and reservation for a specific network element.

Each charging operation type requires an input payload that supplies fields which are relevant to the charging operation.

The BALANCE_QUERY operation type is used for query requests. The query request is built using the Query Request Builder.

The ACCOUNTING_ON and ACCOUNTING_OFF operation types are used for management requests. Management requests are built using the Management Request Builder.

For offline charging, requests are typically submitted for a single event that represents the entire charge (using the Terminate operation type). Session-based operations such as Initiate and Update are not as common for offline charging; however, these operation types are used when using a stream protocol like Radius or Rf in which ECE is used to record the consumption of resources (quantity consumption) as the session continues.

ECE processes charging operations by forwarding usage requests to the applicable combinations of charge, alteration and distribution rate plans. ECE creates the rate plan expressions required for usage charging by using fields which are supplied in the request specification payloads.

The sample request specification files demonstrate the data ECE requires to support the charging operation types.

About the Authentication API

Use the authentication API to query the login and password of subscribers.

Use the login and password information to do the following:

  • Implement authentication methods outside of the ECE charging server

  • Enable subscribers to validate their login and password credentials against a charge offer to which they are subscribed

For details about the authentication API, see oracle.communication.brm.charging.messages.query in Elastic Charging Engine Java API Reference.

About the Custom Plug-in APIs

You can use the custom plug-in APIs to:

  • Format rated events into the format required by an external system. To do so, use the SampleRatedEventFormatterCustomPlugin.java sample custom plug-in in the ECE SDK package.

  • Write rated events in JSON format to the Kafka Server. To do so, use the SampleRatedEventFormatterKafkaCustomPlugin.java sample plug-in in the ECE SDK package.

For more information, see oracle.communication.brm.charging.ratedevent.custom.CustomPlugin in Elastic Charging Engine Java API Reference.