/member/update
Description
This API call is used to update a loyalty member’s profile details, including contact information, communication preferences, and consent attributes.
Purpose
- To update a member's name, contact info, or birthday
- To modify communication and GDPR consents
- To keep the profile data accurate and current
When to Use
- When the cashier or user edits profile data
- After registration, to complete or adjust the member profile
- During loyalty audits or member requests for updates
Request Format
| Field | Description | Type | Mandatory |
|---|---|---|---|
| member | Existing member identifier | Member | Y |
| newMemberData | Fields to be updated for the member profile | Member | Y |
Method & URL
POST /member/update
Headers
| Header | Type | Required | Description |
|---|---|---|---|
x-api-key | string | Yes | API key for authentication |
x-source-type | string | Yes | Source type (e.g., POS, Web, Kiosk) |
x-source-name | string | Yes | Client or integration source name |
x-pos-id | string | Yes | Unique POS terminal identifier |
x-branch-id | string | Yes | Identifier of the branch or location |
Request Example
curl --location --request POST 'https://dev-pos-api.fidelizacion.app/v1/member/update' \
--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' \
--data-raw '{
"member": {
"phoneNumber": "1234567890"
},
"newMemberData": {
"email": "updated@example.com",
"firstName": "UpdatedName",
"lastName": "UpdatedLast",
"allowedSMS": false,
"allowedEmail": true,
"termsOfUse": true,
"gdpr": true,
"birthday": "1992-05-12"
}
}'
Success Response
{
"status": "success",
"message": "Member updated successfully",
"data": {
"memberId": "mem_001"
}
}
Error Responses
Member Not Found
{
"status": "error",
"error": {
"code": "203",
"message": "Cannot find any member with the given identifier!"
}
}
Invalid Input
{
"status": "error",
"error": {
"code": "1001",
"message": "phoneNumber is not allowed",
"path": "body.phoneNumber"
}
}
Field Reference
| Field | Type | Description |
|---|---|---|
member | object | Object to identify the existing member |
phoneNumber | string | Member's current phone number used for lookup |
newMemberData | object | Object containing fields to update |
email | string | New email address |
firstName | string | New first name |
lastName | string | New last name |
allowedSMS | boolean | Consent to receive SMS |
allowedEmail | boolean | Consent to receive emails |
gdpr | boolean | Member has accepted GDPR terms |
termsOfUse | boolean | Member has accepted terms of use |
birthday | string | Member birthday in YYYY-MM-DD format |