Skip to main content

Provider Integration Endpoints

The topics below define the operations required for processing loyalty transactions.

PUT /identifyCustomers

Summary

Use the Identify Customers operation to find a customer's loyalty account using a loyalty ID, code, phone number, email address, first name, or last name.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

headers

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

headers

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

headers

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

IdentifyCustomersRequestBody

Yes

Includes the fields for the IdentifyCustomersRequestBody

IdentifyCustomersResponseBody

Field Name

Type

Required

Description

customers

list {object}

Yes

The list of customers identified in the loyalty system

customers.is_identified

boolean

Yes

The flag that represents if the customer was fully identified.

true - When the customer is identified and all customer information is present.

false - When multiple customers were found and an additional identifyCustomers request is required to obtain full customer information after a single customer is selected.

customers.balance

list {object}

IdentifyCustomersBalanceResponseBody

No

The list of customer's loyalty balances. For example, points or visits.

customers.cards

list {object}

CardsResponseBody

No

The list of stored value accounts available for the customer

customers.identification_method

string (enum)

Yes

The method used to identify loyalty customer. The possible values are as follows: code, first_name, last_name, loyalty_card_number, email, phone_number, and coupon.

customers.information

object

InformationResponseBody

Yes

The customer's personal information.

Note

If no customer information is provided, an empty object should be sent in the response.

customers.rewards

list {object}

Yes

The list of rewards available on the customer's balance.

Note

If no rewards are available for the customer, an empty array should be sent in the response.

customers.rewards[].id

string

Yes

The reward identification value

customers.rewards[].name

string

Yes

The reward name

customers.rewards[].balance

number

Yes

The reward quantity

customers.rewards[].amount

number

Yes

The reward discount amount

customers.rewards[].apply_automatically

boolean

Yes

The flag that identifies if the reward should be applied automatically.

Note

These rewards cannot be removed from the order.

customers.rewards[].status

string

No

The reward status

customers.rewards[].calculated_by

string

Yes

Indicates the party responsible for the loyalty rewards.

This should be set to "provider" when the loyalty rewards are calculated and validated by a loyalty provider.

This should be set to "client" when the loyalty rewards are calculated and validated by us.

Note

For this type of integration, the value should be set to "provider."

customers.rewards[].program_id

string

No

The reward's program identifier

customers.rewards[].reward_type

string

No

The reward type

customers.rewards[].associated_points

string

No

The amount of points associated with the reward

customers.rewards[].promoted

boolean

No

The flag that identifies if the reward is promoted by a provider and should be shown in a "promoted" category.

customers.rewards[].promotion_type

string

No

The additional reward type. For example, Birthday Reward or Anniversary Reward.

customers.rewards[].qualified

boolean

No

The flag that identifies if the reward is applicable to the current order

customers.rewards[].expiration_dates

list {object}

Yes

The reward expiration dates.

Note

When the reward does not have an expiration date, an empty array should be sent in the response.

 customers.rewards[].expiration_dates[].expiration_date

string

No

The reward expiration date

 customers.rewards[].expiration_dates[].points_quantity

string

No

The total number of rewards to expire

customers.rewards_data

object

Yes

The list of validated and declined rewards

customers.rewards_data.validated_rewards

list {object}

ValidatedRewardsResponseBody

Yes

The list of customer's rewards that should be added to the order automatically. 

Note

if there are no rewards that should be added to the order automatically, an empty array should be provided in the response.

customers.rewards_data.declined_rewards

list {object}

DeclinedRewardsResponseBody

Yes

The list of customer's rewards that did not pass the validation and is not applicable to the order. Typically, this is used in the single scan flow when the customer identification includes the reward that should be added to the order.

Note

If there are no declined rewards, an empty array should be provided in the response.

general

GeneralResponseBody

Yes

Includes the fields for the GeneralResponseBody

PUT /simulateAccrual

Summary

The Simulate Accrual operation validates whether awards defined in the order object can be applied to the order.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

header

BODY

SimulateAccrualRequestBody

Yes

Includes the fields for the SimulateAccrualRequestBody

SimulateAccrualResponseBody

Field Name

Type

Required

Description

rewards_data

object

Yes

The list of validated and declined rewards

 rewards_data.validated_rewards

list {object}

ValidatedRewardsResponseBody

Yes

The list of customer's rewards that are validated and applicable to the order.

Note

If there are no applicable rewards, an empty array should be provided in the response.

rewards_data.declined_rewards

list {object}

DeclinedRewardsResponseBody

Yes

The list of customer's rewards that did not pass the validation and are not applicable to the order.

Note

If there are no declined rewards, an empty array should be provided in the response.

general

GeneralResponseBody

Yes

Includes the fields for the GeneralResponseBody

POST /redeemReward

Summary

The Redeem Reward operation redeems the rewards that are applied to the order.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

RedeemRewardRequestBody

Yes

Includes the fields for the RedeemRewardRequestBody

RedeemRewardResponseBody

Field Name

Type

Required

Description

rewards_data

object

Yes

The list of validated and declined rewards

rewards_data.redeemed_rewards

list {object}

RedeemedRewardsResponseBody

Yes

The list of successfully redeemed rewards.

Note

If there are no redeemed rewards, an empty array should be provided in the response.

rewards_data.declined_rewards

list {object}

DeclinedRewardsResponseBody

Yes

The list of customer's rewards that did not pass the validation and are not applicable to the order.

Note

If there are no declined rewards, an empty array should be provided in the response.

general

GeneralResponseBody

Yes

Includes the fields for the GeneralResponseBody

POST /submitOrder

Summary

Use the Submit Order operation to submit the completed transaction to the loyalty provider to accrue loyalty points on the customer's account.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

