Manage catalog
A Catalog is a collection of rewards. Tango offers rewards in a variety of domestic and international popular gift cards such as those of physical stores and online retailers, prepaid cards, digital delivery of grocery and restaurant food, donations to charitable foundations, and our own Tango Choice Product. All rewards must be attached to a catalog to place an order and send to recipients.
Each Platform has its own catalog and is established when the platform is set up. The Catalog can be changed at any time by contacting Tango's Customer Success Manager (CSM) at [email protected]. For a complete list of Tango rewards catalog, see the full Tango catalog.
Each reward has a Unique Tango Identifier (UTID) that is used when placing an order. With Tango API, you can view items in the platform catalog, check their availability, and view the reward brand details and UTIDs before placing an order.
If you create your own in-app catalog, keep in mind that reward parameters may change from time to time. Brands often update their images, description, terms, redemption instructions, and sometimes even their names and available denominations. Use the UTID and Brand Key as your primary identifier for programmatic decisions.
Warning!
We recommend to call
GET {URI}/catalogs
endpoint semi-daily (at most) to check the current list of content and their status. This catalog endpoint should not be used per individual order or with frequent polling system.
Get all items in the platform catalog
Use GET {URI}/catalogs
endpoint to get all items in the platform's Catalog:
Endpoint | Purpose |
---|---|
GET {URI}/catalogs | Get all items in the platform's catalog. It provides the credential types information for each item in the catalog. See about Get credential types . |
Catalog filters
Perform GET {URI}/catalogs
to get details for specific items or groupings using the following endpoint filters:
Endpoint filter | Description |
---|---|
GET {URI}/catalogs?utid={{utid}} | Return the details for a specific item (UTID). |
GET {URI}/catalogs?brandKey={{brandKey}} | Return all the items and details for a specific brand. |
GET {URI}/catalogs?currencyCode=\*{{currencyCode}} | Return items of a specific currency. |
GET {URI}/catalogs?country=((2-digit country code)) | Return items from a specific country; the value can be found in the countries collection. |
Here are the query parameters for this endpoint. For example, with "fulfillmentType": "PHYSICAL"
, you can see the list of your physical UTIDs to submit a recipient address:
Query Parameter | Data type | Description |
---|---|---|
verbose | boolean (false/true) | When true, returns additional brand fields: status, disclaimer, description, shortDescription, terms, brandRequirements collection, and imageUrls collection. |
brandKey | string | Returns the brand and item details for a specific brand ID. |
brandName | string | Returns the brand and item details for a specific brand name. |
utid | string | Returns the brand and item details for a specific UTID. The UTID is the unique identifier for a specific reward. |
rewardName | string | Returns the brand and item details of the specified reward name. |
status | string | Returns all brands and item details with the specified status. Possible statuses are: “test", “active", “inactive", "deleted". |
currencyCode | string | Return all brands and item details associated with a specific currency. |
country | string | Returns all brands and item details from a specific country. Country codes are two-digits. |
fulfillmentType -DIGITAL -PHYSICAL | array of strings | Returns all brands and item details for a specific fulfillment type. |
categoryIds | array of strings | Returns all brands and item details for specific brand categories. |
The response code for this endpoint is:
- 200 OK
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
Retrieve catalog items when verbose is true
Use the GET {URI}/catalogs
endpoint to view the items in your platform’s catalog and see what you can order. When the verbose is true, it returns the additional brand fields, such as status, disclaimer, description, shortDescription, terms, brandRequirements collection, and imageUrls collection.
isExpirable
indicates whether or not the gift card has an expiry date. The value for isExpirable =boolean
is true or false. The following payload is with verbose=true:
{
"catalogName": "string",
"brands": [
{
"brandKey": "string",
"brandName": "string",
"disclaimer": "string",
"description": "string",
"shortDescription": "string",
"terms": "string",
"createdDate": "2023-10-12T21:23:43.900Z",
"lastUpdateDate": "2023-10-12T21:23:43.900Z",
"brandRequirements": {
"displayInstructions": "string",
"termsAndConditionsInstructions": "string",
"disclaimerInstructions": "string",
"alwaysShowDisclaimer": true
},
"imageUrls": {
"additionalProp": "string"
},
"status": "string",
"items": [
{
"utid": "string",
"rewardName": "string",
"currencyCode": "string",
"status": "string",
"valueType": "string",
"rewardType": "string",
"isExpirable": boolean",
"isWholeAmountValueRequired": true,
"exchangeRateRule": "string",
"minValue": 0,
"maxValue": 0,
"faceValue": 0,
"fee": {
"type": "string",
"value": 0
},
"createdDate": "2023-10-12T21:23:43.900Z",
"lastUpdateDate": "2023-10-12T21:23:43.900Z",
"countries": [
"string"
],
"credentialTypes": [
"string"
],
"redemptionInstructions": "string",
"fulfillmentType": "DIGITAL"
}
],
"categories": [
{
"identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"description": "string"
}
]
}
]
}
Retrieve catalog items when verbose is false
Use GET {URI}/catalogs
to retrieve catalog items. isExpirable
indicates whether or not the gift card has an expiry date. The value for isExpirable =boolean
is true or false. The following payload is with verbose=false:
{
"catalogName": "string",
"brands": [
{
"brandKey": "string",
"brandName": "string",
"disclaimer": "string",
"description": "string",
"shortDescription": "string",
"terms": "string",
"createdDate": "2023-10-12T21:23:43.900Z",
"lastUpdateDate": "2023-10-12T21:23:43.900Z",
"brandRequirements": {
"displayInstructions": "string",
"termsAndConditionsInstructions": "string",
"disclaimerInstructions": "string",
"alwaysShowDisclaimer": true
},
"imageUrls": {
"additionalProp": "string"
},
"status": "string",
"items": [
{
"utid": "string",
"rewardName": "string",
"currencyCode": "string",
"status": "string",
"valueType": "string",
"rewardType": "string",
"isExpirable": boolean",
"isWholeAmountValueRequired": true,
"exchangeRateRule": "string",
"minValue": 0,
"maxValue": 0,
"faceValue": 0,
"fee": {
"type": "string",
"value": 0
},
"createdDate": "2023-10-12T21:23:43.900Z",
"lastUpdateDate": "2023-10-12T21:23:43.900Z",
"countries": [
"string"
],
"credentialTypes": [
"string"
],
"redemptionInstructions": "string",
"fulfillmentType": "DIGITAL"
}
],
"categories": [
{
"identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"description": "string"
}
]
}
]
}
Check item availability
When placing an order, an item may or may not be available. The ItemAvailability
webhook event provides details such as when we are experiencing an issue or when the item is unavailable. Refer to webhooks for information on subscribing to the event and other information about webhooks.
Catalog language
Coming soon:
The global attribute of
lang
helps define the language of your catalog. For example,<span lang=“US-EN”>This is the English Text</span>
shows the US English language and<span lang=“CA-FR”>This is the French Canadian text</span>
shows the Canadian French.
Credential types
GET {URI}/catalogs
provides the credential types information for each item in the catalog. See our topic on how to Get Credential Types.
Updated 16 days ago