Get credential types
You can get all the credential types on your platform using GET {URI}/credentialtypes
. A credential type refers to a specific kind of data associated with a reward item in the catalog and defines how the reward is delivered or redeemed. Credential types help determine how to display or process the reward (e.g., show a barcode, render a clickable link, format a date). Use this endpoint to understand what kinds of data you may receive when delivering rewards. The payload results show definitions and detailed information about each credential type.
Use case
Acme Wellness Company uses different credential types depending on the reward format. For example, they use customUrl
to direct users to a personalized landing page to claim their reward after completing a health challenge. They use barcodeUrl
for in-store redemption, such as a barcode shown at a pharmacy or wellness center. They use expirationDate
to indicate the expiry date for time-sensitive incentives, whereas,claimCode
is a unique code users enter on a redemption site to claim their reward.
Get a list of credential types
The GET {URI}/credentialTypes
call returns the list of credential types you might encounter on your platform. There is no parameters for this endpoint.
Endpoint | Purpose |
---|---|
GET {URI}/credentialtypes | Get a List of credential types |
Note:
GET {URI}/catalogs
retrieves all items in the reward catalog, including credential types associated with each item.GET {URI}/credentialTypes
however, returns a complete list of all possible credential types with Tango system that are available on your platform.GET {URI}/catalogs
shows which credential types are used for each reward, whereas,GET {URI}/credentialTypes
shows definitions and metadata for each credential type. See how to Get all items in the platform catalog.
The following payload shows a list of credential types in a Tango platform using GET {URI}/credentialTypes
endpoint:
[
{
“credentialType”: “barcodeNumber”,
“description”: “A numeric or alphanumeric string that provides a human readable version of the information embedded in a barcode. This is typically used in conjunction with the barcodeUrl credential.”
},
{
“credentialType”: “barcodeUrl”,
“description”: “A URL for a barcode image. This is typically used in conjunction with the barcodeNumber credential.”
},
{
“credentialType”: “bypassUrl”,
“description”: “A landing page URL that includes secondary credential information. This removes the need for the recipient to input secondary credentials on the landing page.”
},
{
“credentialType”: “cardCode”,
“description”: “A numeric or alphanumeric string.”
},
{
“credentialType”: “cardNumber”,
“description”: “A numeric or alphanumeric string.”
},
{
“credentialType”: “customUrl”,
“description”: “A custom landing page URL where reward credentials and redemption information are typically presented.”
},
{
“credentialType”: “cvc2",
“description”: “A 3-digit numeric code used as a secondary credential for financial products.”
},
{
“credentialType”: “eventNumber”,
“description”: “A secondary credential that is numeric or alphanumeric string.”
},
{
“credentialType”: “expirationDate”,
“description”: “A date after which the issued reward will no longer be redeemable.”
},
{
“credentialType”: “landingPage”,
“description”: “A landing page URL where reward credentials and redemption information are typically presented.”
},
{
“credentialType”: “pin”,
“description”: “Personal Identification Number. A secondary credential that is a numeric or alphanumeric string.”
},
{
“credentialType”: “redemptionUrl”,
“description”: “A landing page URL where reward credentials and redemption information are typically presented. The landing page may or may not require the recipient to enter one or more secondary credentials to complete the reward redemption process.”
},
{
“credentialType”: “rewardSecurityCode”,
“description”: “The Reward Security Code portion of a URL + Reward Security Code pair to access the reward”
},
{
“credentialType”: “rewardSecurityUrl”,
“description”: “The URL portion of a URL + Reward Security Code pair to access the reward”
},
{
“credentialType”: “secretCode”,
“description”: “A secondary credential that is numeric or alphanumeric string.”
},
{
“credentialType”: “tcBarcodeUrl”,
“description”: “A tango URL for a barcode image. This is typically used in conjunction with the barcodeNumber credential.”
}
]
Reward types and credential types
Tango offers the following reward types and credential types. If your integration requires displaying reward data in app or creating custom reward emails, you may need to add logic to parse the returned reward data correctly.
Note:
We are continuously expanding our catalog and it is likely that new reward types will arise over time. For this reason we recommend a fallback/default to handle unspecified types as text.
Reward type | Credential type | Integration example | Description |
---|---|---|---|
text | cardNumber ,PIN ,securityCode , claimCode , etc. | Wrap in a <span> tag | Plain text; the content is simple text, such as numbers or codes; Example of credential types that might be delivered in this format are: a gift card number, a PIN code, or a security code for redemption; When displaying this reward in HTML (such as email or web page), you should wrap the text in a tag for styling or formatting Example: 1234-5678-9012 |
URL | redemptionUrl , securityUrl customUrl | Wrap in an <a> tag | URL or a clickable address that takes the user to a reward landing page; wrap each URL in an <a> tag to make it clickable in emails or web interfaces; The different types of URLs to deliver the rewards are:- redemptionUrl : A link where the user can redeem their reward.- securityUrl : A secure link, possibly with embedded tokens or credentials.- customUrl : A personalized or branded link for a specific user or experience. |
barcode | barcode | Add an <img> tag | URL for a barcode image; The reward is a barcode, typically used for scanning at a point of sale or for verification; The credential is a URL that points to an image of the barcode and is used to retrieve and display the barcode image; To show the barcode in a web page or email, you embed the image using an |
date | expirationDate | Localized date format and RFC 3339 | ISO datedtime; The reward includes a date or time value, such as an expiration or activation date; The date is formatted using the ISO 8601 standard, specifically in the RFC 3339 format. Example: 2016-01-01T00:00:00Z (which means January 1, 2016, at midnight UTC); When showing this date to users, format it according to their local date/time conventions. For example: - US: January 1, 2016 - UK: 1 January 2016 - Japan: 2016年1月1日 |
Credential type key
For better parsing and display of reward data, we have added the credentialType
key to the credentialList
object in the Order response. See Get details for a specific order.
The following payload shows the credential types
such as redemptionUrl
or expirationDate
as part of the credentialList
object in the order response when performing the GET {URI}/orders/{referenceOrderID}
call. To get details such as credentialType
for a specific order, you must have referenceOrderID
ready:
"credentialList": [
{
"label": "Redemption Link",
"value": "https://sandbox.rewardlink.io/r/1/_KBqZ9x056xOCrp34qxM74R2KQqYJlHoaJKZAXbwkSQ",
"type": "url",
"credentialType": "redemptionUrl"
},
{
"label": "Expiration",
"value": "",
"type": "date",
"credentialType": "expirationDate"
}
Here's an example payload for when you receive an error:
{
"timestamp": "2025-02-21T23:23:13.930Z",
"requestId": "string",
"path": "string",
"httpCode": 0,
"httpPhrase": "string",
"i18nKey": "string",
"message": "The error message will show here for error codes ",
"errors": [
{}
]
}
The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:
Response code | Meaning |
---|---|
200 | The request was successful. |
400 | The server could not understand the request due to invalid syntax. |
401 | Authentication is required and has either not been provided or failed. |
403 | The server understood the request but refuses to authorize it. |
Updated 27 days ago