SubmitOrderRequestBody

Yes

Includes the fields for the SubmitOrderRequestBody

SubmitOrderResponseBody

Field Name

Type

Required

Description

receipt

object

ReceiptResponseBody

No

The order receipt details

general

GeneralResponseBody

Yes

Includes the fields for the GeneralResponseBody

PUT /voidOrder

Summary

The Void Order operation voids an order that has had rewards applied to it. This operation reverses the reward application and reapplies the rewards to the customer's loyalty account if applicable.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

VoidOrderRequestBody

Yes

Includes the fields for the VoidOrderRequestBody

VoidOrderResponseBody

Field Name

Type

Required

Description

receipt

object

ReceiptResponseBody

No

The order receipt details

general

GeneralResponseBody

Yes

Includes the fields for the GeneralResponseBody

POST /addCustomer

Summary

Creates a new loyalty customer.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

AddCustomerRequestBody

Yes

Includes the fields for the

AddCustomerRequestBody

AddCustomerResponseBody

Field Name

Type

Required

Description

general

GeneralResponseBody

Yes

Includes the fields for the

GeneralResponseBody

customer

object

No

The created loyalty customer details

customer.status

string (enum)

Yes

The loyalty customer status. The possible values are:

  • Active

  • Pending

customer.messages

object

No

The list of loyalty messages

customer.messages.type

string

No

The type of the message. For example, POS or Customer display.

customer.messages.text

string

No

The message text

customer_balance

object

BalanceResponseBody

No

The list of customer loyalty balances. For example, points or visits.

customer.cards

object

CardsResponseBody

No

The list of stored value accounts available for the customer

customer.information

object

InformationResponseBody

Yes

The customer's personal information

customer.rewards

object

CustomerRewardsResponseBody

No

The list of rewards available on the customer's balance

customer.rewards_data.validated_rewards

object

ValidatedRewardsResponseBody

No

The list of customer's rewards that should be added to the order automatically

customer.identification_method

string (enum)

Yes

The method used to identify loyalty customer. The possible values are:

  • code

  • first_name

  • last_name

  • loyalty_card_number

  • email

  • coupon

POST /updateCustomer

Summary

Update or set loyalty customer information.

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

UpdateCustomerRequestBody

Yes

Includes the fields for the

UpdateCustomerRequestBody

UpdateCustomerResponseBody

Field Name

Type

Required

Description

general

GeneralResponseBody

Yes

Includes the fields for the

GeneralResponseBody

customer

object

No

The created loyalty customer details

customer.status

string (enum)

Yes

The loyalty customer status. The possible values are:

  • Active

  • Pending

customer.messages

object

No

The list of loyalty messages

customer.messages.type

string

No

The type of the message. For example, POS or Customer display.

customer.messages.text

string

No

The message text

customer_balance

object

BalanceResponseBody

No

The list of customer loyalty balances. For example, points or visits.

customer.cards

object

CardsResponseBody

No

The list of stored value accounts available for the customer

customer.information

object

InformationResponseBody

Yes

The customer's personal information

customer.rewards

object

CustomerRewardsResponseBody

No

The list of rewards available on the customer's balance

customer.rewards_data.validated_rewards

object

ValidatedRewardsResponseBody

No

The list of customer's rewards that should be added to the order automatically

customer.identification_method

string (enum)

Yes

The method used to identify loyalty customer. The possible values are:

  • code

  • first_name

  • last_name

  • loyalty_card_number

  • email

  • coupon

POST /redeemBalance

Summary

This endpoint supports redeeming loyalty points for loyalty rewards. Currently, points can be redeemed for currency rewards only.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

RedeemBalanceRequestBody

Yes

Includes the fields for the

RedeemBalanceRequestBody

RedeemBalanceResponseBody

Field Name

Type

Required

Description

general

GeneralResponseBody

Yes

Includes the fields for the

GeneralResponseBody

balance

object

BalanceResponseBody

Yes

The list of available customer loyalty balances after the redemption

declined_balance

object

No*

The list of balances failed on redemption.

*One of the following objects is required for this response:

  • declined_balance

  • converted_rewards

declined_balance.balance_name

string

Yes

The name of the balance failed on redemption

declined_balance.total_balance

number

No

The total of the balance failed on redemption

declined_balance.redeem_balance

number

Yes

The balance requested for redemption

declined_balance.error

object

Yes

The declined reward error details

declined_balance.error.error_code

string

Yes

The HTTP error code

declined_balance.error.error_message

string

Yes

The error message

converted_rewards

object

Yes

The list of loyalty rewards as a result of points redemption.

*One of the following objects is required for this response:

  • declined_balance

  • converted_rewards

converted_rewards.reward_id

string

No*

The reward identifier (ID).

*This field is required when the rewards.converted_ rewards.requires_validation flag is set to true.

converted_rewards.requires_validation

boolean

Yes

The flag that indicates whether the reward should always be validated as regular loyalty rewards

converted_rewards.status

string

Yes

The reward status. The possible values are:

  • redeemed - Should be set when the reward is automatically redeemed on conversion.

  • converted - Should be set when the reward is not automatically redeemed on conversion.

converted_rewards.name

string

No

The reward name

converted_rewards.quantity

number

Yes

The reward quantity

converted_rewards.amount

number

No*

The reward discount amount.

*This field is required when the converted_rewards.balance_type is set to conversion to currency.

converted_rewards.apply_automatically

boolean

Yes

The flag that indicates whether the reward should be applied automatically.

These rewards cannot be removed from the order.

converted_rewards.calculated_by

string

Yes

This field indicates the party responsible for the loyalty rewards.

This value should be set to provider when the loyalty rewards are calculated and validated by a loyalty provider.

converted_rewards.discount_code

