Skip to main content

Member

Overview​

The member object identifies a participant in the loyalty program. It is used across endpoints to reference, register, update, or authenticate members using supported identifiers.

When to Use This Object​

Include the member object in your request payload when:

  • You need to associate an operation with a specific loyalty user
  • Identifying a user by phone number, email, or membership key
  • Performing lookups, updates, transactions, or benefit calculations

This object is required or optional in the following endpoints:

  • /member/register
  • /member/update
  • /member/details
  • /member/shortCode
  • /payment
  • /transaction
  • /event

Supported Identifiers​

At least one of the following fields must be included. You can provide more than one to improve accuracy.

FieldTypeDescription
membershipKeystringInternal membership key
commonExtIdstringExternal/common identifier
shortCodestringTemporary short code
temporaryTokenstringTemporary JWT token
phoneNumberstringMember phone number (e.g., "1234567890")
emailstringMember email address
cardNumberstringPhysical card number
customIdentifierstringCustom business-defined identifier
info

Do not include null or empty strings. Send only valid, populated fields.

Single Identifier Example​

{
"member": {
"phoneNumber": "1234567890"
}
}

Member in Transaction Context​

This is how the member object is typically used inside a request payload:

{
"member": {
"phoneNumber": "1234567890"
},
"payment": {
"action": "pay",
"amount": 1000
}
}

Member Response Object​

When an endpoint returns a member (for example /member/details), the full member profile is included in the response. The fields below describe that returned object. For a complete payload, see the /member/details response example.

FieldTypeDescription
membershipKeystringInternal membership key
commonExtIdstringExternal/common identifier
businessIdnumberIdentifier of the business (tenant) the member belongs to
statusstringMember status (e.g., "active")
firstNamestringMember's first name
lastNamestringMember's last name
phoneNumberstringMember's phone number
emailstringMember's email address
cardNumberstringPhysical card number
birthdaystringMember's date of birth (ISO 8601)
preferredLanguagestringPreferred language as an ISO 639-1 two-letter code — the primary language subtag of a BCP 47 tag (e.g. en, es, ca)
gdprbooleanGDPR consent accepted
termsOfUsebooleanTerms of use accepted
allowedSMSbooleanConsent to receive SMS
allowedEmailbooleanConsent to receive emails
allowedPushbooleanConsent to receive push notifications
tagsarrayMember-level tags
customFieldsobjectBusiness-defined custom key-value pairs
visitintegerTotal number of visits/transactions
totalSpentnumberCumulative spend amount
pointsobjectPoints balance (see below)
creditobjectCredit balance (see below)
assetsarrayAsset objects assigned to the member
behaviorsobjectTracked member behavior data (see below)
regSourceNamestringSource system name the member registered from (from x-source-name at registration)
regSourceTypestringSource type the member registered from (from x-source-type at registration)
registeredAtstringISO 8601 timestamp when the member was registered

behaviors Object​

FieldTypeDescription
favouriteItemsarrayMember's favourite items
favouriteBranchobjectMember's favourite branch (see below)
favouriteBranch.branchIdstringIdentifier of the branch
favouriteBranch.namestringDisplay name of the branch

points / credit Objects​

FieldTypeDescription
balancenumberCurrent balance of points or credit
useForPaymentsbooleanWhether the balance can be applied toward payments
note

The bulk /members endpoint returns a variant of this object with some renamed fields — for example allowSMS/allowEmail instead of allowedSMS/allowedEmail, pointsBalance/creditBalance (each split into monetary/nonMonetary) instead of points/credit, and createdAt/updatedAt instead of registeredAt. See that endpoint's own response fields for details.

Best Practices​

  • Always validate phone and email formats before sending
  • Avoid sending blank, null, or default placeholders
  • Use consistent identifiers across API calls to maintain traceability
  • Protect personal identifiers via HTTPS and authorization headers
  • newMemberData: Used for profile registration or updates
  • transaction: Used to log purchases and track itemized activity
  • event: Used to track member-related milestones and external actions
  • payment: Used for loyalty redemptions and cancellations