POST /giftcard

The Giftcard POST request can be made to create or register a new giftcard to the client. Cards can be created of various types and note some of the optional values that can be included to set an expiry date, intitial balance and to lock the card to a specific site.

Where a card is to be used across several sites / locations, please omit the siteId from the request.

If the unique idenitifier for the card is known then this value can be included in the request. If not then this API will return a card identifier for the newly created card.

Headers

  • Authorization string Required

    Bearer accessToken

Body

  • expiry string

    Expiry Date for the card in format YYYY-MM-DD

  • cardType integer Required

    1 = Barcode, 2 = QR

  • currencyCode integer Required

    ISO Numeric e.g. 826, 840, 978

  • identifier string

    Unique identfier for the card. Max length 256 characters

  • initialBalance number

    Minimum value is 0, maximum value is 99999.99.

  • siteId string

    ID of a site to lock this card to. Not reccomended but if used the siteId can be obtained from /sites/

Responses

  • 200
    Hide response attributes Show response attributes object
    • message string
    • records_updated integer
    • timestamp integer
    • data object
      Hide data attributes Show data attributes object
      • cardId integer
      • initialBalance number
      • cardType integer
      • currencyCode integer
      • expiry string
      • siteId integer | null
      • ref integer
  • 400

    A Bad request could be returned for a variety of reasons e.g. not including required fields in the request body or including an invalid value for any of these fields.

    The body of the response will be a json object containing a message which can be used to help identify what caused the 400 response.

    Hide response attributes Show response attributes object
    • message string
    • timestamp integer
POST /giftcard
curl \
 -X POST https://api.gift-stream.com/giftcard \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2NzA5NDc5ODMsImlzcyI6ImFwaS5naWZ0Y2FyZC5hcHBkZWxpdmVyYW5jZS5jb20iLCJuYmYiOjE2NzA5NDc5ODMsImV4cCI6MTY3MTIwNzE4MywidXNlck5hbWUiOiJjaHJpc0BpaXM5LmNvLnVrIiwiY2xpZW50SWQiOiIyIiwicmVmcmVzaC10b2tlbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVelV4TWlKOS5leUpwWVhRaU9qRTJOekE1TkRjNU9ETXNJbWx6Y3lJNkltRndhUzVuYVdaMFkyRnlaQzVoY0hCa1pXeHBkbVZ5WVc1alpTNWpiMjBpTENKdVltWWlPakUyTnpBNU5EYzVPRE1zSW5WelpYSk9ZVzFsSWpvaVkyaHlhWE5BYVdsek9TNWpieTUxYXlJc0ltTnNhV1Z1ZEVsa0lqb2lNaUlzSW5SdmEyVnVMWFI1Y0dVaU9pSlNSVVpTUlZOSUluMC55UmpidG1hcS1OWk5nQjZUOElGdDNtZ3ZIMFlFT0NmQmFmLV9YakgtWTJXSDlxMUlYdTRmelJqUWN2eUdSNjh4TDYyTHB2VENQX0JIcWZ5WEtISkxoUSJ9.USYYxT7XJW1zWmkTOBbiiRSvOMPdXia1RTeOXQj2D4lOF7p3GfbaZRjkuKNLJQg3wYD3ZxtakFnbtD8lzsGvyg" \
 -d 'cardType=2&currencyCode=826&expiry=2024-02-29&identifier=&initialBalance=2.99&siteId=2'
Request example
# Headers
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2NzA5NDc5ODMsImlzcyI6ImFwaS5naWZ0Y2FyZC5hcHBkZWxpdmVyYW5jZS5jb20iLCJuYmYiOjE2NzA5NDc5ODMsImV4cCI6MTY3MTIwNzE4MywidXNlck5hbWUiOiJjaHJpc0BpaXM5LmNvLnVrIiwiY2xpZW50SWQiOiIyIiwicmVmcmVzaC10b2tlbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVelV4TWlKOS5leUpwWVhRaU9qRTJOekE1TkRjNU9ETXNJbWx6Y3lJNkltRndhUzVuYVdaMFkyRnlaQzVoY0hCa1pXeHBkbVZ5WVc1alpTNWpiMjBpTENKdVltWWlPakUyTnpBNU5EYzVPRE1zSW5WelpYSk9ZVzFsSWpvaVkyaHlhWE5BYVdsek9TNWpieTUxYXlJc0ltTnNhV1Z1ZEVsa0lqb2lNaUlzSW5SdmEyVnVMWFI1Y0dVaU9pSlNSVVpTUlZOSUluMC55UmpidG1hcS1OWk5nQjZUOElGdDNtZ3ZIMFlFT0NmQmFmLV9YakgtWTJXSDlxMUlYdTRmelJqUWN2eUdSNjh4TDYyTHB2VENQX0JIcWZ5WEtISkxoUSJ9.USYYxT7XJW1zWmkTOBbiiRSvOMPdXia1RTeOXQj2D4lOF7p3GfbaZRjkuKNLJQg3wYD3ZxtakFnbtD8lzsGvyg