string

Yes

The reward code that matches the reward code in our system

converted_rewards.program_id

string

No

The reward's program identifier (ID)

converted_rewards.rewarded_items

object

No

This field is available for the item-level discounts only, and contains the list of items to which the discount should be applied

converted_rewards.rewarded_items.name

string

Yes

The item name

converted_rewards.rewarded_items.quantity

number

Yes

The item quantity

converted_rewards.rewarded_items.amount

number

Yes

The item amount

converted_rewards.rewarded_items.id

string

Yes

The item ID

converted_rewards.rewarded_items.item_id

string

Yes

The unique item ID in the order. The ID should match the order_item_id value of the item in the request.

converted_rewards.redeemed_balance

number

Yes

The loyalty balance amount used for the redemption

converted_rewards.balance_name

string

Yes

The name of the balance used for the redemption

converted_rewards.balance_redemption_type

string

Yes

The type of the balance used for the redemption.

The available option is: conversion to currency

converted_rewards.transaction_id

string

Yes

The transaction ID

POST /reverseBalance

Summary

This endpoint supports reversing loyalty points redeemed for loyalty rewards.

Request Parameters

In

Field Name

Type

Required

Description

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously. For information on tokens, see Authentication.

header

X-COMPANY-ID

string

Yes

The unique identifier (UID) for the company provided by us

header

X-SITE-IDs

string

Yes

The site identifier for the location that is performing the transaction

body

BODY

ReverseBalanceRequestBody

Yes

Includes the fields for the

ReverseBalanceRequestBody

ReverseBalanceResponseBody

Field Name

Type

Required

Description

general

GeneralResponseBody

Yes

Includes the fields for the

GeneralResponseBody

balance

object

BalanceResponseBody

Yes

The list of available customer loyalty balances after the redemption

declined_reverse

object

No

The list of rewards that failed on reverse

declined_reverse.balance_name

string

Yes

The name of the balance that failed on redemption

declined_reverse.balance_redemption_type

string

Yes

The type of the balance that was used for the redemption. Currently, only the conversion to currency type is supported.

declined_reverse.transaction_id

string

Yes

The transaction ID of the redemption provided in the request

declined_reverse.reverse_balance

number

No*

The loyalty balance requested for the reverse.

*One of the following fields is required for the response:

  • declined_reverse.reverse_balance

  • declined_reverse.reverse_monetary_balance

declined_reverse.reverse_monetary_balance

number

No*

The monetary balance requested for the reverse.

*One of the following fields is required for the response:

  • declined_reverse.reverse_balance

  • declined_reverse.reverse_monetary_balance

declined_reverse.error

object

Yes

The declined reward error details

declined_reverse.error.error_code

string

Yes

The error HTTP code

declined_reverse.error.error_message

string

Yes

The error message

reversed_balance

object

No

The list of reversed loyalty rewards as a result of the points redemption

reversed_balance.balance_name

string

Yes

The name of the reversed balance

reversed_balance.balance_redemption_type

string

Yes

The type of the reversed balance. Currently, only the conversion to currency type is supported.

reversed_balance.reversed_balance

number

No*

The reversed loyalty balance.

*One of the following fields is required for the response:

  • reversed_balance.reversed_balance

  • reversed_balance.reversed_monetary_balance

reversed_balance.reversed_monetary_balance

number

No*

The reversed monetary balance.

*One of the following fields is required for the response:

  • reversed_balance.reversed_balance

  • reversed_balance.reversed_monetary_balance

reversed_balance.total_balance

number

No

The total loyalty balance after reversal

reversed_balance.total_monetary_balance

number

No

The total monetary balance after reversal

reversed_balance.transaction_id

string

Yes

The transaction ID of the redemption provided in the request

Provider Integration Data Models

GeneralRequestBody

Field Name

Type

Required

Description

application_version

string

Yes

The version of Gift and Loyalty the company uses

clerk_id

string

Yes

The identifier for the employee who entered the transaction

date_time

string

Yes

The date and time of the transaction in YYYY-MM-DDTHH:MM:SS.001Z format

integrator_name

string

No

The name of the integrator connected to the transaction

integrator_type

string

Yes

The type of the integrator connected to the transaction

local_time

string

Yes

The time of activation in HH:MM:SS.001 format

local_date

string

Yes

The date of the transaction in YYYY-MM-DD format

terminal_id

string

Yes

The identifier for the terminal at the site

terminal_txn_id

string

Yes

The identifier used by the terminal to track the transaction

OrderRequestBody

Field Name

Type

Required

Description

_id

string

Yes

The point of sale (POS) order identification

customer

object

Yes

The object containing the customer information

customer.loyalty_info

object

Yes

The customer loyalty information object

customer.loyalty_info.customer_id

string

Yes

The customer identification value

customer.loyalty_info.loyalty_card_number

string

Yes

The customer loyalty card number

customer.loyalty_info.offers

string

Yes

The the list of rewards that should be validated against the order

customer.loyalty_info.submit_order

object

No

The customer submit order object

customer.loyalty_info.submit_order.transaction_id

string

No

The transaction identifier of the submitted order

discount_info

object

Yes

The object with a list of all order-level discounts applied to the order. The applied loyalty discounts have a loyalty_info object.

discount_info.discounts

array

Yes

The list of all discounts applied to the order

discount_info.discounts[].amount

object

Yes

The discount amount

discount_info.discounts[].discount_code

string

Yes

The discount code

discount_info.discounts[].discount_definition_id

string

Yes

The discount definition identification value

discount_info.discounts[].distributed

boolean

Yes

The discount distribution flag

discount_info.discounts[].loyalty_info

object

No

The loyalty information details

discount_info.discounts[].loyalty_info.amount

