/member/register
Overview
This endpoint is used to register a new user into the loyalty program by collecting required personal data and consent flags.
When to Use This Endpoint
Use this endpoint during the first interaction with a customer when:
- A customer opts into the loyalty program
- A user signs up via POS, kiosk, or an online interface
Key Considerations
- An SMS or email may be triggered automatically for confirmation or consent
- All required consents (e.g., Terms of Use, GDPR) must be collected at registration time
- Use this call to capture and store the user's communication preferences from the start
Request Details
| Field | Description | Type | Mandatory |
|---|---|---|---|
| phoneNumber | Phone number of the new member | Member | Y |
| Email address | Member | Y | |
| firstName | First name | Member | Y |
| lastName | Last name | Member | Y |
| allowedSMS | Consent to receive SMS | Member | Y |
| allowedEmail | Consent to receive email | Member | Y |
| termsOfUse | Terms of use accepted | Member | Y |
| gdpr | GDPR consent | Member | Y |
| birthday | Member's date of birth | Member | Y |
Method & URL
POST /member/register
Headers
| Header | Type | Required | Description |
|---|---|---|---|
x-api-key | string | Yes | API key used for authentication |
x-source-type | string | Yes | Origin of the request (POS, Web, Kiosk, etc.) |
x-source-name | string | Yes | Name of the client or integration system |
x-pos-id | string | Yes | Unique POS terminal identifier |
x-branch-id | string | Yes | Identifier for the business branch or location |
Request Example
curl --location --request POST 'https://dev-pos-api.fidelizacion.app/v1/member/register' \
--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 '{
"phoneNumber": "1234567890",
"email": "member@example.com",
"firstName": "John",
"lastName": "Doe",
"allowedSMS": true,
"allowedEmail": true,
"termsOfUse": true,
"gdpr": true,
"birthday": "1990-01-01"
}'
Success Response
{
"status": "success",
"data": {
"member": {
"phoneNumber": "1234567890",
"email": "member@example.com",
"firstName": "John",
"lastName": "Doe",
"allowedSMS": true,
"allowedEmail": true,
"termsOfUse": true,
"gdpr": true,
"birthday": "1990-01-01"
}
}
}
Error Response Examples
Missing Required Field
{
"status": "error",
"error": {
"code": "1001",
"message": "Missing required field: phoneNumber"
}
}
Member Already Exists
{
"status": "error",
"error": {
"code": "211",
"message": "Member already exists with the same phone number or email!"
}
}
Field Reference
| Field | Type | Description |
|---|---|---|
phoneNumber | string | Phone number of the new member |
email | string | Email address of the new member |
firstName | string | First name |
lastName | string | Last name |
allowedSMS | boolean | Consent to receive SMS |
allowedEmail | boolean | Consent to receive email |
termsOfUse | boolean | Indicates if terms of use were accepted |
gdpr | boolean | Indicates if GDPR consent was given |
birthday | string | Birthday in ISO format (YYYY-MM-DD) |
Related Use Cases
- Registering a new customer during checkout or onboarding
- Capturing communication and consent preferences on initial interaction
- Enabling future access to loyalty features such as
/member/detailsand/payment