Authentication
There are two methods for authentication. For client-centric applications, we recommend User Authentication. For integrations or ETL, we recommend System Authentication.
The first action your application should take is signing in to the API to retrieve the a Customer ID. Many of our resources will require a Customer ID to denote which customer's accounts you're requesting.
Endpoint
Send a HTTP POST to this endpoint with a specific member credentials.
Request Object
"UserName": "123456",
"Password": "123456"
}
If the login attempt was successful, the API will return HTTP 200 indicating success along with an object representing the signed in user account.
Sample Success Response
"customerId": "12345",
"PersonId": "12345",
"Name": "Bloggs, Joe",
"CorrespondenceName": ""MR JOE BLOGGS",
"DateOfBirth": "2000-01-01T00:00:00",
"LastLogin": "2010-01-01T00:00:00",
"Phone": "07917123456",
"Email": "email@myemail.com"
}
Failure Responses
Status Code | Description |
---|---|
401 | Incorrect login details. |
412 | Strong Customer Authentication (SCA) has expired. |
Abacus API contains specific end points for sending requests for all records which can be used by a system. This does not require customer specific user information and retrieve all the records to be used in further processing or requests. The first step would be to retrieve all customer records from the database. Then we can use the results of this to request more information such as accounts.
Endpoint
Send a HTTP GET to this endpoint to get all customers. If this was successful, the API will return HTTP 200 indicating success along with a paged collection of customers sorted by CustomerID ascending.
Single Response Object
"pageNumber": 1, "pageSize": 100, "totalPages": 321, "totalItems": 32087, "nextUrl": "http://localhost:10000/customers?page=2&pagesize=100&sort=id&ascending=true", "previousUrl": null, "items": [
"id": "12345",
"branchId": "1",
"number": "123456",
"organisationOfficer": "0",
"address1": "1 MyStreet",
"address2": "",
"address3": "",
"TownCity": "MyCity",
"State": "MyState",
"PostalCode": "BT11 1AA",
"County": "MyCounty",
"CountryName": "MyCountry",
"Name": "BLOGGS, JOE",
"CorrespondenceName": "MR JOE BLOGGS",
"DateOfBirth": "2000-10-23T00:00:00",
"Email": "email@myemail.com",
"Telephone1": "0289012356",
"Telephone2": "02890654321",
"Telephone3": "07917123456",
"SMSConsentGiven": true,
"OpenDate": "1989-11-28T00:00:00",
]
}
Most resources have supported operations that will fetch all records of that type. This allows the system to fetch all of the records along with IDs which can be used with further requests on the API.