string

No

The loyalty points amount

discount_info.discounts[].loyalty_info.apply_automatically

boolean

No

The flag that defines if the discount should be applied to the order automatically

discount_info.discounts[].loyalty_info.code

string

No

The loyalty information code

discount_info.discounts[].loyalty_info.program_id

string

No

The loyalty program identification value

discount_info.discounts[].loyalty_info.quantity_redeemed

number, string

No

The points quantity redeemed

discount_info.discounts[].loyalty_info.reward_id

string

No

The reward identification value

discount_info.discounts[].loyalty_info.reward_type

string

No

The reward type

discount_info.discounts[].loyalty_info.status

string

No

The loyalty status

discount_info.discounts[].name

string

Yes

The discount name

discount_info.discounts[].quantity

string

Yes

The discount quantity

discount_total

string

Yes

The total discount amount that is applied to the order

employee

object

No

The object containing information about the employee that is submitted with the redeemed reward

employee.id

string

No

The identification value for the employee who submitted the order

employee.name

string

No

The name of the employee who submitted the order

guest_count

string

No

The order guest count

items

array

Yes

The list of all items included in the order

items[].child_items[]

array

No

The list of inner items objects

items[].discount_info

object

Yes

The item-level discounts have "distributed":false and order-level discounts distributed among items have "distributed":true

The loyalty rewards have a loyalty_info object.

items[].discount_info.discounts[].amount

object

Yes

The discount amount

items[].discount_info.discounts[].discount_code

string

Yes

The discount code

items[].discount_info.discounts[].discount_definition_id

string

Yes

The discount definition identification value

items[].discount_info.discounts[].distributed

boolean

Yes

The discount distribution flag

items[].discount_info.discounts[].loyalty_info

object

No

The loyalty information details

items[].discount_info.discounts[].loyalty_info.amount

string

No

The loyalty points amount

items[].discount_info.discounts[].loyalty_info.apply_automatically

boolean

No

The flag that defines if the discount should be applied to the item automatically

items[].discount_info.discounts[].loyalty_info.code

string

No

The loyalty information code.

items[].discount_info.discounts[].loyalty_info.program_id

string

No

The loyalty program identification value

items[].discount_info.discounts[].loyalty_info.quantity_redeemed

number, string

No

The points quantity redeemed

items[].discount_info.discounts[].loyalty_info.reward_id

string

No

The reward identification value

items[].discount_info.discounts[].loyalty_info.reward_type

string

No

The reward type

items[].discount_info.discounts[].loyalty_info.status

string

No

The loyalty status

items[].discount_info.discounts[].name

string

Yes

The item discount name

items[].discount_info.discounts[].quantity

string

Yes

The item discount quantity

items[].is_bundle

boolean

No

The flag that identifies if the item is bundled

items[].item_type

string

Yes

The item type

items[].name

string

Yes

The item name

items[].order_item_id

string

Yes

The item order identification value

items[].price

string

Yes

The item price

items[].product_id

string

Yes

The product identification value

items[].quantity

string

Yes

The item quantity

items[].reporting_category

object

No

The item category object

items[].reporting_category.major_reporting_category

object

No

The item major category report

items[].reporting_category.major_reporting_category.external_category_id

string

No

The item major category report external identification value

items[].reporting_category.major_reporting_category.name

string

No

The item major category report name

items[].reporting_category.minor_reporting_category

object

No

The item minor category report

items[].reporting_category.minor_reporting_category.external_category_id

string

No

The item minor category report external identification value

items[].reporting_category.minor_reporting_category.name

string

No

The item minor category report name

order_number

string

Yes

The POS order number

order_type

string (enum)

No

The order type. Can be 'refund' order 'order'.

payment_info

object

No

The object containing an array of all payments

payment_info.change

string

No

The change amount

payment_info.payments[]

array

No

The list of payments used for the order

payment_info.payments[].account

string

No

The payment account

payment_info.payments[].amount

string

Yes

The payment amount

payment_info.payments[].card_brand_name

string

No

The card brand name used for payment

payment_info.payments[].code

string

No

The payment code

payment_info.payments[].name_on_card

string

No

The name on the card used for payment

payment_info.payments[].name

string

No

The payment name

payment_info.payments[].pay_type_id

string

Yes

The payment type identification value

payment_info.payments[].pay_type_name

string

No

The payment type name

payment_info.payments[].transaction_id

string, null

No

The payment transaction identification value

payment_info.tips

string

No

The amount of tips paid

payment_info.total

string

No

The total amount paid

subtotal

string

Yes

The order subtotal amount

tax_info

object

No

The object containing detailed information about the order taxes

tax_info.taxes

array

Yes

The list of all taxes applied to the order

tax_info.taxes[].amount

string

Yes

The amount of tax added

tax_info.taxes[].name

string

Yes

The tax name

tax_info.taxes[].tax_definition_id

string

Yes

The tax definition identification value

tax_info.total

string

Yes

The total tax amount

tax_info.total_exclusive

string

Yes

The total exclusive tax amount

time

object

Yes

The object containing the time the order was created and closed

time.created

string

Yes

The order creation timestamp

time.closed

string

Yes

The order closing timestamp

total

string

Yes

The order total amount

IdentifyCustomersRequestBody

Field Name

Type

Required

Description

check_id

string

Yes

The customer's check identification value

code

string

Yes

The customer's identification

customer_id

string

Yes

A generic field for providing identifying information for the customer. It is used when the type of identifying information is not known.

email

string

Yes

The customer's email address

first_name

string

Yes

The customer's first name

last_name

string

Yes

The customer's last name

loyalty_card_number

string

Yes

The customer's loyalty card number value

order

array

OrderRequestBody

No

