Skip to main content

/member/details

Description​

This API call is used to verify the customer is a loyalty member, retrieve their member details (name, balance, etc.), and optionally evaluate their transaction context for benefits and redeemable assets.

Purpose​

  • To verify if a customer is a registered loyalty member
  • To display member information, balances, and gift list
  • To preview benefits or discounts before finalizing a purchase

When to Use​

  • To display member profile before or during checkout
  • To fetch up-to-date balances and gift eligibility
  • To run a preview of discounts on a draft transaction

Request Format​

Method & URL​

POST /member/details

See API Servers for the base URL to use for your brand (the example below uses a fixed dev URL for illustration).

Headers​

HeaderTypeRequiredDescription
x-api-keystringYesAPI key used to authenticate the request
x-source-typestringYesOrigin of the request (e.g., POS, Web)
x-source-namestringYesName of the client or integration
x-pos-idstringYesUnique identifier of the POS terminal
x-branch-idstringYesIdentifier of the branch where the request originates
x-return-assetsstringNoFilter assets by status: active, inactive, all
x-return-benefitsbooleanNoSet to true or false to trigger benefit calculation (default: false)

Request Body​

FieldDescriptionTypeMandatory
memberObject representing a member’s identifierMemberY
transactionCustomer’s transaction detailsTransactionN

Request Example​

Short Instance - Just for Identification​

curl --location --request POST 'https://dev-pos-api.fidelizacion.app/v1/member/details' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {{api-key}}' \
--header 'x-source-type: POS' \
--header 'x-source-name: pos_terminal_01' \
--header 'x-pos-id: POS001' \
--header 'x-branch-id: BR001' \
--header 'x-return-assets: active' \
--header 'x-return-benefits: false' \
--data-raw '{
"member": {
"phoneNumber": "123456789"
}
}'

Long Instance - Identification + Transaction Preview​

curl --location --request POST 'https://dev-pos-api.fidelizacion.app/v1/member/details' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {{api-key}}' \
--header 'x-source-type: POS' \
--header 'x-source-name: pos_terminal_01' \
--header 'x-pos-id: POS001' \
--header 'x-branch-id: BR001' \
--header 'x-return-assets: active' \
--header 'x-return-benefits: true' \
--data-raw '{
"member": {
"phoneNumber": "123456789"
},
"transaction": {
"transactionId": "TX-DEMO-01",
"dateTime": "2025-06-17T18:30:00Z",
"totalAmount": 1500,
"items": [
{
"lineId": "1",
"code": "LATTE001",
"name": "Latte",
"departmentCode": "DRINKS",
"departmentName": "Beverages",
"quantity": 1,
"subtotal": 1500,
"total": 1500
}
],
"payments": [
{
"type": "CASH",
"amount": 1500
}
],
"employee": "Demo Cashier"
},
"usedAssets": []
}'

Success Response​

FieldDescriptionType
statusIndicates request statusstring
memberMember objectobject
avaliableDeals(Conditional) Present when x-return-benefits: true. Field name matches the live API exactly — not a documentation typoarray
usedAssets(Conditional) Computed array, present when the request includes a usedAssets arrayarray
{
"status": "success",
"member": {
"status": "active",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "123456789",
"email": "member@example.com",
"gdpr": true,
"termsOfUse": true,
"tags": [],
"preferredLanguage": "en",
"birthday": "1991-02-26T00:00:00.000Z",
"cardNumber": "1234567890123456",
"visit": 0,
"totalSpent": 0,
"customFields": {},
"membershipKey": "0fe31b8b-5ad5-48af-81e9-4adc7d596042",
"commonExtId": "0fe31b8b-5ad5-48af-81e9-4adc7d596042",
"businessId": 7,
"allowedSMS": true,
"allowedEmail": true,
"allowedPush": false,
"points": {
"balance": 0,
"useForPayments": false
},
"credit": {
"balance": 0,
"useForPayments": true
},
"assets": [
{
"campaignId": "6a21b682bd293321900aad44",
"assetKey": "6OtRspANcZcM87WSEWHz",
"assignDate": "2025-02-01T09:01:02.123Z",
"status": "active",
"validFrom": "2025-11-09T23:00:00.000Z",
"validUntil": "2030-11-10T22:59:59.999Z",
"assetDetails": {
"campaignId": "6a21b682bd293321900aad44",
"kind": "gift",
"name": "Buy 1 Get 1 Free",
"description": "Buy any coffee and get another one for free. Valid for all coffee drinks.",
"image": "https://vault.uye.app/hub/assets/basicGift.png"
}
},
{
"campaignId": "6a21b689ee4835acd16acf41",
"assetKey": "4r5zcgpt9HYnEkOcCWNc",
"assignDate": "2025-01-01T09:01:02.123Z",
"status": "inactive",
"validFrom": "2024-12-31T23:00:00.000Z",
"validUntil": "2030-12-30T22:59:59.999Z",
"assetDetails": {
"campaignId": "6a21b689ee4835acd16acf41",
"kind": "gift",
"name": "Free Cookie",
"description": "Get a free cookie with any purchase. Valid for all items.",
"image": "https://vault.uye.app/hub/assets/basicGift.png"
}
}
],
"behaviors": {
"favouriteItems": [],
"favouriteBranch": {
"branchId": "BR001",
"name": "BRANCH-01"
}
},
"registeredAt": "2024-06-20T13:34:56.045Z"
}
}

Benefits Preview Response (x-return-benefits: true)​

When x-return-benefits: true is set, the response adds avaliableDeals. When the request also includes a usedAssets array, the response adds a computed usedAssets array.

{
"status": "success",
"member": {
"membershipKey": "0fe31b8b-5ad5-48af-81e9-4adc7d596042",
"points": { "balance": 0, "useForPayments": false },
"credit": { "balance": 0, "useForPayments": true }
},
"avaliableDeals": [],
"usedAssets": []
}
  • avaliableDeals — field name matches the live API exactly (avaliableDeals, not availableDeals) — do not correct the spelling in requests or docs.
  • usedAssets (response) — computed array, present when the request's usedAssets is present.
  • Requesting x-return-benefits: true without a transaction in the request body returns error 303 — see Error Codes.

Error Response​

FieldDescriptionType
statusError status indicatorstring
errorError objectobject
{
"status": "error",
"error": {
"code": "203",
"message": "Cannot find any member with the given identifier!"
}
}

Error Codes​

CodeDescription
101Missing X-Api-Key
102Missing X-Source-Type
103Missing X-Source-Name
104Missing X-Pos-Id
105Missing X-Branch-Id
201Invalid X-Return-Assets value
202Invalid X-Return-Benefits value
203Member not found
303Transaction required to calculate benefits

Field Reference​

Member Object​

For detailed information about the member response fields, see the Member reference page.

The preferredLanguage field is returned as an ISO 639-1 two-letter code — the primary language subtag of a BCP 47 tag (e.g. en, es, ca).

Asset Object​

The assets array in the member response contains Asset objects, which represent redeemable promotional items and benefits assigned to the member. Each asset includes:

  • campaignId — Unique identifier of the issuing campaign
  • assetKey — Unique identifier of this specific asset instance
  • assignDate — When the asset was assigned to the member
  • status — Asset status ("active" or "inactive")
  • validFrom / validUntil — Validity date range (ISO 8601)
  • assetDetails — Campaign metadata including name, description, and image

For comprehensive field documentation and examples, refer to the Asset reference page.

Transaction Object​

For detailed information about the transaction request fields, see the Transaction reference page.