API Usage Basics

API methods are a convenient way of system integration. Billing API methods allow external systems to interact with Billing to exchange the necessary information over the XML-RPC protocol. This protocol is a specification and a set of implementations that allow systems to run in different environments to make procedure calls over the Internet. A remote procedure call is performed using HTTPS as the transport protocol and XML as the encoding format. For more information on the XML-RPC protocol, visit http://www.xmlrpc.com.

Systems interact through built-in XML-RPC clients and servers. A client must be able to form requests according to XML-RPC specification and send these requests to a server of the other system. A server must be able to receive requests from a client and process the received requests.

To access Billing through XML-RPC protocol, xmlrpcd is implemented in Billing. Xmlrpcd is a server application (daemon) that provides infrastructure for invocation of any method of Billing server available to the user xmlrpcd runs on behalf of. Xmlrpcd is accessed through the following URL:

https://<Billing Application server>:<port>/RPC2

where

  • <Billing Application server> is a host name or IP address of a server where Billing Application is installed
  • <port> is an xmlrpcd port number listened by Billing Core server, by default it is 5224

Note: Both parameters are defined in the xproxy configuration.

Xmlrpcd also allows for batch processing and provides facilities to control transaction flow.

Be aware that a customer-specific software that performs very few simultaneous requests (up to 20% of the `Threads` number) to xmlrpcd is relatively safe. The higher the number of simultaneous requests from a customer-specific software, the higher the chance that it will affect other CloudBlue Commerce subsystems' performance. A number close to the `Threads` number can cause outages of most BSS components. To find the `Threads` number (the maximum number of xmlrpcd workers) in xmlrpcd.conf, run this command:

#  cat ~pba/etc/ssm.conf.d/.xmlrpcd.conf | grep Threads
Threads = 16

Vendors may built their own XML-RPC clients to interact with Billing or use existing ones, for example cURL. The list of ready-to-use decisions can be found on XML-RPC official site.

Sending requests to xmlrpcd through cURL is described later in this chapter.

CloudBlue, an Ingram Micro business, uses cookies to improve the usability of our site. By continuing to use this site and/or logging in you are accepting the use of these cookies. For more information, visit our Privacy Policy.