An order object, formatted by our system, containing information about the customer's current order

phone_number

string

Yes

The customer's phone number

zip_code

string

Yes

The customer's zip code

acquired_method

string (enum)

Yes

Represents the method used to acquire customer's loyalty identifier. The possible values are as follows:

  • SWIPE - When the loyalty identification, such as code, card number, coupon, or any loyalty criteria, has been swiped

  • MANUAL - When the value has been entered manually

  • SCAN - When the value has been scanned through a camera or barcode scanner

general

GeneralRequestBody

Yes

Includes the fields for the GeneralRequestBody

SimulateAccrualRequestBody

Field Name

Type

Required

Description

check_id

string

Yes

The POS check identification

order

array

OrderRequestBody

Yes

The object with the order details

receipt_datetime

string

Yes

The order's receipt date time

general

GeneralRequestBody

Yes

Includes the fields for the GeneralRequestBody

RedeemRewardRequestBody

Field Name

Type

Required

Description

check_id

string

Yes

The POS check identification

order

array

OrderRequestBody

Yes

The list of all items included in the order

receipt_datetime

string

Yes

The order's receipt date time

general

GeneralRequestBody

Yes

Includes the fields for the GeneralRequestBody

SubmitOrderRequestBody

Field Name

Type

Required

Description

check_id

string

Yes

The POS check identification

order

array

OrderRequestBody

Yes

The list of all items included in the order

receipt_datetime

string

Yes

The order's receipt date time

general

GeneralRequestBody

Yes

Includes the fields for the GeneralRequestBody

VoidOrderRequestBody

Field Name

Type

Required

Description

check_id

string

Yes

The POS check identification

order

array

OrderRequestBody

Yes

The object containing all order details

general

GeneralRequestBody

Yes

Includes the fields for the GeneralRequestBody

AddCustomerRequestBody

Field Name

Type

Required

Description

general

GeneralRequestBody

Yes

Includes the fields for the

GeneralRequestBody

site_info

object

SiteInfoRequestBody

No

The store information

terminal_info

object

TerminalInfoRequestBody

No

The terminal information

customer_details

object

Yes

The customer details required for a loyalty account

customer_details.terms_and_conditions _confirmed

boolean

No

A flag that indicates whether a customer has agreed to the terms and conditions.

true - A customer has agreed to the terms and conditions.

false - A customer did not agree to the terms and conditions.

customer_details.phone_number

string

No*

The customer's phone number.

*One of the following fields is required for the request:

  • customer_details.phone_number

  • customer_details.email

  • customer_details.code

  • customer_details.loyalty_card_number

customer_details.email

string

No*

The customer's email address.

*One of the following fields is required for the request:

  • customer_details.phone_number

  • customer_details.email

  • customer_details.code

  • customer_details.loyalty_card_number

customer_details.code

string

No*

The customer code.

*One of the following fields is required for the request:

  • customer_details.phone_number

  • customer_details.email

  • customer_details.code

  • customer_details.loyalty_card_number

customer_details.loyalty_card_number

string

No*

The customer's loyalty card number.

*One of the following fields is required for the request:

  • customer_details.phone_number

  • customer_details.email

  • customer_details.code

  • customer_details.loyalty_card_number

customer_details.first_name

string

No

The customer's first name

customer_details.middle_name

string

No

The customer's middle name

customer_details.last_name

string

No

The customer's last name

customer_details.birth_date

string

No

The customer's date of birth

customer_details.email_opt_in

boolean

No

A flag that indicates whether the customer agreed to receive emails.

true - The customer agreed to receive emails.

false - The customer did not agree to receive emails.

customer_details.sms_opt_in

boolean

No

A flag that indicates whether a customer agreed to receive marketing messages.

true - A customer agree to receive marketing messages.

false - A customer did not agree to receive marketing messages.

customer_details.address

object

No

The customer's address information

customer_details.address.country

string

No

The customer's country

customer_details.address.address_1

string

No

The customer's main address

customer_details.address.address_2

string

No

The customer's additional address information, such as apartment number

customer_details.address.address_3

string

No

The customer's additional address information

customer_details.address.city

string

No

The customer's city location

customer_details.address.state

string

No

The customer's state location

customer_details.address.zip_code

string

No

The customer's zip or postal code

customer_details.referral_code

string

No

The customer's referral code

UpdateCustomerRequestBody

Field Name

Type

Required

Description

general

GeneralRequestBody

Yes

Includes the fields for the

GeneralRequestBody

site_info

object

SiteInfoRequestBody

No

The store information

terminal_info

object

TerminalInfoRequestBody

No

The terminal information

customer

object

CustomerRequestBody

Yes

The loyalty customer identification details

updated_customer_details

object

Yes

The customer details required for a loyalty account

updated_customer_details.terms_and_conditions_confirmed

boolean

No

The flag that indicates whether the customer agreed to terms and conditions.

true - The customer agreed to terms and conditions.

false - The customer did not agree to terms and conditions.

updated_customer_details.phone_number

string

No*

The customer's phone number.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.email

string

No*

The customer's email address.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.code

string

No*

The customer's code.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.loyalty_card_number

string

No*

The customer's loyalty card number.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.first_name

string

No*

The customer's first name.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.middle_name

string

No*

The customer's middle name.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.last_name

string

No*

The customer's last name.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.birth_date

string

No*

The customer's date of birth.

*One of the following fields is required for the request:

  • updated_customer_details.phone_number

  • updated_customer_details.email

  • updated_customer_details.code

  • updated_customer_details.loyalty_card_number

  • updated_customer_details.first_name

  • updated_customer_details.middle_name

  • updated_customer_details.last_name

  • updated_customer_details.birth_date

updated_customer_details.email_opt_in

