Tango · Schema
Tango Order
Schema for a Tango RaaS API reward order
Catalog ManagementDigital RewardsGift CardsIncentivesLoyaltyRewards As A Service
Properties
| Name | Type | Description |
|---|---|---|
| referenceOrderID | string | Unique order reference identifier assigned by Tango |
| orderRefID | string | Optional external reference ID provided at order creation |
| customerIdentifier | string | Identifier of the customer who placed the order |
| accountIdentifier | string | Identifier of the account used to fund the order |
| amount | number | Total order amount in the account's currency |
| currencyCode | string | ISO 4217 currency code |
| status | string | Current status of the order |
| lineItems | array | Individual reward items within this order |
| createdAt | string | Timestamp when the order was created |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/tango/blob/main/json-schema/tango-order-schema.json",
"title": "Tango Order",
"description": "Schema for a Tango RaaS API reward order",
"type": "object",
"properties": {
"referenceOrderID": {
"type": "string",
"description": "Unique order reference identifier assigned by Tango"
},
"orderRefID": {
"type": "string",
"description": "Optional external reference ID provided at order creation"
},
"customerIdentifier": {
"type": "string",
"description": "Identifier of the customer who placed the order"
},
"accountIdentifier": {
"type": "string",
"description": "Identifier of the account used to fund the order"
},
"amount": {
"type": "number",
"minimum": 0.01,
"description": "Total order amount in the account's currency"
},
"currencyCode": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code"
},
"status": {
"type": "string",
"enum": ["COMPLETE", "PENDING", "FAILED", "CANCELLED"],
"description": "Current status of the order"
},
"lineItems": {
"type": "array",
"items": {
"$ref": "#/$defs/LineItem"
},
"description": "Individual reward items within this order"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the order was created"
}
},
"required": ["referenceOrderID", "customerIdentifier", "accountIdentifier", "amount", "currencyCode", "status"],
"$defs": {
"LineItem": {
"type": "object",
"properties": {
"referenceLineItemId": {
"type": "string",
"description": "Unique line item identifier"
},
"referenceOrderID": {
"type": "string",
"description": "Parent order reference ID"
},
"amount": {
"type": "number",
"minimum": 0.01,
"description": "Value of this reward item"
},
"currencyCode": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"utid": {
"type": "string",
"description": "Universal Token ID of the reward product"
},
"rewardName": {
"type": "string",
"description": "Display name of the reward"
},
"brandCode": {
"type": "string",
"description": "Brand identifier"
},
"brandName": {
"type": "string",
"description": "Brand display name"
},
"status": {
"type": "string",
"enum": ["PENDING", "FULFILLED", "CANCELLED", "FROZEN"],
"description": "Current status of the line item"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"fulfillment": {
"$ref": "#/$defs/Fulfillment"
}
},
"required": ["referenceLineItemId", "amount", "currencyCode", "utid", "status"]
},
"Fulfillment": {
"type": "object",
"properties": {
"fulfillmentType": {
"type": "string",
"enum": ["URL", "CODE", "CODE_PIN", "CARD_NUMBER_PIN"],
"description": "Type of reward credential provided"
},
"cardNumber": {
"type": "string",
"description": "Gift card number (when applicable)"
},
"cardPin": {
"type": "string",
"description": "Gift card PIN (when applicable)"
},
"redemptionUrl": {
"type": "string",
"format": "uri",
"description": "URL for reward redemption"
},
"credentialList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {"type": "string"},
"value": {"type": "string"}
}
}
}
}
}
}
}