Skip to content

Enroll member

POST
/api/v2.0/stores/{storeId}/members/enroll
curl --request POST \
--url https://api.diller.app/api/v2.0/stores/your-store-id/members/enroll \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "phone": { "country_code": "example", "number": "example" }, "department_id": "example", "origin": { "system_id": "example", "employee_id": "example", "department_id": "example", "department_name": "example", "channel": "example" }, "additional_info": { "first_name": "example", "last_name": "example", "email": "example", "address": { "street": "example", "city": "example", "zip_code": "example", "state": "example", "country_code": "example" }, "birth_date": "2026-09-11T12:34:49", "gender": "Male", "additional_identifiers": [ "example" ], "identifiers": [ { "type_id": 1, "value": "example" } ], "card_info": { "identifier": "example", "brand": "example", "expiry_date": "example" } } }'

Enrolls a member into the Loyalty Program. This will create a new member in the system and send an activation link via SMS to the member. If the member already exists, and GDPR is not accepted yet then a new activation link will be sent. If the store does not have SMS enabled, the activation link will be sent by email.

storeId
required
string
Example
your-store-id
object
phone
required
object
country_code
required
string
>= 1 characters
number
required
string
>= 1 characters
department_id
required
string
>= 1 characters
origin

Represents the origin of the request, by department, employee, system id and channel. Eg. Employee John Doe at Pos number 10 in the store department “New York” submitted this request.

object
system_id
string
nullable
employee_id

The id for of the operator that made the request (if applicable)

string
nullable
department_id
string
nullable
department_name
string
nullable
channel

Represents the business channel through which the API call occurred. It accepts ‘POS’ for Point-of-Sale systems and ‘OnlineStore’ for online stores. When the channel is empty or not recognized, it defaults to ‘POS’.

string
nullable
additional_info
object
first_name
string
nullable
last_name
string
nullable
email
string
nullable
address
object
street
string
nullable
city
string
nullable
zip_code
string
nullable
state
string
nullable
country_code

The alpha-2 code of country

string
nullable
birth_date
string format: date-time
nullable
Example
2026-09-11T12:34:49
gender

Valid options: Male - Female - NotShared - When the member didn’t want to share their gender NonBinary - When a member does not fit into the categories of ‘man’ or ‘woman’

string
Allowed values: Male Female NotShared NonBinary
additional_identifiers

DEPRECATED: Start using the ‘Identifiers’ property instead

Array<string>
nullable
identifiers

Specifies additional identifiers for the member

Array<object>
nullable
object
type_id
integer format: int32
value

Represents the value by which a member can be searched

string
nullable
card_info
object
identifier
string
nullable
brand
string
nullable
expiry_date

Card expiration date in format “YY-MM”

string
nullable

OK

Media typeapplication/json
object
id
string
nullable
first_name
string
nullable
last_name
string
nullable
email
string
nullable
additional_identifiers

DEPRECATED: Start using the ‘Identifiers’ endpoints instead

Array<string>
nullable
identifiers
Array<object>
nullable
object
id
integer format: int32
type_id
integer format: int32
type
string
nullable
value
string
nullable
remarks
string
nullable
phone
object
country_code
required
string
>= 1 characters
number
required
string
>= 1 characters
birth_date
string format: date-time
nullable
address
object
street
string
nullable
city
string
nullable
zip_code
string
nullable
state
string
nullable
country_code

The alpha-2 code of country

string
nullable
gender
required
string
Allowed values: Male Female NotShared NonBinary
consent
object
gdpr_accepted

True if the member has accepted the GDPR. False otherwise.

boolean
save_order_history

True if member has authorized to save order history e.g. transaction details about their purchases.

boolean
receive_sms

True if the member has authorized the sending of promotional SMS. False otherwise.

boolean
receive_email

True if the member has authorized the sending of promotional Emails. False otherwise.

boolean
membership_detail
object
points
number format: double
qualification_points
number format: double
pending_points
number format: double
remaining_points
number format: double
level_title
string
nullable
next_level_title
string
nullable
next_level_points
number format: double
level_expire_date
string format: date-time
nullable
department_ids
Array<string>
nullable
segments
Array<object>
nullable
object
id
integer format: int32
text
string
nullable
type
required
string
Allowed values: Text DateTime Radio Checkbox Dropdown
is_visible_to_follower
boolean
is_required
boolean
value

Use value when segment type is Date or Text

string
nullable
selected_options

Use SelectedOptions when segment type is Radio, Combobox or Dropbox

Array<integer>
nullable
has_wallet_pass
boolean
Example
{
"birth_date": "2026-09-11T12:34:49",
"gender": "Male",
"membership_detail": {
"level_expire_date": "2026-09-11T12:34:49"
},
"segments": [
{
"type": "Text"
}
]
}

Bad Request

Media typeapplication/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
errors
object
key
additional properties
Array<string>
key
additional properties
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}