boolean

No

A flag that indicates whether the customer agree to receive marketing emails.

true - The customer agreed to receive marketing emails.

false - The customer did not agree to receive marketing emails.

updated_customer_details.sms_opt_in

boolean

No

A flag that indicates whether the customer agree to receive marketing messages.

true - The customer agreed to receive marketing messages.

false - The customer did not agree to receive marketing messages.

updated_customer_details.address

object

Yes

The customer's address information

updated_customer_details.address.country

string

No*

The customer's country.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.address_1

string

No*

The customer's main address.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.address_2

string

No*

The customer's additional address, such as apartment number.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.address_3

string

No*

The customer's additional address information.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.city

string

No*

The customer's city location.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.state

string

No*

The customer's state location.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

updated_customer_details.address.zip_code

string

No*

The customer's zip or postal code.

*One of the following fields is required for the request:

  • updated_customer_details.address.country

  • updated_customer_details.address.address_1

  • updated_customer_details.address.address_2

  • updated_customer_details.address.address_3

  • updated_customer_details.address.city

  • updated_customer_details.address.state

  • updated_customer_details.address.zip_code

RedeemBalanceRequestBody

Field Name

Type

Required

Description

general

GeneralRequestBody

Yes

Includes the fields for the

GeneralRequestBody

site_info

object

SiteInfoRequestBody

No

The store information

terminal_info

object

TerminalInfoRequestBody

No

The terminal information

customer

object

CustomerRequestBody

Yes

The loyalty customer identification details

order

object

Yes

The Genius order object

redeem_balance

object

Yes

The list of loyalty balances to redeem

redeem_balance.balance_redemption_type

string

Yes

The type of the balance. Currently, only the conversion to currency type is supported.

redeem_balance.balance_name

string

Yes

The balance name

redeem_balance.total_balance

number

No

The total loyalty balance available for redemption

redeem_balance.total_monetary_balance

number

No

The total monetary balance available for redemption

redeem_balance.redeem_balance

number

No*

The loyalty balance, or points, to redeem.

*One of the following fields is required for the request:

  • redeem_balance.redeem_balance

  • redeem_balance.redeem_monetary_balance

redeem_balance.redeem_monetary_balance

number

No*

The monetary balance to redeem.

*One of the following fields is required for the request:

  • redeem_balance.redeem_balance

  • redeem_balance.redeem_monetary_balance

redeem_balance.currency_code

string

No

The code of the currency used for the redemption

ReverseBalanceRequestBody

Field Name

Type

Required

Description

general

GeneralRequestBody

Yes

Includes the fields for the

GeneralRequestBody

site_info

object

SiteInfoRequestBody

No

The store information

terminal_info

object

TerminalInfoRequestBody

No

The terminal information

customer

object

CustomerRequestBody

Yes

The loyalty customer identification details

order

object

Yes

The Genius order object

reverse_rewards

object

Yes

The list of loyalty rewards redeemed for points to reverse

reverse_rewards.transaction_id

string

Yes

The points redemption transaction ID. This is the converted_rewards.transaction_id value provided in the redeemBalance response.

reverse_rewards.reward_id

string

No

The reward ID. Provide this field only if available.

reverse_rewards.name

string

No

The reward name

reverse_rewards.quantity

number

No

The reward quantity

reverse_rewards.amount

number

No

The reward discount amount

reverse_rewards.balance_redemption_type

string

Yes

The type of the balance that was used for the redemption. Currently, only conversion to currency type is supported.

reverse_rewards.balance_name

string

Yes

The name of the balance used for the redemption

reverse_rewards.reverse_balance

number

No

The loyalty balance, or points, to reverse

reverse_rewards.reverse_monetary_balance

number

No

The monetary balance to reverse

reverse_rewards.currency_code

string

No

The code of the currency used for the reverse

CustomerRequestBody

Field Name

Type

Required

Description

customer.email

string

No*

The loyalty customer email.

*One of the following fields is required for the request:

  • customer.email

  • customer.phone_number

  • customer.code

  • customer.loyalty_card_number

  • customer.customer_id

customer.phone_number

string

No*

The loyalty customer email.

*One of the following fields is required for the request:

  • customer.email

  • customer.phone_number

  • customer.code

  • customer.loyalty_card_number

  • customer.customer_id

customer.code

string

No*

The loyalty customer code.

*One of the following fields is required for the request:

  • customer.email

  • customer.phone_number

  • customer.code

  • customer.loyalty_card_number

  • customer.customer_id

customer.loyalty_card_number

string

No*

The customer's loyalty card number.

*One of the following fields is required for the request:

  • customer.email

  • customer.phone_number

  • customer.code

  • customer.loyalty_card_number

  • customer.customer_id

customer.customer_id

string

No*

The loyalty customer ID

*One of the following fields is required for the request:

  • customer.email

  • customer.phone_number

  • customer.code

  • customer.loyalty_card_number

  • customer.customer_id

SiteInfoRequestBody

Field Name

Type

Required

Description

site_info.store_id

string

No

The unique store identifier (UID)

site_info.store_number

string

No

The store number defined by the company

site_info.store_name

string

No

The store name

TerminalInfoRequestBody

Field Name

Type

Required

Description

terminal_info.terminal_id

string

No

The terminal UID

terminal_info.terminal_number

string

No

The defined terminal number

terminal_info.terminal_name

string

No

The terminal name

GeneralResponseBody

Field Name

Type

Required

Description

merchant_data

object

Yes

The provider information

merchant_data.response_code

string

Yes

The response HTTP code

merchant_data.response_message

string

Yes

The response message from the provider or client

merchant_data.response_name

string

Yes

The response name

merchant_data.authorization_code

string

Yes

The request authorization code

