BSI Connect APIs

Topics:

BSI Connect APIs


BSI Connect is the web services API interface. Web services securely provides other data systems with access to the BSI transaction server through a third party application. The BSI Connect Web Services API has two formats, a REST (JSON) interface and an XML-RPC (XML) interface.  Documentation and details of the interfaces are listed below.  Also included are sets of Java code with examples of how to write BSI Connect service clients.

Join our Integrators mailing list to receive updates about BSI Connect:

When utilizing web services, the namespace of the call refers to the call itself and the method for service denotes which action the call will complete. For more information or guidance, please contact BSI technical support.

User accounts with explicitly granted permissions to BSI Connect must be used to access web services. These account may be restricted as an “Exclusive Web Service user (EWS),” which prevents them from accessing BSI by any means other than via the BSI Connect web services.


The BSI Connect REST API adheres to REST (Representational state transfer) standards. Services that follow the REST standard are stateless and hierarchal in organization. Using a base URL, users are able to build on that URL to access system resources in an intuitive manner.

The BSI Connect REST API uses JSON for message communication.  The interface uses the Swagger (swagger.io) core libraries to document the methods implemented in the API.   Links to this documentation is included below.

Also below are links to a Java client library and example code.  The client library contains the REST API Java interfaces and Data Transfer Objects. The data transfer objects are Jackson annotated Java classes which can be used to make Java calls to REST API. The example code is an Eclipse project containing several samples of client calls to the BSI Connect REST API.

Production

Mirror

UAT

Supporting Code and Libraries


REST Example Code - A zipped file containing an Eclipse project with a set of example calls to the BSI REST API.  Please note, this package includes the BSI Connect REST API Client Library (bsirest.jar).  A separate download of that file is not necessary.

The BSI Connect XML-RPC services follow the XML-RPC protocol. This protocol executes communication between the client and service with XML and is a precursor to the SOAP web services protocol.

Service listing and Javadoc documentation of the services are linked below. IMS has implemented a Java client library that can be used to easily access the XML-RPC interface. This library is linked below, as is a sample project with examples of how to use the XML-RPC client libraries to make calls to the BSI Connect XML-RPC service.

Production

Mirror

UAT

Supporting Code and Libraries

BSI Connect XML-RPC Client Library - This client library contains a set of Java classes that assist with the implementation of BSI Connect XML-RPC clients.

XML-RPC Example Code - A zipped file containing an Eclipse project with a set of example calls to the BSI XML-RPC API.  Please note, this package includes the BSI Connect XML-RPC API Client Library (tinyrpc2.3.jar).  A separate download of that file is not necessary.


Questions

How do I find a field’s name to reference it in a webservices call?

You will need to know the unique Field Name that the database uses to reference the field, which is not the same as the label displayed to users. You can find the Field Name for any field by logging into the BSI client and locating the field in a manager, editor, or interactive table report output. Then either hover over it or right click the column’s header and select “Properties”. They will appear in this format: table.field_name.

There is also a standard report available called “Data Dictionary” which includes this information. It is important to note that custom fields for your database (created via the Customization manager) have a numeric Field Name that is determined by the order in which fields were created. This means they do not necessarily have the same Field Name in testing environments as they do in the production database.

It’s cumbersome to change our web services password so frequently. Is there a way to delay changing the password?

BSI accounts may be flagged as an “Exclusive Webservices User” by System Administrators or Database Managers. When flagged as such, an account’s password will expire annually and that account will only be able to access BSI via web services calls.