Reporting as a Service

With Reporting as a Service (RaaS), you have the flexibility to output Report Builder data to a JavaScript Object Notation (JSON) API format. The JSON API format allows seamless integration with API endpoints in your other systems to ensure a continuous updated data feed.

Beeline’s Report Builder gives you hundreds of standard reports for full visibility into your contingent workforce program. Using the Report Builder, you can build the customizable reports you need and reduce the time you spend gathering complex analytics about your contingent workforce program.

The JSON API option is available from the Output Type list in the Report Builder module. JSON is a lightweight data interchange format that integrates with your web services and systems. JSON is preferred for web application development where fast, compact, and convenient serialization of data is required.

Report Builder and the JSON API output format provide these benefits to your organization:
  • Streamline your integration by building on any one of numerous standard reports.
  • Create your own business conditions and select your own data filters.
  • Eliminate custom RESTful APIs/web services and custom interfacing libraries.
  • Leverage JSON URL returns and integrate with a potentially evolving client API.
  • Optimize integration with HTTP and HTML.
  • Add code customization.
  • Reduce data redundancy and packet size.

Ready to start building your own customizable reporting to a JSON output? Follow the steps below to get started.

Helpful tools

Web Service Client application – an application that can make web service calls
  • Postman
  • RESTlet
  • SoapUI

API setup

Before using the Beeline Restful API, an API key needs to be generated that will be used for the API calls/requests. This API key will be attached to a Client User account and will remain valid as long as the user remains active.

The following two steps will prepare the system to generate your API key. These steps need to be completed by Beeline personnel on your behalf. Please contact your RM or COM to assist with these steps.

Enable API configuration in CWS
  1. Navigate to Admin Configuration Global Settings (Override) API
  2. Under Client API, change "Enable CWS Client API" to Yes
  3. Also override the CWS Base Route with the correct url:
      Test URL{ProjectSite}

      Production URL{ClientName}

  4. Click "OK" to save. Then click "Flush Cache".
Enable Client API security configuration
  1. Navigate to Admin Security Client API Settings
  2. Click "Add New"
  3. Set up new API setting
    • API Setting Type should be "Import API"
    • Security Type should be "Auth Zero"
  4. Click OK
  5. Click on the triple bar (i.e. hamburger) menu to Flush Cache Security

Generating a new API key and acquiring an access token

Once the steps above are completed, the site will now be Restful API-ready and can now accommodate RaaS API Calls. You should now be able to get the API details specific to their user login account for the site to generate their API key in order to generate an access token and extract API Reporting Outputs (RaaS). To get the API details, below steps can be referenced.

In the homepage/dashboard, click on the help button (question mark icon) and click on API Authentication.

The next page should show the screen that looks something like below, which contains the following:

  • Foundational token endpoint URL - to get the access/foundational token for the site
  • Header keys and values
    • ClientID
    • ClientSecret
    • UserName
    • UserAPI Key (If the user does not have any User API Key, simply click on the Generate API Key button to create one)
Beeline Integrations Portal getToken Headers in CWS test environment
Beeline Integrations Portal getToken Headers in CWS production environment

In order to use the Restful API, the user needs to first make a call to the /foundational/getToken endpoint referenced in the screenshot above. This /foundational/getToken endpoint call (when accompanied by the appropriate Header Keys and Values called out on the screenshot above) will be used to authenticate the user and an access token will be returned.

Setting up getToken call in Postman

If all information is entered correctly on this call, a successful response (200) should be returned along with an access_token in the response payload. An example response can be seen below. The returned access token can then be used to make RaaS calls (as explained in later steps below). It should be noted that this access token will expire with time and as a general practice, clients should request a new token before every RaaS call.

Successful getToken call in Postman

Testing RaaS API calls for Beeline published reports

Once the user can generate an access "Bearer" token code from the steps above, he/she can now make RaaS Calls.

To test this, we need to have a published report’s Report ID, the generated bearer/access token, and site’s RaaS Endpoint URL to make a foundational report (RaaS) call.

  • The user will need to set the authentication type of the RaaS API call to be Bearer Token using the access token generated.
  • The report ID can be acquired from the Beeline report’s URL/GUID (after the equal sign as shown below)
  • The RaaS Endpoint URL is the same as the Foundational Token Endpoint URL from the API details previously, except that after the client site, it needs to be replaced with foundational/RunReport/{ReportID}
    Test sample URL:{ProjectSite}/foundational/RunReport/{ReportID}

    Prod sample URL:{ClientName}/foundational/RunReport/{ReportID}

Using all the details above, the user can now make a GET API call to trigger the RaaS and extract the report data in JSON format as shown below:

Note: It will be the responsibility of the User to set up the reports and to make the API calls. Beeline can only enable the process.