merchant_data.id

string

Yes

The provider identification

merchant_data.name

string

Yes

The provider name

host_txn_id

string

Yes

The transaction identification value

server_date_time

string

Yes

The response date and time

IdentifyCustomersBalanceResponseBody

Field Name

Type

Required

Description

customers.balance[].balance

string

No

The customer's loyalty balance

customers.balance[].name

string

No

The loyalty balance's name. For example, Points.

customers.balance[].type

string

No

The loyalty balance type

customers.balance[].expiration_dates

list {object}

No

The loyalty balance expiration dates

customers.balance[].expiration_dates[].expiration_date

string

No

The loyalty balance expiration date

customers.balance[].expiration_dates[].points_quantity

string

No

The balance amount to be expired

customers.balance.balance_redemption

object

No

This list that identifies if the balance is available for redemption to exchange to loyalty rewards or payments

customers.balance.balance_redemption.type

string

No

The redemption type.

The available values is: Redemption for currency.

customers.balance.balance_redemption.currency_code

string

No

The currency of the redemption. For example, USD.

customers.balance.balance_redemption.available_monetary_balance

number

No

The available monetary balance. This value can be an equivalent of the balance as well as available monetary balance if only a part of the balance is available for the redemption.

customers.information.terms_and_conditions_confirmed

boolean

No

A flag that indicates whether a customer agreed to the terms and conditions.

true - The customer agreed to the terms and conditions.

false - The customer did not agree to the terms and conditions.

ValidatedRewardsResponseBody

Field Name

Type

Required

Description

rewards_data.validated_rewards[].reward_id

string

Yes

The reward identifier

rewards_data.validated_rewards[].offer_id

string

Yes

The identifier of the matching offer

rewards_data.validated_rewards[].name

string

Yes

The reward name

rewards_data.validated_rewards[].quantity_redeemed

number

Yes

The reward quantity

rewards_data.validated_rewards[].amount

number

Yes

The reward discount amount

rewards_data.validated_rewards[].apply_automatically

boolean

Yes

The flag that identifies if the reward should be applied automatically.

Note

These rewards cannot be removed from the order.

rewards_data.validated_rewards[].calculated_by

string

Yes

Indicates the party responsible for the loyalty rewards.

This should be set to "provider" when the loyalty rewards are calculated and validated by a loyalty provider.

This should be set to "client" when the loyalty rewards are calculated and validated by us.

Note

For this type of integration, the value should be set to "provider."

rewards_data.validated_rewards[].program_id

string

No

The reward's program identifier

rewards_data.validated_rewards[].rewarded_items

list {object}

No

Available for the item-level discounts only, and contains the list of items to which the discount should be applied

rewards_data.validated_rewards[].rewarded_items.name

string

Yes

The item name

rewards_data.validated_rewards[].rewarded_items.quantity

number

Yes

The item quantity

rewards_data.validated_rewards[].rewarded_items.amount

number

Yes

The item amount

rewards_data.validated_rewards[].rewarded_items.id

string

Yes

The item identifier

rewards_data.validated_rewards[].rewarded_items.item_id

string

No

The unique item identifier in the order. The identifier should match the order_item_id value of the item in the request.

DeclinedRewardsResponseBody

Field Name

Type

Required

Description

rewards_data.declined_rewards[].amount

number

Yes

The declined reward amount value.

  • IdentifyCustomers: The value is optional since the reward has not been validated.

  • RedeemReward: The value is required for the system to identify the declined reward if there are multiple, same rewards added to the order.

rewards_data.declined_rewards[].name

string

Yes

The declined reward name

rewards_data.declined_rewards[].reward_id

string

Yes

The declined reward identifier

rewards_data.declined_rewards[].offer_id

string

Yes

The identifier of the matching offer

rewards_data.declined_rewards[].program_id

string

No

The declined reward's program identification

rewards_data.declined_rewards[].calculated_by

string

Yes

Indicates the party responsible for the loyalty rewards.

This should be set to "provider" when the loyalty rewards are calculated and validated by a loyalty provider.

This should be set to "client" when the loyalty rewards are calculated and validated by us.

Note

For this type of integration, the value should be set to "provider."

rewards_data.declined_rewards[].error

object

Yes

The declined reward error details

rewards_data.declined_rewards[].error.error_code

string

Yes

The error HTTP code

rewards_data.declined_rewards[].error.error_message

string

Yes

The error message

RedeemedRewardsResponseBody

Field Name

Type

Required

Description

rewards_data.redeemed_rewards[].reward_id

string

Yes

The reward identifier

rewards_data.redeemed_rewards[].name

string

Yes

The reward name

rewards_data.redeemed_rewards[].quantity_redeemed

number

Yes

The reward quantity

rewards_data.redeemed_rewards[].amount

number

Yes

The reward discount amount

rewards_data.redeemed_rewards[].apply_automatically

boolean

Yes

The flag that identifies if the reward should be applied automatically.

Note

These rewards cannot be removed from the order.

rewards_data.redeemed_rewards[].redemption_code

string

No

The reward redemption identifier

rewards_data.redeemed_rewards[].program_id

string

No

The reward's program identifier

rewards_data.redeemed_rewards[].rewarded_items

list {object}

No

Available for the item-level discounts only, and contains the list of items to which the discount should be applied

rewards_data.redeemed_rewards[].rewarded_items.name

string

Yes

The item name

rewards_data.redeemed_rewards[].rewarded_items.quantity

number

Yes

The item quantity

rewards_data.redeemed_rewards[].rewarded_items.amount

number

Yes

The item amount

rewards_data.redeemed_rewards[].rewarded_items.id

string

Yes

The item identifier

rewards_data.redeemed_rewards[].rewarded_items.item_id

