Methods

The following are the API methods available in the OneVu API.

In order to call the APIs you need the following setting to be enabled behind the scenes:

ApiKeySecurityEnabled

If you're licensed to use this functionality, you simply need to request this to be enabled via the support desk:

Raise a support ticket

Once this has been enabled you will be able to create an API key which you can then use to call the APIs.

Creating an API Key

These are created within the API Developer Access screen within OneVu Control, as shown below:

API Developer Access function

Within here click Add to create an API Key. When you have you'll need to give it a name and description as shown below:

When you click save you will be presented with a one time only view of the API Key and The API Key ID.

These are then used when calling the APIs.

Customer Methods

Finding a customer's details

This API will provide you with the name, address, email if their id is passed:

Find a customer's details

Departmental / Data (Card) Methods

OneVu's 'Cards' are the various departments presented in the 'Get Answers Fast' screen.

There are six API methods available as shown below:

Card API Methods

Get customers/{customerId}/cards

To find out the departments available you simply need to provide this API with the customerId. This API provides a different 'cardId' for each department as well as Summary Fields to make it obvious as to what the department is.

This API will search OneVu to find the departments and content available for the user in question.

This provide details of:

  • the name and description of every department available

  • whether it is personalisable and whether it has been personalised

  • the direct links to the 'child' APIs for the customer to enable automated subsequent calling of these

  • the summary fields are shown on personalised cases. These will be things like the account/claim/case reference/postcode

It should be noted that IF a person has personalised more than 1 account/claim etc. within a silo, a separate card will be shown for EACH personalised account. E.g. the following was returned for the first personalised account in IEG4's own internal Council Tax app:

Get customers/{customerId}/cards/{cardId}/data-items

To find out the data items (the specific elements of data) within a given department you call this API using the customerId and the CardId that was retrieved in the /cards API method.

This will provide the actual values of all data items that would be used in personalised content within OneVu.

The following shows an example response if we choose to select the Council Tax department.

What makes this impressive is that this is a JSON based rendering of the results of multiple Civica Council Tax API calls. So someone can build retrieve data from a legacy back office that uses legacy middleware and protocols using the latest/greatest standards.

Note that

  • the data is structured into groupings as configured in OneVu

  • the data format is presented in the format it was taken from the back office. This is to afford greater flexibility in how you want to show the data.

Get customers/{customerId}/cards/{cardId}/personalized-contents

This enables one to find out the high level FAQs and content in a department, which contain personalised data.

This API needs the customerId and the CardId that was retrieved in the /cards API method.

The following shows an example response if we choose to select the Council Tax department.

Note that

  • Line breaks are indicated by \n

  • You may prefer to use the Get Data Items API (covered above) for greater flexibility

Get customers/{customerId}/cards/{cardId}/personalized-contents/tiles/{itemId}

This enables one to find out the specific detail of a personalised FAQ within a specific department.

This API needs the customerId, the CardId, and the itemId from those retrieved using the /personalized-contents API method.

Get customers/{customerId}/card-types/{cardTypeId}/static-contents

This enables one to find out the high level FAQs and content in a department, which contain static data.

This API needs the customerId and the CardId that was retrieved in the /cards API method.

The following shows an example response if we choose to select the Council Tax department.

Note that

  • Line breaks are indicated by \n

  • You will want to ensure that HTML is used as little as possible in static answers

Get customers/{customerId}/card-types/{cardTypeId}/static-contents/tiles/{itemId}

This enables one to find out the specific detail of a static FAQ within a specific department.

This API needs the customerId, the CardId, and the itemId from those retrieved using the /static-contents API method.

Registration Methods

The following are the API methods available to:

a) understand the data needed to authenticate for a given department

b) to actually authenticate a citizen

c) to de-register a citizen from having their personalised data shareable

Get customers/{customerId}/card-types/{cardTypeId}/registration-fields

In order to authenticate a person you need to know which fields are required to authenticate that person.

This time customerId and cardTypeId are needed with the following illustrating the response for the council tax department:

Note that

In the above it is showing the exact label as it is held in the set up of OneVu. I.e. the second field is Account number but has some explanatory text beside it. This can be read and shown in your external app maximising consistency/reducing rework.

And this for Taxi Licensing:

I.e. irrespective of the back office you have a way in another application to know the fields required to authenticate someone.

Now we know which fields are required we can call the only (currently) one of these APIs that provides a post function - that which enables you to authenticate the customer for a department.

In order to authenticate a person we need to pass:

  • The customerId

  • The cardTypeId for the department being authenticated/linked to

  • a JSON payload containing the answers to the questions we got in the last API (Get Card Registration Fields)

In the above responses to the registration we were given the body of the request for this just missing the values. So we can take what we're given from Get Card Registration Details and simply place the answers the customer provides. In the example below we can see that the values have been provided in situ for a person with the surname Cooper, account no R987123D, House no 1a and Postcode SK9 7RR:

Post customers/{customerId}/card-types/{cardTypeId}/register

This is the API that enables a citizen to be authenticated against a back office application. In order to authenticate a person we need to pass:

  • The customerId

  • The cardTypeId for the department being authenticated/linked to

  • a JSON payload containing the answers to the questions we got in the last API (Get Card Registration Fields)

In the above responses to the registration we were given the body of the request for this just missing the values. So we can take what we're given from Get Card Registration Details and simply place the answers the customer provides. In the example below we can see that the values have been provided in situ for a person with the surname Cooper, account no R987123D, House no 1a and Postcode SK9 7RR:

When complete, the following successful response was returned for the above:

Now, when we call the Get Cards API i.e. the high level summary API we can see this is now available:

I.e. we have just authenticated a customer and linked their customerId to these details. The final API is one that allows us to unlink a user from an account.

Delete customers/{customerId}/cards/{cardTypeId}/register

This API will unlink an account/claim/case etc. from a person's identity. The only fields required for this API are customerId and cardId. So using the above cardId that was generated i.e. 250 and our customerId we can automatically unlink this.

On calling the Get Cards API again one can then see that this was removed.

Avoidable Contact Methods

The following are the different APIs available to retrieve and update the list of avoidable contact reasons:

Timeline Methods

There is currently one method and it enables entries to be added to the OneVu Timeline from external applications:

Broadcast Methods

The following are the API methods available in the context of Broadcast, which enable you to retrieve and update the notifications types available via Broadcast:

Last updated

Was this helpful?