# Payload
{
  "cardType": "2",
  "currencyCode": "826",
  "expiry": "2024-02-29",
  "identifier": "",
  "initialBalance": "2.99",
  "siteId": "2"
}
Request examples
# Headers
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2NzA5NDc5ODMsImlzcyI6ImFwaS5naWZ0Y2FyZC5hcHBkZWxpdmVyYW5jZS5jb20iLCJuYmYiOjE2NzA5NDc5ODMsImV4cCI6MTY3MTIwNzE4MywidXNlck5hbWUiOiJjaHJpc0BpaXM5LmNvLnVrIiwiY2xpZW50SWQiOiIyIiwicmVmcmVzaC10b2tlbiI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVelV4TWlKOS5leUpwWVhRaU9qRTJOekE1TkRjNU9ETXNJbWx6Y3lJNkltRndhUzVuYVdaMFkyRnlaQzVoY0hCa1pXeHBkbVZ5WVc1alpTNWpiMjBpTENKdVltWWlPakUyTnpBNU5EYzVPRE1zSW5WelpYSk9ZVzFsSWpvaVkyaHlhWE5BYVdsek9TNWpieTUxYXlJc0ltTnNhV1Z1ZEVsa0lqb2lNaUlzSW5SdmEyVnVMWFI1Y0dVaU9pSlNSVVpTUlZOSUluMC55UmpidG1hcS1OWk5nQjZUOElGdDNtZ3ZIMFlFT0NmQmFmLV9YakgtWTJXSDlxMUlYdTRmelJqUWN2eUdSNjh4TDYyTHB2VENQX0JIcWZ5WEtISkxoUSJ9.USYYxT7XJW1zWmkTOBbiiRSvOMPdXia1RTeOXQj2D4lOF7p3GfbaZRjkuKNLJQg3wYD3ZxtakFnbtD8lzsGvyg

# Payload
{
  "expiry": "2024-02-29",
  "cardType": "2",
  "currencyCode": "826",
  "identifier": "string",
  "initialBalance": "2.99",
  "siteId": "2"
}
Response examples (200)
{
  "message": "OK",
  "records_updated": "",
  "timestamp": 1671097607,
  "data": {
    "cardId": "ReiJuFp227bEJ9P1hI8yczyNbyYbhNZW",
    "initialBalance": 0,
    "cardType": "2",
    "currencyCode": "826",
    "expiry": "0000-00-00 00:00:00",
    "siteId": null,
    "ref": 9823
  }
}
{
  "message": "OK",
  "records_updated": "",
  "timestamp": 1671098166,
  "data": {
    "cardId": "6tNhCRLAzK0uYa3rOkrdBs7xVMOt319m",
    "initialBalance": "10.00",
    "cardType": "2",
    "currencyCode": "826",
    "expiry": "2028-01-31",
    "siteId": null,
    "ref": 9824
  }
}
{
  "message": "string",
  "records_updated": 0,
  "timestamp": 0,
  "data": {
    "cardId": 0,
    "initialBalance": 0,
    "cardType": 0,
    "currencyCode": 0,
    "expiry": "string",
    "siteId": 0,
    "ref": 0
  }
}
Response examples (200)
{
  "message": "string",
  "records_updated": 42,
  "timestamp": 42,
  "data": {
    "cardId": 42,
    "initialBalance": 42.0,
    "cardType": 42,
    "currencyCode": 42,
    "expiry": "string",
    "siteId": 42,
    "ref": 42
  }
}
Response examples (400)
{
  "message": "Data Invalid: Invalid Expiry Date. Please use format YYYY-MM-DD",
  "timestamp": 1671102284
}
{
  "message": "Data Invalid: Currency Code not supported",
  "timestamp": 1671102348
}
Response examples (400)
{
  "message": "string",
  "timestamp": 42
}