string

No

The unique item identifier in the order. The identifier should match the order_item_id value of the item in the request.

rewards_data.redeemed_rewards[].transaction_id

string

No

The redemption transaction identifier, if the rewards were redeemed one by one

ReceiptResponseBody

Field Name

Type

Required

Description

receipt.balance

list {object}

No

The list of customer's loyalty balances that should be printed on a receipt. For example, points or visits.

receipt.balance[].balance

string

No

The customer's loyalty balance

receipt.balance[].name

string

No

The loyalty balance's name. For example, Points.

receipt.balance[].type

string

No

The loyalty balance type

receipt.balance[].points_redeemed

string

No

The amount of points redeemed in the current transaction

receipt.balance[].points_earned

string

No

The amount of points earned in the current transaction

receipt.balance[].expiration_dates

list {object}

No

The loyalty balance expiration dates

customers.balance[].expiration_dates[].expiration_date

string

No

The loyalty balance expiration date

receipt.balance[].expiration_dates[].points_quantity

string

No

The balance amount to be expired

receipt.customer_name

string

No

The loyalty customer's name

receipt.loyalty_card_number

string

No

The customer's loyalty card number

receipt.messages

array

No

The receipt messages

receipt.loyalty_messages

list {object}

No

The receipt loyalty footer and header messages

receipt.loyalty_messages[].type

string (enum)

No

The type of the message. The possible values are as follows:

  • header

  • footer

receipt.loyalty_messages[].text

string

No

The text of the message

receipt.loyalty_id

string

No

The loyalty account identifier

receipt.receipt_code

string

No

The loyalty receipt code

receipt.rewards

list {object}

No

The list of loyalty rewards available on the customer's balance

receipt.rewards[].id

string

No

The reward identification value

receipt.rewards[].name

string

No

The reward name

receipt.rewards[].balance

string

No

The reward quantity

receipt.rewards[].status

string

No

The reward status

receipt.rewards[].associated_points

string

No

The amount of points associated with the reward

receipt.rewards[].expiration_dates

list {object}

No

The reward expiration dates

receipt.rewards[].expiration_dates[].expiration_date

string

No

The reward expiration date

receipt.rewards[].expiration_dates[].points_quantity

string

No

The total number of rewards to expire

BalanceResponseBody

Field Name

Type

Required

Description

balance[].balance

string

No

The customer's loyalty balance

balance[].name

string

No

The loyalty balance's name. For example, Points.

balance[].type

string

No

The loyalty balance type

balance[].expiration_dates

list {object}

No

The loyalty balance expiration dates

balance[].expiration_dates[].expiration_date

string

No

The loyalty balance expiration date

balance[].expiration_dates[].points_quantity

string

No

The balance amount to be expired

CardsResponseBody

Field Name

Type

Required

Description

customers.cards[].card_number

string

No

The customer's stored value account or card number

customers.cards[].card_balance

string

No

The customer's stored value account or card balance

InformationResponseBody

Field Name

Type

Required

Description

customers.information.id

string

No

The customer identification value

customers.information.loyalty_card_number

string

No

The customer's loyalty card or account number

customers.information.first_name

string

No

The customer's first name

customers.information.last_name

string

No

The customer's last name

customers.information.email

string

No

The customer's email

customers.information.phone

string

No

The customer's phone number

customers.information.birth_date

string

No

The customer's birth date

customers.information.address

string

No

The customer's address information

customers.information.address.address_1

string

No

The customer's main address

customers.information.address.address_2

string

No

The customer's additional address information

customers.information.address.address_3

string

No

The customer's additional address information

customers.information.address.city

string

No

The customer's city location

customers.information.address.instructions

string

No

The customer's address instructions

customers.information.address.state

string

No

The customer's state location

customers.information.address.zip_code

string

No

The customer's zip code location

customers.information.preferred_tips

list {object}

No

The list of customer's preselected tips

customers.information.preferred_tips[].calc_method

string (enum)

No

The customer's preselected tips calculation method. The possible values are as follows:

  • fixed_amount

  • percent

customers.information.preferred_tips[].order_amount

string

No

The order total amount threshold

customers.information.preferred_tips[].value

string

No

The tip amount to be added to the order

CustomerRewardsResponseBody

Field Name

Type

Required

Description

customer.rewards

object

No

The list of rewards available on the customer's balance

customer.rewards.id

string

Yes

The reward identification value

customer.rewards.name

string

Yes

The reward name

customer.rewards.balance

number

Yes

The reward quantity

customer.rewards.apply_automatically

boolean

Yes

The flag that indicates whether the reward should be applied automatically.

These rewards cannot be removed from the order.

customer.rewards.status

string

No

The reward status

customer.rewards.calculated_by

string

Yes

This field indicates the party responsible for the loyalty rewards.

This value should be set to provider when the loyalty rewards are calculated and validated by a loyalty provider.

customer.rewards.discount_code

string

Yes

The reward code that matches the reward code in our system

customer.rewards.program_id

string

No

The reward's program identifier (ID)

customer.rewards.reward_type

string

No

The reward type

customer.rewards.associated_points

number

No

The amount of points associated with the reward

customer.rewards.promoted

boolean

No

The flag that indicates whether the reward is promoted by a provider and should be shown in a promoted category

customer.rewards.promotion_type

string

No

The additional reward type. For example, Birthday Reward or Anniversary Reward.

customer.rewards.qualified

boolean

No

The flag that indicates whether the reward is applicable to the current order

customer.rewards.expiration_dates

object

No

The list of reward expiration dates

customer.rewards.expiration_dates[].expiration_date

string

No

The reward expiration date

customer.rewards.expiration_dates.points_quantity

number

No

The total number of rewards to expire