Guides and tutorials

Enrich transactions using Bud's Platform

Prerequisite

To start interacting with Bud’s platform, please sign up for access here. You will be sent an email to complete your registration, following registration you will have access to the Bud Developer Console where you can create the API Credentials required to engage with Bud’s APIs.

If you have any questions, please use Bud’s Help Centre or email us on help@thisisbud.com. Once you have access to the Developer Console, you will need to;

Download and Import Postman Collection

To give you a head start we’ve created a Postman collection which you can use in order to hit the various endpoints referenced within this guide. You can download the collection here. To use the Postman collection, import both the collection and the environment files into postman. If you would prefer to work through the terminal details on all endpoints can be found in Bud’s Public API Docs.

Set Environment Variables

Once the files have been imported, you will need to add the API Client ID and an API Client Secret you downloaded to the Postman environment as variables api_credentials_id and api_credentials_secret respectively. Navigate to the environment variables and paste the API Client ID and API Client Secret into their respective api_credentials_id and api_credentials_secret fields. Save the changes and navigate back to the collection.

Authenticate to Bud APIs

With the credentials now in place you can obtain an access token, expand the collection out and under the Authentication folder click on the “Obtain a new OAuth access token” command, this will open the POST command, hit the blue “Send” button to send the request. This will return a successful response indicated by the generation of an access token which will be a long string which will be 255 characters long. Postman will automatically store this access token as a variable for future use.

Create a Customer

The notion of a Customer is central to the way Bud associates transactional data with an individual. Under the Customers folder click on the “Create a new Customer” endpoint, hit “Send” and this will generate a new customer id and customer secret. Details on the inner workings of this endpoint can be found here. Once again Postman will take care of the customer id and customer secret by storing them into the environment file.

Upload Transactions for each Customer

With the customer now created you can upload their transactions ready for enrichment. Within the Postman collection, navigate to the Ingest Data under the enrichment folder. Click on Ingest Transaction which will open the command, before we send the request we will need to supply the transaction information, navigate to the “body” subheading within the request to supply the account information, you’ll find an example body in the collection, feel free to tweak this based on your own transactions. Instructions and details on mandatory fields can be found here.

[
{
"customer_id": "c3339af9-2426-44d4-9c4d-ddb8fd281e23",
"customer_secret": "6075654df0e057e97535ab31b80561d7d9e8409606738c2633cdd6dab63e089a",
"transactions": [
{
"provider": "Lloyds",
"account_id": "44568cce263a",
"transaction_id": "8a5a3408bb9e",
"transaction_type": "DEB",
"date": "2020-01-31",
"time": "23:59:00",
"transaction_description": "The RSPCA, Southwater",
"credit_debit_indicator": "incoming_credit",
"status": "pending",
"counterparty": {
"name": "The RSPCA",
"address": "1824, Strand, London",
"schema": "SortCodeAccountNumber",
"identifier": "20200811151300"
},
"amount": {
"amount": "string",
"currency": "string"
},
"local_amount": {
"value": "17.03",
"currency": "USD"
}
}
]
}
]


Once the transaction details have been supplied within the body of the request you can hit “Send” this will upload the transactions asynchronously. You can then open the next command in the folder Retrieve Transaction Ingestion Task Status, when you send the request it will return the status indicating that the transaction data was successfully ingested.

Alongside retrieving the ingestion status you can verify the data by listing the transactions, you can find this under the Retrieve Transactional Data folder using the List Transactions API.

Enrich transactions

With the transaction data now uploaded you can explore Bud’s enrichment services. As you may have seen when you list out the transactions the transactions have been run through Bud’s enrichment engine returning the following information linked to each transaction:

  • A Primary and Secondary Transaction Category

  • Merchant Id, Name and Logo

  • Regular Payment Tag (Where transactions is part of a regular group)

  • CO2 Amount (where applicable)

"enrichment": {
"categoriser": {
"categories": [
{
"category_name": "groceries",
"confidence": "0.88"
}
],
"subcategories": [
{
"subcategory_name": "super_markets_and_grocery_stores",
"confidence": "0.93"
}
]
},
"merchant": {
"id": "rick_rock",
"merchant_name": "Rick Rock",
"merchant_logo": "https://assets.example.com/image.jpg",
"merchant_confidence": "1"
},
"regular_payments": {
"label": "-1",
"score": "0",
"period": "unknown"
},
"carbon_tracker": {
"co2_amount_kg": 1.26
}
}


Alongside this you can delve deeper into Bud’s capabilities by exploring our additional Enrichment and Insights APIs which can be found under their respective folders in the Postman collection.

Get Signal insights for all customers

Alongside the various methods of data enrichment Bud also houses a set of endpoints which fall under our Signal product. Bud’s Signal API provides contextual, relevant triggers and notifications based on customers’ transactional data. Signal insights are bucketed under 3 headings “Money Management”, “Customer Characteristics” and “Income & Expenditure” with the additional capability to create “Custom Insights”.

Looking for more?

Get in touch with one of the team

Get started

Market coverage

All of our connections for account aggregation and payments

Get started

API Docs

Take a look at the resources available for our APIs.

API Docs