Appearance
Brand Information
As well as performing transactions, our API can be used to retrieve information to help you automate as much as possible.
- Brands - Gives you access to the product catalog - use this to stay up to date with brands available on your account, T&Cs and more.
- Templates - As you'll read later, using up to date brand templates to display the digital gift cards is important. If you're receiving the raw gift code from us, use these API calls to check & update your copy of the templates.
Brands API response
When fetching brand information from our Brands endpoint, you will receive the following information:
NOTE
By default, the response will contain information about all the brands you have access to. You can request information for one brand at a time using the brand
parameter.
Attribute | Example value | Description |
---|---|---|
slug | "amazon" | Unique brand identifier |
name | "Amazon" | Brand name |
type | See Product Type | What type of brand is it? |
status | See Status | Current status of the brand |
currency | "GBP" | Supported currency |
discount | 3 | Discount percentage you receive |
last_updated | "2021-03-26T10:03:50+00:00" | When the brand's info was last updated |
transaction_types | see Transaction Types | List of available transaction types |
delivery_methods | see Delivery Methods | List of available delivery methods |
countries_served | see Countries Served | List of countries the brand serves |
gc_pool | false | Is the brand 'stocked'? |
async_only | false | Is the brand asynchronous? |
categories | see Categories | List of categories assigned to brand |
vat | see VAT | VAT information |
choices | see Choice Links | List of choices a Choice Link contains |
digital_face_value_limits | see Face Value | Available face value information for digital cards |
physical_face_value_limits | see Face Value | Available face value information for physical cards |
denominations | see Face Value | Available denominations (string representation) |
digital_denominations | see Face Value | Available denominations (numeric representation) |
shipping_methods | see Shipping Methods | List of available physical delivery methods |
last_refreshed_at | "2023-03-21T14:44:33+00:00" | When the api call was made |
If you provide the detail
query parameter with a boolean value of true
, you'll also get the following information about the brand(s) in the API response under the detail
key:
NOTE
The detail
object will only contain the attributes which are both relevant, and we have been provided data, for the brand. Not every attribute listed below will be present in the response.
Attribute | Example value | Description |
---|---|---|
assets | See Brand Assets | Brand logo and gift card images |
balance_enquiry_url | "https://example.com" | Balance enquiry url provided by brand |
barcode | See Barcodes | Barcode information |
description | "This brand is cool!" | Description provided by brand |
digital_activation_limit | "Instant" | If the gift card has an activation delay after it's purchased |
digital_cancellation_window | "Must be cancelled within 15 minutes of issuance" | If there is a window between when a digital gift card was issued, and when it can be cancelled we will provide details in a human-readable text format |
digital_general_restrictions | "Can not be used on alcohol or tobacco products" | If the brand has any additional restrictions on the use of their digital gift cards |
expiry | "2 years" | Expiry rules provided by brand |
instore_order_restrictions | "N/A" or "5" | If the brand has a limit on the amount of gift cards that be used in a single instore transaction |
faq_url | "https://example.com" | FAQ url provided by brand |
online_order_restrictions | "N/A" or "5" | If the brand has a limit on the amount of gift cards that be used in a single online transaction |
physical_cancellation_window | "30 days after sale" | If there is a window between when the physical gift card was issued, and when it can be cancelled we will provide details in a human-readable text format |
physical_general_restrictions | "May not be used on the purchase of lottery tickets" | If the brand has any additional restrictions on the use of their physical gift cards |
redemption_instructions_url | "https://example.com" | Redemption instructions provided by brand |
redemption_methods | see Redemption Methods | List of available redemption methods |
terms_and_conditions_copy | see T&Cs | T&Cs text provided by brand |
terms_and_conditions_url | see T&Cs | T&Cs URL provided by brand |
website_url | "https://example.com" | brand's website |
Product Type
A string value for the type of product is returned for each brand in the response.
For example:
json
"type": "gift-card"
"type": "gift-card"
The possible values are:
"gift-card"
— the product is a gift card"choice-link"
— the product is a Choice Link. See Choice Links for more information.
Status
The status represents the current state of the brand on our platform. If the brand status is not ENABLED
, a reason
will be supplied.
For example:
json
"status": {
"code": "DISABLED",
"reason": "Relationship disabled by brand"
}
"status": {
"code": "DISABLED",
"reason": "Relationship disabled by brand"
}
The possible values for status.code
are:
"ENABLED"
- The brand is available to purchase."DISABLED"
- The brand is not available to purchase."PAUSED"
- You have switched off the brand on your account, so it is not available to purchase.
Transaction Types
Transaction Types define the different actions you can take using the specified brand.
For example:
json
"transaction_types": [
"digital_issuance",
"cancelled_digital_issuance",
"balance_check"
]
"transaction_types": [
"digital_issuance",
"cancelled_digital_issuance",
"balance_check"
]
Each transaction type is associated with an endpoint in our API:
Transaction Type | Endpoint |
---|---|
digital_issuance | POST /digital/issue |
cancelled_digital_issuance | DEL /digital/issue |
physical_activation | POST /physical/activate |
physical_top_up | POST /physical/top-up |
cancelled_physical_activation | DEL /physical/activate |
cancelled_physical_top_up | DEL /physical/top-up |
balance_check | POST /digital/check-balance POST /physical/check-balance |
Delivery Methods
A delivery method defines the way in which a gift card can be provided to you.
For example:
json
"delivery_methods": [
"code",
"url",
"wrapped"
]
"delivery_methods": [
"code",
"url",
"wrapped"
]
Here are the possible values:
Delivery Method | Description |
---|---|
code | The raw gift card code/number. |
url recommended | A hosted html template containing the gift card. |
wrapped | A hosted interactive 'unwrapping' experience containing the gift card. |
email | Only used for the Reward Pass product. |
NOTE
See Displaying Gift Cards for more information
Countries Served
The countries a brand serves are returned as an array of ISO-3166 Alpha-2 codes:
json
"countries_served": [
"GB"
]
"countries_served": [
"GB"
]
NOTE
In most cases, only one country is served per brand. This is to more easily support localised assets on a per-brand basis.
Categories new
Each brand will have one or more categories associated with it. A brand's assigned categories will be returned in the response from the Brands API endpoint.
json
"categories": [
"food-and-drink",
"tv-and-movies"
]
"categories": [
"food-and-drink",
"tv-and-movies"
]
List of all categories
Here is a list of all the categories we currently support:
Category code | Category name |
---|---|
baby | Baby |
beauty | Beauty |
books | Books |
cars | Cars |
charity | Charity |
craft | Craft |
cryptocurrency | Cryptocurrency |
cycling | Cycling |
department-store | Department Store |
fashion | Fashion |
electronics | Electronics |
food-and-drink | Food & Drink |
gaming | Gaming |
home | Home |
jewellery | Jewellery |
music | Music |
other | Other |
school-vouchers | School Vouchers |
sports | Sports |
supermarket | Supermarket |
toys | Toys |
travel-and-leisure | Travel & Leisure |
tv-and-movies | TV & Movies |
VAT
For those who require it, VAT information is returned about each brand.
json
"vat": {
"exempt": false,
"type": "MPV",
"rate": 8.00
}
"vat": {
"exempt": false,
"type": "MPV",
"rate": 8.00
}
NOTE
vat.type
can either be "MPV"
, "SPV"
, or "TBC"
(if not currently set).
Face Value
The possible face value that can be requested for a brand is returned in the API response. It can be defined in two different ways:
Open value
An 'Open value' brand will have an upper and lower maximum value along with a 'minor unit' which the requested value must be divisible by.
For digital gift cards, the digital_face_value_limits
values apply.
For physical gift cards, the physical_face_value_limits
values apply.
For example:
json
"digital_face_value_limits": {
"lower": 10.00,
"upper": 200.00,
"minor_unit": 0.01
}
"digital_face_value_limits": {
"lower": 10.00,
"upper": 200.00,
"minor_unit": 0.01
}
This means you can request any value between 10.00 and 200.00, so long as it is divisible by 0.01. So valid values would be 65.43, 23.09, 150.00, etc. And invalid values would be 9.99, 200.01, 50000.00, etc.
MINOR UNIT
With a minor_unit
of 1
, only whole numbers would be available. For example; 4.00, 19.00, and 75.00 are okay, but 51.53 and 10.99 are not.
With a minor_unit
of 0.5
, only numbers divisible by 0.5 would be available. For example; 4.00, 19.50, and 75.50 are okay, but 51.53 and 10.99 are not.
Fixed denominations
Some brands do not support 'open value' requests and instead offer a list of available values we call 'denominations'.
These values apply to both digital and physical gift cards.
json
"denominations": [
10.00,
20.00,
25.00,
50.00,
100.00
]
"denominations": [
10.00,
20.00,
25.00,
50.00,
100.00
]
Shipping Methods
Shipping methods are only relevant to certain brands and only possible with physical gift cards.
More information on this can be found here
Shipping method information is returned as an array of shipping method objects:
json
"shipping_methods": [
{
"standard": {
"identifier": "standard",
"description": "First Class",
"cost": {
"currency": "GBP",
"amount": 1.3
}
}
},
{
"standard-signed": {
"identifier": "standard-signed",
"description": "First Class Signed For",
"cost": {
"currency": "GBP",
"amount": 2.42
}
}
}
]
"shipping_methods": [
{
"standard": {
"identifier": "standard",
"description": "First Class",
"cost": {
"currency": "GBP",
"amount": 1.3
}
}
},
{
"standard-signed": {
"identifier": "standard-signed",
"description": "First Class Signed For",
"cost": {
"currency": "GBP",
"amount": 2.42
}
}
}
]
Brand Assets detail
Urls to the brand's logo and gift card image:
json
"assets": {
"logo_url": "https://example.com",
"gift_card_url": "https://example.com"
}
"assets": {
"logo_url": "https://example.com",
"gift_card_url": "https://example.com"
}
Barcodes detail
The barcode type used by the brand. If the brand does not support barcodes, "NONE"
is returned instead.
json
"barcode": "C128"
"barcode": "C128"
2D barcode types:
"C128"
"C128A"
"C39"
"I25"
3D barcode types:
"QRCODE"
"PDF417"
More information on handling barcodes can be found here
Redemption Methods detail
Redemption methods describe how the end user is able to use/spend/redeem the gift card.
json
"redemption_methods": [
"online",
"instore"
]
"redemption_methods": [
"online",
"instore"
]
Redemption method code | Description |
---|---|
online | This card can be redeemed online. |
instore | This card can be redeemed in-store. |
phone | This card can be redeemed over the phone. |
Terms and Conditions detail
If the brand has supplied terms and conditions for their gift card, it will be returnd as either a string of text or as a url:
json
"terms_and_conditions_url": "https://example.com",
"terms_and_conditions_copy": "Lorem ipsum dolor sit amet, consectetur adipiscing el..."
"terms_and_conditions_url": "https://example.com",
"terms_and_conditions_copy": "Lorem ipsum dolor sit amet, consectetur adipiscing el..."