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
View JSON Schema on GitHub

JSON Schema

tango-order-schema.json Raw ↑
{
  "$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"}
            }
          }
        }
      }
    }
  }
}