CRM NX API (1.0.0)

Download OpenAPI specification:Download

Services for CPR Vision's headless CRM.

Profilers

Create new or return existing CUID, RUID, or GDIDs

Find Profile IDs

Find all profile IDs (CUID, RUID, GDID) based on a given customer attributes. The result is limited to the access token's values for crmnx_client_code, crmnx_brand_code, crmnx_country_code.

Authorizations:
OAuth2
query Parameters
nationalId
string

Filter results by national ID.

email
string

Filter results by email.

mobileCc
string

Filter results by mobile country code

mobile
string

Filter results by mobile number without country code.

phone
string

Filter results by phone number without country code.

firstName
string

Filter results by first name.

lastName
string

Filter results by last name.

birthYear
number

Filter results by birth year.

birthMonth
number

Filter results by birth month numeric value, 1 for January, 2 for February, etc.

birthDay
number

Filter results by birth day, 1 to 31

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "OK",
  • "results": [ ],
  • "result": [
    ]
}

Create or Initialize Profile ID

Create or initialize profile ID (CUID, RUID, GDID). The result is limited to the access token's values for crmnx_client_code, crmnx_brand_code, crmnx_country_code.

Authorizations:
OAuth2
Request Body schema: application/json

Request body

profileUqId
string

Custom profiler unique ID (CUID/RUID/GDID)

nationalId
string

National ID

email
string

Email

mobileCc
string

Mobile country code

mobile
string

Mobile number without country code

phone
string

Phone number without country code

firstName
string

First name

lastName
string

Last name

birthYear
number

Birth year

birthMonth
number

Birth month numeric value, 1 for January, 2 for February, etc

birthDay
number

Birth day, 1 to 31

consumerType
string

Consumer type

employeeId
string

Employee ID

sourceSystemId
string

Source system ID

sourceRecordId
string

Source record ID

customCode
string

Source custom code

creationLocationId
string

Creation location ID

creationBAid
string

Creation BA ID

creationDate
string <date-time>

Creation date and time

Responses

Request samples

Content type
application/json
{
  • "profileUqId": "EMPTEST0001",
  • "nationalId": "ABCD0001",
  • "email": "john@acme.com",
  • "mobileCc": "65",
  • "mobile": "98765432",
  • "phone": "87654321",
  • "firstName": "John",
  • "lastName": "Appleseed",
  • "birthYear": 1990,
  • "birthMonth": 1,
  • "birthDay": 1,
  • "consumerType": 1,
  • "employeeId": "EMPTEST0001",
  • "sourceSystemId": "SYS123",
  • "sourceRecordId": "REC123",
  • "customCode": "CUST123",
  • "creationLocationId": "LOC123",
  • "creationBAid": "BA123",
  • "creationDate": "2022-01-20T15:45:00.000+00:00"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "OK",
  • "results": [ ],
  • "result": {
    }
}

Delete profiler mapping for a given customer

Delete profiler mapping (CUID, RUID, GDID) for a given customer ID within the context of the brand specified in the URL.

Authorizations:
OAuth2
Request Body schema: application/json

Request body

crmCustId
string

Customer Id

Responses

Request samples

Content type
application/json
{
  • "crmCustId": "100"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Successfully deleted the profiler mapping",
  • "result": {
    }
}

Get Profile by ID

Get profile by ID (CUID, RUID, GDID). The result is limited to the access token's values for crmnx_client_code, crmnx_brand_code, crmnx_country_code.

Authorizations:
OAuth2
path Parameters
id
required
string

Profile ID (CUID, RUID, GDID)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "OK",
  • "results": [ ],
  • "result": {
    }
}

Customers

Get Customers

Get all customers based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
cuid
string

Filter results by CUID.

type
string

Filter results by type.

username
string

Filter results by username.

lastName
string

Filter results by last name.

firstName
string

Filter results by first name.

email
string

Filter results by email.

mobileNo
string

Filter results by mobile No.

mobileCc
string

Filter results by mobile Cc.

nationalityId
number

Filter results by nationalityId.

birthDate
string <date>

Filter results by birthDate.

orgId1
string

Filter results by orgId1.

orgId2
string

Filter results by orgId2.

orgId3
string

Filter results by orgId3.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customers.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer

Create a new Customer

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new customer

type
integer
Default: 1
subType
integer
Default: 1
statusId
integer
Enum: 0 1 9

The customer's status:

  • 1 active
  • 0 inactive
  • 9 deleted (anonymous)
orgId1
string

The original customer ID 1 in the source system. e.g. marsid

orgId2
string

The original customer ID 2 in the source system. e.g. marsid

orgId3
string

The original customer ID 3 in the source system. e.g. marsid

email
string <= 250 characters

The customer's email.

mobileNo
string <= 50 characters

The customer's mobile number.

mobileCc
string <= 5 characters

The customer's mobile number's country calling code.

firstName
string <= 100 characters

The customer's first name.

midName
string <= 100 characters

The customer's middle name.

lastName
string <= 100 characters

The customer's last name.

fullName
string <= 250 characters

The customer's full name.

birthdate
string <date>

The customer's birth date.

gender
string <= 1 characters
Enum: "F" "M" "O"

The customer's gender:

  • F Female
  • M Male
  • O Others
username
string <= 100 characters

The customer's username.

nationalityId
integer

The customer's nationality ID.

idNo1
string <= 50 characters

The customer's ID number. e.g. NRIC

idNo2
string <= 50 characters

The customer's ID number. e.g. Passport

idNo3
string <= 50 characters

The customer's ID number.

prefContactMethod
integer

The customer's preferred contact method.

prefContactNo
integer

The customer's preferred contact number.

prefAddress
integer

The customer's preferred address.

prefLanguage
integer

The customer's preferred language.

text1
string <= 250 characters

Additional custom text to store.

text2
string <= 250 characters

Additional custom text to store.

text3
string <= 250 characters

Additional custom text to store.

text4
string <= 250 characters

Additional custom text to store.

text5
string <= 250 characters

Additional custom text to store.

text6
string <= 250 characters

Additional custom text to store.

text7
string <= 250 characters

Additional custom text to store.

text8
string <= 250 characters

Additional custom text to store.

text9
string <= 250 characters

Additional custom text to store.

text10
string <= 250 characters

Additional custom text to store.

text11
string <= 250 characters

Additional custom text to store customer's salutation.

text12
string <= 250 characters

Additional custom text to store.

text13
string <= 250 characters

Additional custom text to store.

text14
string <= 250 characters

Additional custom text to store.

text15
string <= 250 characters

Additional custom text to store.

text16
string <= 250 characters

Additional custom text to store.

text17
string <= 250 characters

Additional custom text to store.

text18
string <= 250 characters

Additional custom text to store.

text19
string <= 250 characters

Additional custom text to store.

text20
string <= 250 characters

Additional custom text to store.

orgCreateDate
string <date-time>

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The original username who created this resource in the source system.

orgLastModDate
string <date-time>

The last modified date of this resource in the source system.

orgLastModBy
integer <= 100 characters

The original username who last modified this resource in the source system.

createAt
integer

The outlet id where this resource was created.

createOutlet
string

The outlet code where this resource was created.

dataSource
string

The data source where this resource was created.

Array of objects (dataGroupsAbstract)

The data group where this resource to be grouped under.

traceId1
number
traceId2
number
createBy
integer

The user account id who created this resource.

lastModBy
integer

The user account id who last modified this resource.

password
string

The customer's password.

Responses

Request samples

Content type
application/json
{
  • "type": 1,
  • "subType": 1,
  • "statusId": 1,
  • "orgId1": "11",
  • "orgId2": "21",
  • "orgId3": "31",
  • "email": "john@acme.com",
  • "mobileNo": "98765432",
  • "mobileCc": "65",
  • "firstName": "John",
  • "midName": "Middleton",
  • "lastName": "Appleseed",
  • "fullName": "John Appleseed",
  • "birthdate": "2022-01-20",
  • "gender": "F",
  • "username": "john_appleseed",
  • "nationalityId": 1,
  • "idNo1": "S9876543A",
  • "idNo2": "E4829104",
  • "idNo3": "235903",
  • "prefContactMethod": 1,
  • "prefContactNo": 1,
  • "prefAddress": 1,
  • "prefLanguage": 1,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string",
  • "text6": "string",
  • "text7": "string",
  • "text8": "string",
  • "text9": "string",
  • "text10": "string",
  • "text11": "Mr.",
  • "text12": "string",
  • "text13": "string",
  • "text14": "string",
  • "text15": "string",
  • "text16": "string",
  • "text17": "string",
  • "text18": "string",
  • "text19": "string",
  • "text20": "string",
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnSmith",
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00",
  • "orgLastModBy": "JaneSmith",
  • "createAt": 12,
  • "createOutlet": "OL001",
  • "dataSource": "OL001",
  • "dataGroups": [
    ],
  • "traceId1": 1,
  • "traceId2": 1,
  • "createBy": 1,
  • "lastModBy": 1,
  • "password": "p4ssw0rd123!"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a Customer successfully!",
  • "result": { },
  • "results": {
    }
}

Validate Customer Credentials

validate customer credentials

Authorizations:
OAuth2
Request Body schema: application/json

User credentials for validating customer

username
required
string

The customer's username.

password
required
string

The customer's password.

Responses

Request samples

Content type
application/json
{
  • "username": "myusername",
  • "password": "p4ssw0rd123!"
}

Response samples

Content type
application/json
Example
{
  • "code": 200,
  • "message": "Valid credentials"
}

Get Customer

Get a customer by its identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer successfully!",
  • "result": { },
  • "results": {
    }
}

Update Customer

Update a customer by its identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to update customer by id.

type
integer
Default: 1
subType
integer
Default: 1
statusId
integer
Enum: 0 1 9

The customer's status:

  • 1 active
  • 0 inactive
  • 9 deleted (anonymous)
orgId1
string

The original customer ID 1 in the source system. e.g. marsid

orgId2
string

The original customer ID 2 in the source system. e.g. marsid

orgId3
string

The original customer ID 3 in the source system. e.g. marsid

email
string <= 250 characters

The customer's email.

mobileNo
string <= 50 characters

The customer's mobile number.

mobileCc
string <= 5 characters

The customer's mobile number's country calling code.

firstName
string <= 100 characters

The customer's first name.

midName
string <= 100 characters

The customer's middle name.

lastName
string <= 100 characters

The customer's last name.

fullName
string <= 250 characters

The customer's full name.

birthdate
string <date>

The customer's birth date.

gender
string <= 1 characters
Enum: "F" "M" "O"

The customer's gender:

  • F Female
  • M Male
  • O Others
username
string <= 100 characters

The customer's username.

nationalityId
integer

The customer's nationality ID.

idNo1
string <= 50 characters

The customer's ID number. e.g. NRIC

idNo2
string <= 50 characters

The customer's ID number. e.g. Passport

idNo3
string <= 50 characters

The customer's ID number.

prefContactMethod
integer

The customer's preferred contact method.

prefContactNo
integer

The customer's preferred contact number.

prefAddress
integer

The customer's preferred address.

prefLanguage
integer

The customer's preferred language.

text1
string <= 250 characters

Additional custom text to store.

text2
string <= 250 characters

Additional custom text to store.

text3
string <= 250 characters

Additional custom text to store.

text4
string <= 250 characters

Additional custom text to store.

text5
string <= 250 characters

Additional custom text to store.

text6
string <= 250 characters

Additional custom text to store.

text7
string <= 250 characters

Additional custom text to store.

text8
string <= 250 characters

Additional custom text to store.

text9
string <= 250 characters

Additional custom text to store.

text10
string <= 250 characters

Additional custom text to store.

text11
string <= 250 characters

Additional custom text to store customer's salutation.

text12
string <= 250 characters

Additional custom text to store.

text13
string <= 250 characters

Additional custom text to store.

text14
string <= 250 characters

Additional custom text to store.

text15
string <= 250 characters

Additional custom text to store.

text16
string <= 250 characters

Additional custom text to store.

text17
string <= 250 characters

Additional custom text to store.

text18
string <= 250 characters

Additional custom text to store.

text19
string <= 250 characters

Additional custom text to store.

text20
string <= 250 characters

Additional custom text to store.

orgCreateDate
string <date-time>

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The original username who created this resource in the source system.

orgLastModDate
string <date-time>

The last modified date of this resource in the source system.

orgLastModBy
integer <= 100 characters

The original username who last modified this resource in the source system.

createAt
integer

The outlet id where this resource was created.

createOutlet
string

The outlet code where this resource was created.

dataSource
string

The data source where this resource was created.

Array of objects (dataGroupsAbstract)

The data group where this resource to be grouped under.

traceId1
number
traceId2
number
createBy
integer

The user account id who created this resource.

lastModBy
integer

The user account id who last modified this resource.

password
string

The customer's password.

Responses

Request samples

Content type
application/json
{
  • "type": 1,
  • "subType": 1,
  • "statusId": 1,
  • "orgId1": "11",
  • "orgId2": "21",
  • "orgId3": "31",
  • "email": "john@acme.com",
  • "mobileNo": "98765432",
  • "mobileCc": "65",
  • "firstName": "John",
  • "midName": "Middleton",
  • "lastName": "Appleseed",
  • "fullName": "John Appleseed",
  • "birthdate": "2022-01-20",
  • "gender": "F",
  • "username": "john_appleseed",
  • "nationalityId": 1,
  • "idNo1": "S9876543A",
  • "idNo2": "E4829104",
  • "idNo3": "235903",
  • "prefContactMethod": 1,
  • "prefContactNo": 1,
  • "prefAddress": 1,
  • "prefLanguage": 1,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string",
  • "text6": "string",
  • "text7": "string",
  • "text8": "string",
  • "text9": "string",
  • "text10": "string",
  • "text11": "Mr.",
  • "text12": "string",
  • "text13": "string",
  • "text14": "string",
  • "text15": "string",
  • "text16": "string",
  • "text17": "string",
  • "text18": "string",
  • "text19": "string",
  • "text20": "string",
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnSmith",
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00",
  • "orgLastModBy": "JaneSmith",
  • "createAt": 12,
  • "createOutlet": "OL001",
  • "dataSource": "OL001",
  • "dataGroups": [
    ],
  • "traceId1": 1,
  • "traceId2": 1,
  • "createBy": 1,
  • "lastModBy": 1,
  • "password": "p4ssw0rd123!"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated Customer successfully!"
}

Delete Customer

Mark a customer by its identifier as deleted (statusId 9). This will also anoymise PII data related to the customer and the action is not reversible.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer successfully!"
}

Search Customers

Search for customers based on the provided criteria. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
Request Body schema: application/json

Request body to search customer

keyword
required
string

keyword to search for the customers

fields
required
Array of strings
Items Enum: "custId" "type" "subType" "orgId1" "orgId2" "orgId3" "email" "mobileCc" "mobileNo" "firstName" "midName" "lastName" "fullName" "birthdate" "gender" "nationalityId" "idNo1" "idNo2" "idNo3" "prefContactMethod" "prefContactNo" "prefAddress" "prefLanguage" "username" "orgCreateDate" "orgCreateBy" "orgLastModDate" "orgLastModBy" "createAt" "createOutlet" "traceId1" "traceId2" "createBy" "lastModBy" "createDate" "lastModDate" "text1" "text2" "text3" "text4" "text5" "text6" "text7" "text8" "text9" "text10" "text11" "text12" "text13" "text14" "text15" "text16" "text17" "text18" "text19" "text20" "statusId"

fields to search at

sort
Array of strings

sorting for the result

page
number
Default: 1

Search result page number.

pageSize
number
Default: 10

Search result page size.

Responses

Request samples

Content type
application/json
{
  • "keyword": "string",
  • "fields": [
    ],
  • "sort": [
    ],
  • "page": 1,
  • "pageSize": 10
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customers.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Customer Attributes

Get Customer Attributes

Get an existing customer's attributes.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Attributes for a Customer.",
  • "results": {
    },
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Attribute

Create a Customer's Attribute

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to create new customer attribute

sourceId
required
integer

The attribute's source identifier.

custId
integer

The customer's identifier.

firstName
string <= 100 characters

The customer's first name.

lastName
string <= 100 characters

The customer's last name.

fullName
string <= 200 characters

The customer's full name.

preferName
string <= 200 characters

The customer's prefered name.

email
string <= 100 characters

The customer's email.

text1
string <= 250 characters

The customer's additional custom text attribute.

text2
string <= 250 characters

The customer's additional custom text attribute.

text3
string <= 250 characters

The customer's additional custom text attribute.

text4
string <= 250 characters

The customer's additional custom text attribute.

text5
string <= 250 characters

The customer's additional custom text attribute.

Responses

Request samples

Content type
application/json
{
  • "sourceId": 12,
  • "custId": 12345,
  • "firstName": "John",
  • "lastName": "Appleseed",
  • "fullName": "John Appleseed",
  • "preferName": "John A.",
  • "email": "johnappleseed@gmail.com",
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Attribute successfully!",
  • "result": { },
  • "results": {
    }
}

Get Customer Attribute

Get an existing customer's attributes filtered by one attribute value.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

attributeId
required
string

The attribute identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer Attribute.",
  • "result": { },
  • "results": {
    }
}

Update Customer Attribute

Update a Customer's Attributes

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

attributeId
required
string

The attribute identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Customer Attribute Successfully!"
}

Delete Customer Attribute

Delete a Customer's Attributes

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

attributeId
required
string

The attribute identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer Attribute successfully!"
}

Customer Campaigns

Get Campaigns of a Customer

Get campaigns of a customer by the customer identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
statusId
integer
Enum: 0 1 2 11 12 21 22 31 41 51 52

Filter results by status:

  • 0: In Queue
  • 1: Not to Send
  • 2: Duplicate
  • 11: Sent
  • 12: Delivered
  • 21: Invalid
  • 22: Error
  • 31: Soft Bounce
  • 41: Hard Bounce
  • 51: Unsubscribed
  • 52: Respond
campaignId
integer

The campaign identifier

sendDateFrom
string

Filter results by senddate. Date format should be yyyy-MM-dd hh:mm:ss.

sendDateTo
string

Filter results by senddate. Date format should be yyyy-MM-dd hh:mm:ss.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Campaign Recipient successfully!",
  • "result": {
    }
}

Customer Calculated Attributes

Get Customer Calculated Attributes

Get an existing customer's calculated attributes.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Customer's calculated attributes.",
  • "result": { },
  • "results": {
    }
}

Customer Communications

Get Customer Communications

Get an existing customer's communications config with mode 3.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customer Communications Preferences.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Communication

Create a new customer's communications

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

Request Body schema: application/json

Request body to create new customer's communications

Array of objects

Responses

Request samples

Content type
application/json
{
  • "communications": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer communication successfully!",
  • "result": { },
  • "results": {
    }
}

Customer Communications Config

Get Customer Communications Config

Get an existing customer's communications config.

Authorizations:
OAuth2
query Parameters
offset
string
Default: 0

Offset index of results.

limit
integer
Default: 10

Limit number of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"
name
string

The customer name.

label
string

The label.

type
string
required
number

The required.

unique
number

The unique.

regex
string

The regex.

statusId
string

The statusIds.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customer Communications Preferences.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Communication Config

Create new communication

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new communication

configid
integer

The customer communication config id.

name
string

The customer communication config name.

label
string

The customer communication config label.

type
string
Enum: "text" "single" "multiple"
required
boolean
unique
boolean
regex
string

Regular expression for client-side input validation.

seqno
integer

The customer communication config order number.

Array of objects

Responses

Request samples

Content type
application/json
{
  • "configid": 3,
  • "name": "pillow",
  • "label": "OK to receive",
  • "type": "single",
  • "required": true,
  • "unique": true,
  • "regex": "string",
  • "seqno": 1,
  • "options": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Communication Config successfully!"
}

Customer Preferences

Get Customer Preferences

Get an existing customer's preferences config with mode 4.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "string",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Preference

Create a new customer's preferences

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

Request Body schema: application/json

Request body to create new customer's preferences

Array of objects

Responses

Request samples

Content type
application/json
{
  • "preferences": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Preference Config successfully!"
}

Customer Preferences Config

Get Customer Preferences Config

Get an existing customer's preferences config.

Authorizations:
OAuth2
query Parameters
offset
string
Default: 0

Offset index of results.

limit
integer
Default: 10

Limit number of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"
name
string

The customer name.

label
string

The label.

type
string
required
number

The required.

unique
number

The unique.

regex
string

The regex.

statusId
string

The statusIds.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customer Preferences.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Preferences Config

Create new preferences

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new preference

configid
integer

The customer preference config id.

name
string

The customer preference config name.

label
string

The customer preference config label.

type
string
Enum: "C" "R" "T" "sing"
required
boolean
unique
boolean
regex
string

Regular expression for client-side input validation.

seqno
integer

The customer preference config order number.

Array of objects

Responses

Request samples

Content type
application/json
{
  • "configid": 3,
  • "name": "optInWhatsapp",
  • "label": "OK to receive Whatsapp",
  • "type": "sing",
  • "required": true,
  • "unique": true,
  • "regex": "string",
  • "seqno": 1,
  • "options": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created customer preferences config successfully!"
}

Update Customer Preference

Update a customer preference by its identifier.

Authorizations:
OAuth2
path Parameters
configId
required
string

The customercustomconfig identifier.

Request Body schema: application/json

Request body to update customer preference by id.

name
string

The customer preference config name.

label
string

The customer preference config label.

type
string
Enum: "C" "R" "T" "sing"
required
boolean
unique
boolean
regex
string

Regular expression for client-side input validation.

seqno
integer

The customer preference config order number.

Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "optInWhatsapp",
  • "label": "OK to receive Whatsapp",
  • "type": "sing",
  • "required": true,
  • "unique": true,
  • "regex": "string",
  • "seqno": 1,
  • "options": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated Customer Preference successfully!"
}

Delete Customer Preferences Config

Delete customer preference config based on configId, the action is not reversible.

Authorizations:
OAuth2
path Parameters
configId
required
string

The customercustomconfig identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer successfully!"
}

Customer Addresses

Get Customer Addresses

Get an existing customer's addresses.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Addresses for a Customer.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Address

Create new customer's addresses.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to create new customer's address

Array of objects (CreateCustomerAddress)

Responses

Request samples

Content type
application/json
{
  • "address": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Address successfully!",
  • "result": { },
  • "results": {
    }
}

Get Customer Address

Get an existing customer's address by one address id.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

addressId
required
integer

addressId identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer Address",
  • "result": { },
  • "results": {
    }
}

Update Customer Address

Update a Customer's Address by one address id.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

addressId
required
integer

addressId identifier value.

Request Body schema: application/json

Request body to update customer's address

typeId
required
integer
Enum: 1 2

The address type:

  • 1 Home
  • 2 Business
address1
required
string <= 250 characters

The address's first line.

address2
string <= 250 characters

The address's second line.

address3
string <= 250 characters

The address's third line.

address4
string <= 250 characters

The address's fourth line.

city
required
string <= 250 characters

The address's city name.

postCode
string <= 20 characters

The address's postal code.

area
string <= 100 characters

The address's area.

province
string <= 250 characters

The address's province/state name.

country
required
string <= 250 characters

The address's country.

Responses

Request samples

Content type
application/json
{
  • "typeId": 1,
  • "address1": "2C Main Street",
  • "address2": "string",
  • "address3": "string",
  • "address4": "string",
  • "city": "string",
  • "postCode": 123456,
  • "area": "Toa Payoh",
  • "province": "string",
  • "country": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Customer Address Successfully!"
}

Delete Customer Address

Delete a Customer's Address by one address id.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

addressId
required
integer

addressId identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer Address successfully!"
}

Customer Awards

Get Customer Awards

Get existing customer's awards.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
typeId
integer
Enum: 1 2 3

Filter results by typeId.

The type of award:

  • 1 Award/Gift
  • 2 Redemption
  • 3 Sampling
statusId
integer
Enum: 1 2 3 4 5

Filter results by statusId. The award's status:

  • 1 Available
  • 2 Rejected
  • 3 Approved
  • 4 Redeemed
  • 5 Expired
flag
string
Example: flag=SFCC

Filter results by flag.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for customer awards.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Award

Create new customer's award.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json
rewardId
required
integer

The reward id of the award.

typeId
required
integer
Enum: 1 2 3

The type of award:

  • 1 Award/Gift
  • 2 Redemption
  • 3 Sampling
qty
integer
Default: 1

The quantity of award.

amount
number <decimal>

The amount of dollar given reward.

point
number <decimal>

The point used to redeem.

currency
string

3-alpha ISO 4217

statusId
required
integer
Enum: 1 2 3 4 5

The award's status:

  • 1 Available
  • 2 Rejected
  • 3 Approved
  • 4 Redeemed
  • 5 Expired
issueDate
string <date>

The award's issue date.

expiryDate
string <date>

The award's expiry date.

approveDate
string <date>

The date when the award was approved.

approveBy
string <= 100 characters

The username of staff who approved the award.

voidDate
string <date>

The date when the award was voided.

voidBy
string <= 100 characters

The username of staff who voided the award.

reason
string <= 250 characters

The reason of the approval/voidance.

collectDate
string <date>

The date when customer collected the award.

collectOutletId
string

The outlet code where the customer collected the award. Can be used as identifier on external systems.

collectEmployeeId
string

The staff login name who gave the award to the customer. Can be used as identifier on external systems.

id1
integer
id2
integer
id3
integer
id4
integer
id5
integer
imageUrl
string <= 250 characters

The award image in url format.

text1
string <= 250 characters

The custom text of the award.

text2
string <= 250 characters

The custom text of the award.

text3
string <= 250 characters

The custom text of the award.

text4
string <= 250 characters

The custom text of the award.

text5
string <= 250 characters

The custom text of the award.

Responses

Request samples

Content type
application/json
{
  • "rewardId": 12,
  • "typeId": 1,
  • "qty": 1,
  • "amount": 20.24,
  • "point": 4,
  • "currency": "SGD",
  • "statusId": 1,
  • "issueDate": "2022-01-20T15:45:00.000+00:00",
  • "expiryDate": "2022-01-20T15:45:00.000+00:00",
  • "approveDate": "2022-01-20T15:45:00.000+00:00",
  • "approveBy": "BA123",
  • "voidDate": "2022-01-20T15:45:00.000+00:00",
  • "voidBy": "BA321",
  • "reason": "string",
  • "collectDate": "2022-01-20T15:45:00.000+00:00",
  • "collectOutletId": "SGTK4928",
  • "collectEmployeeId": "LoginName",
  • "id1": 1,
  • "id2": 1,
  • "id3": 1,
  • "id4": 1,
  • "id5": 1,
  • "imageUrl": "string",
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Award.",
  • "result": { },
  • "results": {
    }
}

Get Customer Award

Get an existing customer's award by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

awardId
required
integer

award identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Award for a Customer.",
  • "result": { },
  • "results": {
    }
}

Update Customer Award

Update a customer's award by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

awardId
required
integer

award identifier value.

Request Body schema: application/json
rewardId
required
integer

The reward id of the award.

typeId
required
integer
Enum: 1 2 3

The type of award:

  • 1 Award/Gift
  • 2 Redemption
  • 3 Sampling
qty
integer
Default: 1

The quantity of award.

amount
number <decimal>

The amount of dollar given reward.

point
number <decimal>

The point used to redeem.

currency
string

3-alpha ISO 4217

statusId
required
integer
Enum: 1 2 3 4 5

The award's status:

  • 1 Available
  • 2 Rejected
  • 3 Approved
  • 4 Redeemed
  • 5 Expired
issueDate
string <date>

The award's issue date.

expiryDate
string <date>

The award's expiry date.

approveDate
string <date>

The date when the award was approved.

approveBy
string <= 100 characters

The username of staff who approved the award.

voidDate
string <date>

The date when the award was voided.

voidBy
string <= 100 characters

The username of staff who voided the award.

reason
string <= 250 characters

The reason of the approval/voidance.

collectDate
string <date>

The date when customer collected the award.

collectOutletId
string

The outlet code where the customer collected the award. Can be used as identifier on external systems.

collectEmployeeId
string

The staff login name who gave the award to the customer. Can be used as identifier on external systems.

id1
integer
id2
integer
id3
integer
id4
integer
id5
integer
imageUrl
string <= 250 characters

The award image in url format.

text1
string <= 250 characters

The custom text of the award.

text2
string <= 250 characters

The custom text of the award.

text3
string <= 250 characters

The custom text of the award.

text4
string <= 250 characters

The custom text of the award.

text5
string <= 250 characters

The custom text of the award.

Responses

Request samples

Content type
application/json
{
  • "rewardId": 12,
  • "typeId": 1,
  • "qty": 1,
  • "amount": 20.24,
  • "point": 4,
  • "currency": "SGD",
  • "statusId": 1,
  • "issueDate": "2022-01-20T15:45:00.000+00:00",
  • "expiryDate": "2022-01-20T15:45:00.000+00:00",
  • "approveDate": "2022-01-20T15:45:00.000+00:00",
  • "approveBy": "BA123",
  • "voidDate": "2022-01-20T15:45:00.000+00:00",
  • "voidBy": "BA321",
  • "reason": "string",
  • "collectDate": "2022-01-20T15:45:00.000+00:00",
  • "collectOutletId": "SGTK4928",
  • "collectEmployeeId": "LoginName",
  • "id1": 1,
  • "id2": 1,
  • "id3": 1,
  • "id4": 1,
  • "id5": 1,
  • "imageUrl": "string",
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Customer Award Successfully!"
}

Delete Customer Award

Delete a customer's award by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

awardId
required
integer

award identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer Award successfully!"
}

Create Random Customer Award

Create Random new customer's award.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json
flags
required
string

The flags of the award.

typeId
required
integer
Enum: 1 2 3

The type of award:

  • 1 Award/Gift
  • 2 Redemption
  • 3 Sampling
qty
integer
Default: 1

The quantity of award.

amount
number <decimal>

The amount of dollar given reward.

currency
string

3-alpha ISO 4217

statusId
required
integer
Enum: 1 2 3 4 5

The award's status:

  • 1 Available
  • 2 Rejected
  • 3 Approved
  • 4 Redeemed
  • 5 Expired
collectDate
string <date-time>

The date when customer collected the award.

collectOutletId
string

The outlet code where the customer collected the award. Can be used as identifier on external systems.

collectEmployeeId
string

The staff login name who gave the award to the customer. Can be used as identifier on external systems.

id1
integer
id2
integer
id3
integer
id4
integer
id5
integer
imageUrl
string <= 250 characters

The award image in url format.

text1
string <= 250 characters

The custom text of the award.

text2
string <= 250 characters

The custom text of the award.

text3
string <= 250 characters

The custom text of the award.

text4
string <= 250 characters

The custom text of the award.

text5
string <= 250 characters

The custom text of the award.

Responses

Request samples

Content type
application/json
{
  • "flags": "F01",
  • "typeId": 1,
  • "qty": 1,
  • "amount": 20.24,
  • "currency": "SGD",
  • "statusId": 1,
  • "collectDate": "2019-08-24T14:15:22Z",
  • "collectOutletId": "SGTK4928",
  • "collectEmployeeId": "LoginName",
  • "id1": 1,
  • "id2": 1,
  • "id3": 1,
  • "id4": 1,
  • "id5": 1,
  • "imageUrl": "string",
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "text5": "string"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Random Award.",
  • "result": { },
  • "results": {
    }
}

Customer Memberships

Get Customer Memberships

Get all customer's memberships.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
membershipId
string (membershipId)
Example: membershipId=SG-01-FOCPR-49321

The customer membership id.

programId
string (programId)
Example: programId=FOCPR

Program id.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for customer memberships.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Enrol Customer Membership

Enrol customer's membership to a loyalty program.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
createNewOutlet
number (createNewOutlet)
Default: 0
Enum: 0 1
Example: createNewOutlet=1

The flag with purpose of checking

  • 1 will create new outlet following createLocationId.
  • 0 will reject request if not found creationLocationId.
Request Body schema: application/json

Loyalty Program details

programId
required
string
enrolDate
required
string <date-time>
creationLocationId
string

The outlet location identifier.

memberCardNumber
string

The customer's membership card number.

Responses

Request samples

Content type
application/json
{
  • "programId": "FOCPR",
  • "enrolDate": "2022-01-20T15:45:00Z",
  • "creationLocationId": "string",
  • "memberCardNumber": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Enroled customer to Loyal Program.",
  • "result": { },
  • "results": {
    }
}

Get Customer Membership

Get customer's membership detail.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

membershipId
required
string (membershipId)
Example: SG-01-FOCPR-49321

The customer membership identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found customer membership.",
  • "result": { },
  • "results": {
    }
}

Disenrol Customer Membership

Disenrol customer's membership to a loyalty program.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

memberId
required
integer

The customer member identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to disenrol a customer membership

cancelDate
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "cancelDate": "2023-03-21T00:00:00"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Disenroled customer to Loyalty Program.",
  • "results": { }
}

Get Customer Membership Tiers

Get customer's membership tiers.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Customer Membership Levels",
  • "result": { },
  • "results": {
    }
}

Get Customer Points Balance

Get Customer Points Balance

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
start
string <date-time>
Example: start=2022-01-20

Filter results for points records after this date (default start is end - 12 Months)

end
string <date-time>
Example: end=2022-01-20

Filter results for points records before this date (default end is today)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Customer Points Balance",
  • "result": {
    }
}

Get Customer Points Expired In Days

(Deprecated) use Get Customer Points Balance

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
days
required
integer
Default: 365

Days

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Customer Points Expired In Days",
  • "result": { },
  • "results": {
    }
}

Customer Benefit

Issue employee quarter quota

Issue employee quarter quota.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Issue quarter quota successfully!"
}

Issue employee quarter allowance

Issue employee quarter allowance.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Issue quarter allowance successfully!"
}

Customer Extra ID

Get Customer Extra ID

Get an existing customer's extra id.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customer Extra ID.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Customer Extra ID

Create new customer's extra id.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
createNewOutlet
number (createNewOutlet)
Default: 0
Enum: 0 1
Example: createNewOutlet=1

The flag with purpose of checking

  • 1 will create new outlet following createLocationId.
  • 0 will reject request if not found creationLocationId.
createNewBA
number (createNewBA)
Default: 0
Enum: 0 1
Example: createNewBA=1

The flag with purpose of checking

  • 1 will create new BA following creationBAId.
  • 0 will reject request if creationBAId not found.
Request Body schema: application/json

Request body to create new customer's extra id

Array of objects

Responses

Request samples

Content type
application/json
{
  • "extSystemId": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Successfully created Extra ID for Customer!",
  • "results": {
    },
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Get Customer Extra ID

Get an existing customer's extra id by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

extraId
required
integer

extraId identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer Extra ID.",
  • "result": { },
  • "results": {
    }
}

Update Customer Extra ID

Update a customer's extra id by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

extraId
required
integer

extraId identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Customer Extra ID Successfully!"
}

Delete Customer Extra ID

Delete a customer's extra id by identifier.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

extraId
required
integer

extraId identifier value.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Customer Extra ID successfully!"
}

Customer Custom Data

Get Customer Custom Data

Get all custom data of an existing Customer.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
dataName
string
Example: dataName=APIGEE_BEAUTY_DIAGNOSIS

Filter results by Customer Custom Data's name. Value should be URL-friendly.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Customer Custom Data.",
  • "results": [ ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1,
  • "result": [
    ]
}

Get Customer Custom Datum

Get a custom data of an existing Customer.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

dataName
required
string
Example: APIGEE_BEAUTY_DIAGNOSIS

The Customer Custom Data's name. This is used to categorise the data. Value should be URL-friendly.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer Custom Data successfully!",
  • "result": {
    }
}

Create Customer Custom Datum

Create a custom datum of an existing Customer.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

dataName
required
string
Example: APIGEE_BEAUTY_DIAGNOSIS

The Customer Custom Data's name. This is used to categorise the data. Value should be URL-friendly.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to create Customer's custom data.

required
object
required
object
serviceInteractionVersion
required
string

The schema for incoming data. Recommended to follow semantic versioning.

required
Array of objects
object
object

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "personProfile": {
    },
  • "serviceInteractionVersion": "1.0.0",
  • "serviceInteractions": [
    ],
  • "diagnosisRecommendations": {},
  • "analysis": {
    }
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created Customer Custom Data successfully!",
  • "result": {
    }
}

Customer Verifications

Update Customer Verifications

Update an existing customer verification status to Verified

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to update an existing customer verification to Verified

Array of objects

Responses

Request samples

Content type
application/json
{
  • "verified": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Verification status successfully updated"
}

Customer Social Contacts

Get Customer Social Contacts

Get an existing customer's social contacts.

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Get customer social contacts",
  • "results": [
    ]
}

Create Customer Social Contacts

Create customer social contacts

Authorizations:
OAuth2
path Parameters
customerId
required
string

The customer identifier.

query Parameters
customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
Request Body schema: application/json

Request body to create customer social contacts

Array of objects

Responses

Request samples

Content type
application/json
{
  • "socialContacts": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Customer social contacts successfully!"
}

Prospects

Update Prospect

Update prospect

Authorizations:
OAuth2
Request Body schema: application/json

Request body to update a prospect

email
required
string

The prospect's email.

Array of objects
orgLastModDate
string <date-time>

The last modified date of this resource in the source system.

Responses

Request samples

Content type
application/json
{
  • "email": "john@acme.com",
  • "communications": [
    ],
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated Prospect successfully!"
}

Yellow AI

Get Customer BC

Get Customer BC based on most frequent transact BC or recent purchase

Authorizations:
OAuth2
query Parameters
mobileNo
required
string
Example: mobileNo=6281288959577

The customer mobile no.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Customer BC",
  • "result": {
    }
}

Campaigns

Get Campaigns

Get all campaigns based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
type
integer
Enum: 1 2

Filter results by type:

  • 1: email
  • 2: sms
dateFrom
string

Filter results by createdate or lastmoddate. Date format should be yyyy-MM-dd hh:mm:ss.

dateTo
string

Filter results by createdate or lastmoddate. Date format should be yyyy-MM-dd hh:mm:ss.

status
integer
Enum: 0 1

Filter results by status:

  • 0: inactive
  • 1: active
name
string

Filter results by name.

campaignId
integer

The campaign identifier

sendDateFrom
string

Filter results by profile senddate. Date format should be yyyy-MM-dd hh:mm:ss.

sendDateTo
string

Filter results by profile senddate. Date format should be yyyy-MM-dd hh:mm:ss.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Campaigns.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Campaign

Create a new Campaign

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new campaign

typeId
required
integer

The campaign's type:

  • 1 Email
  • 2 SMS
methodId
integer

The campaign's method:

  • 1 Regular
  • 2 Auto
name
required
string <= 250 characters

The campaign's name.

description
string

The campaign's description.

priorityId
integer
Default: 3

The campaign's sending priority:

  • 1 Very High
  • 2 High
  • 3 Normal
  • 4 Low
  • 5 Very Low
approvedBy
integer

The user account id who approved the campaign sending.

statusId
required
integer
Default: 0

The campaign's sending status:

  • 0 Inactive
  • 1 Active
startDate
string <date-time>

The campaign's date to start sending.

endDate
string <date-time>

The campaign's date to stop sending.

createBy
integer

The user account id who created this resource.

lastModBy
integer

The user account id who last modified this resource.

Responses

Request samples

Content type
application/json
{
  • "typeId": 1,
  • "methodId": 1,
  • "name": "June member promotion EDM",
  • "description": "For any active member with birthday in June",
  • "priorityId": 3,
  • "approvedBy": 0,
  • "statusId": 0,
  • "startDate": "2022-01-20T15:45:00.000+00:00",
  • "endDate": "2022-01-20T15:45:00.000+00:00",
  • "createBy": 0,
  • "lastModBy": 0
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a Campaign successfully!",
  • "result": { },
  • "results": {
    }
}

Trigger Email Campaigns

Check for all active email campaigns (type 1) and send to campaign recipients in queue.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Message Service ended successfully!",
  • "results": [
    ]
}

Trigger SMS Campaigns

Check for all active sms campaigns (type 2) and send to campaign recipients in queue.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Message Service ended successfully!",
  • "results": [
    ]
}

Trigger Bulk Send SMS

Takes in a Campaign Id and send SMS to campaign recipients in queue via SMSNX Bulk SMS.

Authorizations:
OAuth2
query Parameters
campaignId
required
integer

The campaign identifier.

limit
integer
Default: 500

The number of campaign recipients to send.

sendOnce
boolean
Default: true

Indicator if to check duplicate campaign recipient

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Message Service ended successfully!",
  • "results": [
    ]
}

Trigger Automated Campaigns

Trigger automated campaign based on campaign key.

Authorizations:
OAuth2
query Parameters
campaignKey
required
string

The campaign key.

customerId
integer

The customer identifier.

Only applicable to some campaigns.

memberLevelId
integer

The member level identifier.

Only applicable to some campaigns.

processDate
string <date>

The processing date. Date format should be yyyy-MM-dd.

Only applicable to some campaigns.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Process [welcome] successfully!"
}

Trigger Campaigns

Check for all active campaigns and send to campaign recipients in queue when required.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Ok."
}

Get Campaign

Get a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Campaign successfully!",
  • "result": { },
  • "results": {
    }
}

Update Campaign

Update an existing Campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Request Body schema: application/json

Request body to update campaign by id.

typeId
required
integer

The campaign's type:

  • 1 Email
  • 2 SMS
methodId
integer

The campaign's method:

  • 1 Regular
  • 2 Auto
name
required
string <= 250 characters

The campaign's name.

description
string

The campaign's description.

priorityId
integer
Default: 3

The campaign's sending priority:

  • 1 Very High
  • 2 High
  • 3 Normal
  • 4 Low
  • 5 Very Low
approvedBy
integer

The user account id who approved the campaign sending.

statusId
required
integer
Default: 0

The campaign's sending status:

  • 0 Inactive
  • 1 Active
startDate
string <date-time>

The campaign's date to start sending.

endDate
string <date-time>

The campaign's date to stop sending.

createBy
integer

The user account id who created this resource.

lastModBy
integer

The user account id who last modified this resource.

Responses

Request samples

Content type
application/json
{
  • "typeId": 1,
  • "methodId": 1,
  • "name": "June member promotion EDM",
  • "description": "For any active member with birthday in June",
  • "priorityId": 3,
  • "approvedBy": 0,
  • "statusId": 0,
  • "startDate": "2022-01-20T15:45:00.000+00:00",
  • "endDate": "2022-01-20T15:45:00.000+00:00",
  • "createBy": 0,
  • "lastModBy": 0
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated Campaign successfully!"
}

Delete Campaign

Delete an existing Campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Campaign successfully!"
}

Campaign Recipients

Get Campaign Recipients

Get recipients of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Campaign Recipient successfully!",
  • "result": { },
  • "results": {
    }
}

Add Campaign Recipients

Add recipients to a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Request Body schema: application/json

Request body for adding new campaign recipients

custId
required
integer

The profile primary id.

campaignId
required
integer

The campaign primary id.

statusId
integer
Default: 0
Enum: 0 1 2 11 21 22 31 41

The campaign recipient's sending status:

  • 0 In Queue
  • 1 Not to Send
  • 2 Duplicate
  • 11 Sent
  • 21 Invalid
  • 22 Error
  • 31 Soft Bounce
  • 41 Hard Bounce
retry
integer

The campaign recipient's attempt of sending.

queueDate
string <date>
Default: "now()"

The date and time the profile was added to the campaign.

sendDate
string <date>

The date and time the campaign was processed for sending.

openDate
string <date>

The date and time the campaign was opened or read.

responseDate
string <date>

The date and time the campaign received any response.

id1
integer

Additional ID attached to the campaign.

id2
integer

Additional ID attached to the campaign.

id3
integer

Additional ID attached to the campaign.

text1
string

Additional string attached to the campaign.

text2
string

Additional string attached to the campaign.

text3
string

Additional string attached to the campaign.

Responses

Request samples

Content type
application/json
{
  • "custId": 1,
  • "campaignId": 11,
  • "statusId": 0,
  • "retry": 0,
  • "queueDate": "2022-01-20T15:45:00.000+00:00",
  • "sendDate": "2022-01-20T15:45:00.000+00:00",
  • "openDate": "2022-01-20T15:45:00.000+00:00",
  • "responseDate": "2022-01-20T15:45:00.000+00:00",
  • "id1": 0,
  • "id2": 0,
  • "id3": 0,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Campaign recipients added."
}

Update Recipient details of a Campaign

Add recipient details of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Request Body schema: application/json

Request body to update recipients details of a campaign

custId
required
integer

The profile primary id.

campaignId
required
integer

The campaign primary id.

statusId
integer
Default: 0
Enum: 0 1 2 11 21 22 31 41

The campaign recipient's sending status:

  • 0 In Queue
  • 1 Not to Send
  • 2 Duplicate
  • 11 Sent
  • 21 Invalid
  • 22 Error
  • 31 Soft Bounce
  • 41 Hard Bounce
retry
integer

The campaign recipient's attempt of sending.

queueDate
string <date>
Default: "now()"

The date and time the profile was added to the campaign.

sendDate
string <date>

The date and time the campaign was processed for sending.

openDate
string <date>

The date and time the campaign was opened or read.

responseDate
string <date>

The date and time the campaign received any response.

id1
integer

Additional ID attached to the campaign.

id2
integer

Additional ID attached to the campaign.

id3
integer

Additional ID attached to the campaign.

text1
string

Additional string attached to the campaign.

text2
string

Additional string attached to the campaign.

text3
string

Additional string attached to the campaign.

Responses

Request samples

Content type
application/json
{
  • "custId": 1,
  • "campaignId": 11,
  • "statusId": 0,
  • "retry": 0,
  • "queueDate": "2022-01-20T15:45:00.000+00:00",
  • "sendDate": "2022-01-20T15:45:00.000+00:00",
  • "openDate": "2022-01-20T15:45:00.000+00:00",
  • "responseDate": "2022-01-20T15:45:00.000+00:00",
  • "id1": 0,
  • "id2": 0,
  • "id3": 0,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Campaign recipients updated."
}

Delete Campaign Recipients

Delete recipients of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "All Campaign recipients deleted."
}

Get Campaign Recipients

Get recipients of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

campaignListId
required
integer

The campaign list identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Campaign Recipient successfully!",
  • "result": {
    }
}

Update Campaign Recipient

Add recipient details of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

campaignListId
required
integer

The campaign list identifier.

Request Body schema: application/json
statusId
integer
Default: 0
Enum: 0 1 2 11 21 22 31 41

Status:

  • 0 In Queue
  • 1 Not to Send
  • 2 Duplicate
  • 11 Sent
  • 21 Invalid
  • 22 Error
  • 31 Soft Bounce
  • 41 Hard Bounce

Responses

Request samples

Content type
application/json
{
  • "statusId": 0
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Campaign recipients updated."
}

Delete Campaign Recipient

Delete recipients of a campaign by its identifier.

Authorizations:
OAuth2
path Parameters
campaignId
required
integer

The campaign identifier.

campaignListId
required
integer

The campaign list identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Campaign recipients deleted."
}

Products

Get Products

Get existing Product list.

Authorizations:
OAuth2
query Parameters
code
string

The product's code from any of the orgId1, orgId2, or orgId3.

name
string

The product's name.

status
string
Enum: "0" "1"

The product's status:

  • 0 Inactive
  • 1 Active
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Products.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Product

Create new products

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new products

typeid
integer
Default: 1
Value: 1

The type of product:

  • 1 Product
orgId1
required
string <= 50 characters

The original product ID 1 in the source system. e.g. ean code

orgId2
string <= 50 characters

The original product ID 2 in the source system. e.g. pos id

orgId3
string <= 50 characters

The original product ID 3 in the source system. e.g. marsid

name
required
string <= 250 characters

The product name.

altName1
string <= 250 characters

The product alternate name 1.

altName2
string <= 250 characters

The product alternate name 2.

altName3
string <= 250 characters

The product alternate name 3.

description
string <= 2000 characters

The product description.

pageUrl
string <= 250 characters

The product page url string.

imageUrl
string <= 250 characters

The product image url string.

statusId
string

The product status:

  • 0 Inactive
  • 1 Active
tier1Name
string <= 250 characters

The product tier 1 name (e.g. Signature).

tier2Name
string <= 250 characters

The product tier 1 name (e.g. Brand).

tier3Name
string <= 250 characters

The product tier 1 name (e.g. Sub Brand).

tier4Name
string <= 250 characters

The product tier 1 name (e.g. Reference).

tier5Name
string <= 250 characters

The product tier 5 name.

tier6Name
string <= 250 characters

The product tier 6 name (e.g. Axe).

tier7Name
string <= 250 characters

The product tier 7 name (e.g. Sub Axe).

tier8Name
string <= 250 characters

The product tier 8 name (e.g. Class).

tier9Name
string <= 250 characters

The product tier 9 name (e.g. Function).

qty1
integer

The product quantity number.

qty2
integer

The product quantity number.

qty3
integer

The product quantity number.

currency
string <= 3 characters

The product price's currency in 3-alpha ISO 4217.

amount1
integer

The product price (with tax).

amount2
integer

The product price (without tax).

amount3
integer

The product price (other).

orgCreateDate
string

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The original username who created this resource in the source system.

orgLastModDate
string

The last modified date of this resource in the source system.

orgLastModBy
string <= 100 characters

The original username who last modified this resource in the source system.

Responses

Request samples

Content type
application/json
{
  • "typeid": 1,
  • "orgId1": 11,
  • "orgId2": 21,
  • "orgId3": 31,
  • "name": "string",
  • "altName1": "string",
  • "altName2": "string",
  • "altName3": "string",
  • "description": "string",
  • "pageUrl": "string",
  • "imageUrl": "string",
  • "statusId": 1,
  • "tier1Name": "string",
  • "tier2Name": "string",
  • "tier3Name": "string",
  • "tier4Name": "string",
  • "tier5Name": "string",
  • "tier6Name": "string",
  • "tier7Name": "string",
  • "tier8Name": "string",
  • "tier9Name": "string",
  • "qty1": 1,
  • "qty2": 0,
  • "qty3": 0,
  • "currency": "AUD",
  • "amount1": 4.5,
  • "amount2": 4,
  • "amount3": 5,
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnSmith",
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00",
  • "orgLastModBy": "JaneSmith"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a Product successfully!",
  • "result": { },
  • "results": {
    }
}

Get Product

Get an existing Product.

Authorizations:
OAuth2
path Parameters
productId
required
integer

Product Identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Product successfully!",
  • "result": { },
  • "results": {
    }
}

Update Product

Update an existing product

Authorizations:
OAuth2
path Parameters
productId
required
integer

Product Identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Product Successfully!"
}

Delete Product

Delete an existing product

Authorizations:
OAuth2
path Parameters
productId
required
integer

Product Identifier

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Product successfully!"
}

Product Tiers

Get Product Tiers

Get existing Product Tier list.

Authorizations:
OAuth2
query Parameters
type
string
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier's type.

code
string
Enum: "orgId1" "orgId2" "orgId3"

The product tier's code.

name
string

The product tier's name.

status
string
Enum: "0" "1"

The product tier's status:

  • 0 Inactive
  • 1 Active
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Product Tiers successfully!",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Product Tier

Create new product tiers

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create new product tiers

type
required
string
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier's type

orgId1
required
string <= 50 characters

The original product tier ID 1 in the source system. e.g. sap code

orgId2
string <= 50 characters

The original product tier ID 2 in the source system.

orgId3
string <= 50 characters

The original product tier ID 3 in the source system.

name
string <= 250 characters

The product name.

description
string <= 2000 characters

The product tier description.

seqNo
integer

The product tier order number.

statusId
integer

The product tier status:

  • 1 Active
  • 0 Inactive
orgCreateDate
string

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The original username who created this resource in the source system.

orgLastModDate
string

The last modified date of this resource in the source system.

orgLastModBy
string <= 100 characters

The original username who last modified this resource in the source system.

Responses

Request samples

Content type
application/json
{
  • "type": "Signature",
  • "orgId1": "AC02011A",
  • "orgId2": "string",
  • "orgId3": "string",
  • "name": "string",
  • "description": "string",
  • "seqNo": 0,
  • "statusId": 1,
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnSmith",
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00",
  • "orgLastModBy": "JaneSmith"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a Product Tier successfully!",
  • "result": { },
  • "results": {
    }
}

Get Product Tier

Get an existing Product Tier.

Authorizations:
OAuth2
path Parameters
productTierId
required
integer

Product Tier Identifier

query Parameters
type
string
Default: "Signature"
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier identifier type.

limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Product Tier successfully!",
  • "result": { },
  • "results": {
    }
}

Update Product Tier

Update an existing product tier

Authorizations:
OAuth2
path Parameters
productTierId
required
integer

Product Tier Identifier

query Parameters
type
string
Default: "Signature"
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier identifier type.

Request Body schema: application/json

Request body to update product tier

type
required
string
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier's type

orgId1
required
string <= 50 characters

The original product tier ID 1 in the source system. e.g. sap code

orgId2
string <= 50 characters

The original product tier ID 2 in the source system.

orgId3
string <= 50 characters

The original product tier ID 3 in the source system.

name
string <= 250 characters

The product name.

description
string <= 2000 characters

The product tier description.

seqNo
integer

The product tier order number.

statusId
integer

The product tier status:

  • 1 Active
  • 0 Inactive
orgCreateDate
string

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The original username who created this resource in the source system.

orgLastModDate
string

The last modified date of this resource in the source system.

orgLastModBy
string <= 100 characters

The original username who last modified this resource in the source system.

Responses

Request samples

Content type
application/json
{
  • "type": "Signature",
  • "orgId1": "AC02011A",
  • "orgId2": "string",
  • "orgId3": "string",
  • "name": "string",
  • "description": "string",
  • "seqNo": 0,
  • "statusId": 1,
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnSmith",
  • "orgLastModDate": "2022-01-20T15:45:00.000+00:00",
  • "orgLastModBy": "JaneSmith"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Update Product Tier Successfully!"
}

Delete Product Tier

Delete an existing product tier

Authorizations:
OAuth2
path Parameters
productTierId
required
integer

Product Tier Identifier

query Parameters
type
string
Default: "Signature"
Enum: "Signature" "Brand" "Sub Brand" "Reference" "Axe" "Sub Axe" "Class" "Function"

The product tier identifier type.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted Product Tier successfully!"
}

Transactions

Get Transactions

Get all transactions based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
customerId
string

The customer identifier.

customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
type
string (type)
Enum: "Purchase" "Service" "Consultation" "Newsletter" "Promotion" "Order"
Example: type=Purchase

The transaction's type (Purchase, Service, Consultation, etc). Supports comma-separated list. Non-case sensitive.

Example: type=Purchase,Service,Consultation,Newsletter,Promotion,Order

statusId
string
Default: "Created"
Enum: "Created" "Paid" "Invoiced" "Cancelled" "Delivered" "Rejected"

The transaction's current status:

  • 1 Created
  • 2 Paid
  • 3 Invoiced
  • 4 Cancelled
  • 5 Delivered
  • 6 Rejected
limit
number
Default: 10

Limit number of results.

offset
number
Default: 0

Offset index of results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "transid"
Enum: "transid" "custid"
from
string <date-time>
Example: from=2022-01-20T15:45:00.000+00:00

Filter results by orgcreatedate

to
string <date-time>
Example: to=2022-01-20T15:45:00.000+00:00

Filter results by orgcreatedate

storeType
string
Example: storeType=Offline

Filter results by store type

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Transactions.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create a new Transaction

Create a new Transaction

Authorizations:
OAuth2
query Parameters
createNewSkus
integer
Default: 0
Enum: 0 1

Setting this value to 1 allows the creation of SKUs defined in Transaction's Products if they are missing from Database.

Request Body schema: application/json

Request body to create a new transaction

locationId
required
string

The Outlet Code where transaction was made. Can be used as identifier on external systems.

statusId
required
integer <int32>
Default: 1
Enum: 1 2 3 4 5 6

The transaction's current status:

  • 1 Created
  • 2 Paid
  • 3 Invoiced
  • 4 Cancelled
  • 5 Delivered
  • 6 Rejected
customerIdType
required
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
customerId
required
number

The transaction's customer id.

orgId1
required
string <= 50 characters

The transaction's order number (primary key).

orgId2
required
string <= 50 characters

The transaction's Order reference number generated by the source system.

orgId3
string <= 50 characters

The transaction's Client Source Systems

orgId4
string <= 50 characters

Original Source System redirect to the Client Source Systems to make purchase.

orgId5
string <= 50 characters

The transaction's Order reference number generated by Original Source System

type
required
string (type)
Enum: "Purchase" "Service" "Consultation" "Newsletter" "Promotion" "Order"

The transaction's type.

subtype
string
Default: "Purchase"
Enum: "Purchase" "Return" "Exchange"

The transaction's subtype.

propertyId
number

The transaction's property id.

id1
number

For storing additional identifiers.

id2
number

For storing additional identifiers.

id3
number

For storing additional identifiers.

date1
required
string <date>

The transaction's order date.

date2
string <date>
date3
string <date>
date4
string <date>
date5
string <date>
code1
string
code2
string
code3
string
code4
string
code5
string
currency
string <= 3 characters

The transaction's currency (default by country, configured in DB).

amount1
required
number <double>

The transaction's amount (with tax).

amount2
number <double>

The transaction's amount (without tax).

amount3
number <double>

The transaction's amount (other).

qty1
number

The transaction's total number of items.

qty2
number
qty3
number
Array of objects (abstract-11)
Array of objects (meta-2)
orgCreateDate
string <date-time>

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The employee's loginName who created this transaction.

Responses

Request samples

Content type
application/json
{
  • "locationId": "SGTK4928",
  • "statusId": 1,
  • "customerIdType": "uid",
  • "customerId": 1,
  • "orgId1": "L00123",
  • "orgId2": "SFCC000001",
  • "orgId3": "SFCC_IN",
  • "orgId4": "BACC_APAC",
  • "orgId5": "BACC000001",
  • "type": "Purchase",
  • "subtype": "Purchase",
  • "propertyId": 1,
  • "id1": 1,
  • "id2": 1,
  • "id3": 1,
  • "date1": "2022-01-20T15:45:00.000+00:00",
  • "date2": "2022-01-20T15:45:00.000+00:00",
  • "date3": "2022-01-20T15:45:00.000+00:00",
  • "date4": "2022-01-20T15:45:00.000+00:00",
  • "date5": "2022-01-20T15:45:00.000+00:00",
  • "code1": "string",
  • "code2": "string",
  • "code3": "string",
  • "code4": "string",
  • "code5": "string",
  • "currency": "SGD",
  • "amount1": 24,
  • "amount2": 24,
  • "amount3": 0,
  • "qty1": 2,
  • "qty2": 2,
  • "qty3": 2,
  • "products": [
    ],
  • "meta": [
    ],
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnAppleseed"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Transaction successfully!",
  • "result": {
    }
}

Get Transaction

Get a transaction by its identifier.

Authorizations:
OAuth2
path Parameters
transactionId
required
integer

The transaction identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found a Transaction successfully!",
  • "result": {
    }
}

Update Transaction

Update a transaction by its identifier.

Authorizations:
OAuth2
path Parameters
transactionId
required
integer

The transaction identifier.

Request Body schema: application/json

Request body to update transaction by id.

locationId
required
string

The Outlet Code where transaction was made. Can be used as identifier on external systems.

statusId
integer <int32>
Default: 1
Enum: 1 2 3 4 5 6

The transaction's current status:

  • 1 Created
  • 2 Paid
  • 3 Invoiced
  • 4 Cancelled
  • 5 Delivered
  • 6 Rejected
customerIdType
required
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
customerId
required
number

The transaction's customer id.

orgId1
required
string <= 50 characters

The transaction's order number (primary key).

orgId2
required
string <= 50 characters

The transaction's Order reference number generated by the source system.

orgId3
string <= 50 characters

The transaction's Client Source Systems

orgId4
string <= 50 characters

Original Source System redirect to the Client Source Systems to make purchase.

orgId5
string <= 50 characters

The transaction's Order reference number generated by Original Source System

type
required
string (type)
Enum: "Purchase" "Service" "Consultation" "Newsletter" "Promotion" "Order"

The transaction's type.

subtype
string
Default: "Purchase"
Enum: "Purchase" "Return" "Exchange"

The transaction's subtype.

propertyId
number

The transaction's property id.

id1
number

For storing additional identifiers.

id2
number

For storing additional identifiers.

id3
number

For storing additional identifiers.

date1
required
string <date>

The transaction's order date.

date2
string <date>
date3
string <date>
date4
string <date>
date5
string <date>
code1
string
code2
string
code3
string
code4
string
code5
string
currency
string <= 3 characters

The transaction's currency (default by country, configured in DB).

amount1
required
number <double>

The transaction's amount (with tax).

amount2
number <double>

The transaction's amount (without tax).

amount3
number <double>

The transaction's amount (other).

qty1
number

The transaction's total number of items.

qty2
number
qty3
number
Array of objects (abstract-11)
Array of objects (meta-2)
orgCreateDate
string <date-time>

The creation date of this resource in the source system.

orgCreateBy
string <= 100 characters

The employee's loginName who created this transaction.

Responses

Request samples

Content type
application/json
{
  • "locationId": "SGTK4928",
  • "statusId": 1,
  • "customerIdType": "uid",
  • "customerId": 1,
  • "orgId1": "L00123",
  • "orgId2": "SFCC000001",
  • "orgId3": "SFCC_IN",
  • "orgId4": "BACC_APAC",
  • "orgId5": "BACC000001",
  • "type": "Purchase",
  • "subtype": "Purchase",
  • "propertyId": 1,
  • "id1": 1,
  • "id2": 1,
  • "id3": 1,
  • "date1": "2022-01-20T15:45:00.000+00:00",
  • "date2": "2022-01-20T15:45:00.000+00:00",
  • "date3": "2022-01-20T15:45:00.000+00:00",
  • "date4": "2022-01-20T15:45:00.000+00:00",
  • "date5": "2022-01-20T15:45:00.000+00:00",
  • "code1": "string",
  • "code2": "string",
  • "code3": "string",
  • "code4": "string",
  • "code5": "string",
  • "currency": "SGD",
  • "amount1": 24,
  • "amount2": 24,
  • "amount3": 0,
  • "qty1": 2,
  • "qty2": 2,
  • "qty3": 2,
  • "products": [
    ],
  • "meta": [
    ],
  • "orgCreateDate": "2022-01-20T15:45:00.000+00:00",
  • "orgCreateBy": "JohnAppleseed"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated a Transaction successfully!",
  • "result": {
    }
}

Delete Transaction

Delete a transaction by its identifier.

Authorizations:
OAuth2
path Parameters
transactionId
required
integer

The transaction identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted a Transaction successfully!"
}

Get Transaction Products

Get all products in transactions based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
customerId
string

The customer identifier.

customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
dateFrom
string <date-time>
Example: dateFrom=2022-01-20T15:45:00.000+00:00

Filter results by transaction date

dateTo
string <date-time>
Example: dateTo=2022-01-20T15:45:00.000+00:00

Filter results by transaction date

status
string
Enum: "Created" "Paid" "Invoiced" "Cancelled" "Delivered" "Rejected"
Example: status=Invoiced,Delivered

The transaction's current status:

  • 1 Created
  • 2 Paid
  • 3 Invoiced
  • 4 Cancelled
  • 5 Delivered
  • 6 Rejected

Supports comma-separated list. Non-case sensitive.

productId
string

Product code orgId1. Supports comma-separated list. Non-case sensitive.

limit
number
Default: 10

Limit number of results.

offset
number
Default: 0

Offset index of results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "quantity"
Value: "quantity"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Transaction Products.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Get Transaction Points

Get all points in transactions based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
customerId
string

The customer identifier.

customerIdType
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"
Example: customerIdType=uid

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
dateFrom
string <date-time>
Example: dateFrom=2022-01-20T15:45:00.000+00:00

Filter results by transaction date

dateTo
string <date-time>
Example: dateTo=2022-01-20T15:45:00.000+00:00

Filter results by transaction date

limit
number
Default: 10

Limit number of results.

offset
number
Default: 0

Offset index of results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "transid"
Value: "transid"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Transaction Points.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Get Transaction Point Details

Get a transaction point details by its identifier.

Authorizations:
OAuth2
path Parameters
transactionId
required
integer

The transaction identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Transaction Points Details",
  • "result": { },
  • "results": {
    }
}

Loyalty Programs

Get Loyalty Programs

Get all loyalty programs based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
pageSize
integer
Default: 10

Page size of results.

page
string
Default: 1

Page number of results.

sortBy
string
Default: "id"
Value: "id"
sort
string
Default: "asc"
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Loyalty Programs.",
  • "results": [
    ],
  • "pageSize": 10,
  • "page": 1,
  • "total": 100
}

Create Loyalty Program

Create a new loyalty program.

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create a new loyalty program

programId
required
string

The unique loyalty program id for the brand.

name
required
string

The loyalty program name for the brand.

start
string <date-time>

The start of loyalty program for the brand. Defaults to today.

end
string or null <date-time>

The start of loyalty program for the brand.

Responses

Request samples

Content type
application/json
{
  • "programId": "FOCPR",
  • "name": "Friends of CPR",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Loyalty Program successfully!",
  • "result": { },
  • "results": {
    }
}

Get Loyalty Program

Get a loyalty program.

Authorizations:
OAuth2
path Parameters
programId
required
string
Example: FOCPR

Loyalty Program ID

query Parameters
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sortBy
string
Default: "id"
Value: "id"
sort
string
Default: "asc"
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Loyalty Program.",
  • "result": { },
  • "results": {
    }
}

Update Loyalty Program

Update a loyalty program.

Authorizations:
OAuth2
path Parameters
programId
required
string
Example: FOCPR

Loyalty Program ID

Request Body schema: application/json

Request body to update a loyalty program.

programId
required
string

The unique loyalty program id for the brand.

name
required
string

The loyalty program name for the brand.

start
string <date-time>

The start of loyalty program for the brand. Defaults to today.

end
string or null <date-time>

The start of loyalty program for the brand.

Responses

Request samples

Content type
application/json
{
  • "programId": "FOCPR",
  • "name": "Friends of CPR",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Updated Loyalty Program successfully!",
  • "result": { },
  • "results": {
    }
}

Loyalty Program Tiers

Get Loyalty Program Tiers

Get all loyalty program tiers based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
path Parameters
programId
required
string
Example: FOCPR

Loyalty Program ID

query Parameters
pageSize
integer
Default: 10

Page size of results.

page
string
Default: 1

Page number of results.

sortBy
string
Default: "id"
Value: "id"
sort
string
Default: "asc"
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Loyalty Program tiers.",
  • "results": [
    ],
  • "pageSize": 10,
  • "page": 1,
  • "total": 100
}

Create Loyalty Program Tier

Create a new loyalty program tier.

Authorizations:
OAuth2
path Parameters
programId
required
string
Example: FOCPR

Loyalty Program ID

Request Body schema: application/json

Request body to create a new loyalty program tier

memberLevelCode
string

Member Level Code

memberLevelName
string

Member Level Name

Responses

Request samples

Content type
application/json
{
  • "memberLevelCode": "Gold",
  • "memberLevelName": "Gold"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Loyalty Program Tier successfully!",
  • "result": { },
  • "results": {
    }
}

Loyalty Rules

Get Loyalty Rules

Get all loyalty rules based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
ruleId
number
Example: ruleId=123

Filter results by id of the loyalty rule.

name
string
Example: name=Loyalty Rule 1

Filter results by name of the loyalty rule.

descr
string
Example: descr=Loyalty Rule Description 1

Filter results by description of the loyalty rule.

propertyId
number

Filter results by propertyId of the loyalty rule.

outletId
number
Example: outletId=45

Filter results by outletId of the loyalty rule.

startDateFrom
string
Example: startDateFrom=startDateFrom=2022-01-01T08:00:00.000+08:00

Filter results by startDate (from/start of startDate range) of loyalty rule (ISO format).

startDateTo
string
Example: startDateTo=startDateTo=2022-01-31T08:00:00.000+08:00

Filter results by startDate (to/end of startDate range) of loyalty rule (ISO format).

endDateFrom
string
Example: endDateFrom=endDateFrom=2022-01-01T08:00:00.000+08:00

Filter results by endDate (from/start of endDate range) of loyalty rule (ISO format).

endDateTo
string
Example: endDateTo=endDateTo=2022-01-31T08:00:00.000+08:00

Filter results by endDate (to/end of endDate range) of loyalty rule (ISO format).

validity
number
Example: validity=30

Filter results by validity of the loyalty rule.

expiryDateFrom
string
Example: expiryDateFrom=expiryDateFrom=2022-12-01T08:00:00.000+08:00

Filter results by expiryDate (from/start of expiryDate range) of loyalty rule (ISO format).

expiryDateTo
string
Example: expiryDateTo=expiryDateTo=2022-12-31T08:00:00.000+08:00

Filter results by expiryDate (to/end of expiryDate range) of loyalty rule (ISO format).

createDateFrom
string
Example: createDateFrom=createDateFrom=2022-01-01T08:00:00.000+08:00

Filter results by createDate (from/start of createDate range) of loyalty rule (ISO format).

createDateTo
string
Example: createDateTo=createDateTo=2022-01-31T08:00:00.000+08:00

Filter results by createDate (to/end of createDate range) of loyalty rule (ISO format).

createBy
number
Example: createBy=56

Filter results by createBy of the loyalty rule.

typeId
number
Example: typeId=1

Filter results by typeId of the loyalty rule.

rewardId
number
Example: rewardId=2

Filter results by rewardId of the loyalty rule.

pageSize
number
Default: 10

Page size of the results.

page
number
Default: 1

Page number of the results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "ruleid"
Value: "ruleid"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Loyalty Rules.",
  • "results": [
    ],
  • "pageSize": 10,
  • "page": 1,
  • "total": 100
}

Create Loyalty Rule

Create a new loyalty rule.

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create a new loyalty rule

name
string

The loyalty rule name.

descr
string

The loyalty rule descr.

propertyId
number

The loyalty rule propertyId.

outletId
string

The loyalty rule outletId.

minSpent
number

The loyalty rule minSpent.

maxSpent
number

The loyalty rule maxSpent.

startDate
string

The loyalty rule startDate.

endDate
string

The loyalty rule endDate.

dayFlags
number

The loyalty rule dayFlags.

hourFlags
number

The loyalty rule hourFlags.

dateFlags
number

The loyalty rule dateFlags.

monthFlags
number

The loyalty rule monthFlags.

revenueId
number

The loyalty rule revenueId.

seqNo
number

The loyalty rule seqNo.

voucherDescr
string

The loyalty rule voucherDescr.

expiryText
string

The loyalty rule expiryText.

validity
number

The loyalty rule validity.

purseId
number

The loyalty rule purseId.

spentMultiplier
number

The loyalty rule spentMultiplier.

purseMultiplier
number

The loyalty rule purseMultiplier.

flags
string

The loyalty rule flags.

status
number

The loyalty rule status.

notifyDay
number

The loyalty rule notifyDay.

productGroupId
number

The loyalty rule productGroupId.

sourceId
number

The loyalty rule sourceId.

redeemFlags
number

The loyalty rule redeemFlags.

redeemMinSpent
number

The loyalty rule redeemMinSpent.

redeemRevenueId
number

The loyalty rule redeemRevenueId.

expiryDate
string

The loyalty rule expiryDate.

startTime
string

The loyalty rule startTime.

endTime
string

The loyalty rule endTime.

productId
number

The loyalty rule productId.

productDateGoryId
number

The loyalty rule productDateGoryId.

productBrandId
number

The loyalty rule productBrandId.

minQty
number

The loyalty rule minQty.

specialFlags
number

The loyalty rule specialFlags.

maxQty
number

The loyalty rule maxQty.

programmeStartDate
string

The loyalty rule programmeStartDate.

programmeEndDate
string

The loyalty rule programmeEndDate.

discountRevenueId
number

The loyalty rule type.

unit
string

The loyalty rule unit.

unique
number

The loyalty rule unique.

amount
number

The loyalty rule amount.

hidden
number

The loyalty rule hidden.

createDate
string

The loyalty rule createDate.

createBy
number

The loyalty rule createBy.

lastModDate
string

The loyalty rule lastModDate.

lastModBy
number

The loyalty rule lastModBy.

typeId
string

The loyalty rule typeId.

mbrlevelids
string

The loyalty rule mbrlevelids.

incoutletids
string

The loyalty rule incoutletids.

excoutletids
string

The loyalty rule excoutletids.

inccategoryids
string

The loyalty rule inccategoryids.

exccategoryids
string

The loyalty rule exccategoryids.

incproductids
string

The loyalty rule incproductids.

excproductids
string

The loyalty rule excproductids.

birthdaymonth
number

The loyalty rule birthdaymonth.

firsttrans
number

The loyalty rule firsttrans.

combine
number

The loyalty rule combine.

pointsperdollarvalues
number

The loyalty rule pointsperdollarvalues.

percentage
number

The loyalty rule percentage.

Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "Jaycern Promotion test 2",
  • "descr": "Jaycern Promotion test 2",
  • "propertyId": "Jaycern Promotion test 2",
  • "outletId": null,
  • "minSpent": 0,
  • "maxSpent": 0,
  • "startDate": "2022-12-06T08:50:05.000+00:00",
  • "endDate": "2099-12-06T08:50:05.000+00:00",
  • "dayFlags": 0,
  • "hourFlags": 0,
  • "dateFlags": 0,
  • "monthFlags": 0,
  • "revenueId": 0,
  • "seqNo": 1,
  • "voucherDescr": "Jaycern Promotion test 2",
  • "expiryText": "",
  • "validity": 30,
  • "purseId": null,
  • "spentMultiplier": 0,
  • "purseMultiplier": 0,
  • "flags": 0,
  • "status": 1,
  • "notifyDay": 0,
  • "productGroupId": 0,
  • "sourceId": 0,
  • "redeemFlags": 0,
  • "redeemMinSpent": 0,
  • "redeemRevenueId": 0,
  • "expiryDate": null,
  • "startTime": 0,
  • "endTime": "",
  • "productId": 0,
  • "productDateGoryId": 0,
  • "productBrandId": 0,
  • "minQty": 0,
  • "specialFlags": 0,
  • "maxQty": 0,
  • "programmeStartDate": null,
  • "programmeEndDate": null,
  • "discountRevenueId": 0,
  • "unit": "",
  • "unique": 0,
  • "amount": 0,
  • "hidden": 0,
  • "createDate": "2022-12-06T08:50:05.000+00:00",
  • "createBy": 0,
  • "lastModDate": "2022-12-06T08:50:05.000+00:00",
  • "lastModBy": 0,
  • "typeId": 0,
  • "mbrlevelids": "1,2,3",
  • "incoutletids": "",
  • "excoutletids": "",
  • "inccategoryids": "",
  • "exccategoryids": "",
  • "incproductids": "",
  • "excproductids": "",
  • "birthdaymonth": 0,
  • "firsttrans": 0,
  • "combine": 0,
  • "pointsperdollarvalues": 0,
  • "percentage": 0,
  • "filters": [
    ],
  • "rewards": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Loyalty Rule successfully!",
  • "result": { },
  • "results": [
    ]
}

Get Loyalty Rule

Get a loyalty rule by its identifier.

Authorizations:
OAuth2
path Parameters
ruleId
required
string

Loyalty Rule ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Loyalty Rule",
  • "result": { },
  • "results": {
    }
}

Update Loyalty Rule

Update a loyalty rule by its identifier.

Authorizations:
OAuth2
path Parameters
ruleId
required
string

Loyalty Rule ID

Request Body schema: application/json

Request body to update loyalty rule by id.

name
string

The loyalty rule name.

descr
string

The loyalty rule descr.

propertyId
number

The loyalty rule propertyId.

outletId
string

The loyalty rule outletId.

minSpent
number

The loyalty rule minSpent.

maxSpent
number

The loyalty rule maxSpent.

startDate
string

The loyalty rule startDate.

endDate
string

The loyalty rule endDate.

dayFlags
number

The loyalty rule dayFlags.

hourFlags
number

The loyalty rule hourFlags.

dateFlags
number

The loyalty rule dateFlags.

monthFlags
number

The loyalty rule monthFlags.

revenueId
number

The loyalty rule revenueId.

seqNo
number

The loyalty rule seqNo.

voucherDescr
string

The loyalty rule voucherDescr.

expiryText
string

The loyalty rule expiryText.

validity
number

The loyalty rule validity.

purseId
number

The loyalty rule purseId.

spentMultiplier
number

The loyalty rule spentMultiplier.

purseMultiplier
number

The loyalty rule purseMultiplier.

flags
string

The loyalty rule flags.

status
number

The loyalty rule status.

notifyDay
number

The loyalty rule notifyDay.

productGroupId
number

The loyalty rule productGroupId.

sourceId
number

The loyalty rule sourceId.

redeemFlags
number

The loyalty rule redeemFlags.

redeemMinSpent
number

The loyalty rule redeemMinSpent.

redeemRevenueId
number

The loyalty rule redeemRevenueId.

expiryDate
string

The loyalty rule expiryDate.

startTime
string

The loyalty rule startTime.

endTime
string

The loyalty rule endTime.

productId
number

The loyalty rule productId.

productDateGoryId
number

The loyalty rule productDateGoryId.

productBrandId
number

The loyalty rule productBrandId.

minQty
number

The loyalty rule minQty.

specialFlags
number

The loyalty rule specialFlags.

maxQty
number

The loyalty rule maxQty.

programmeStartDate
string

The loyalty rule programmeStartDate.

programmeEndDate
string

The loyalty rule programmeEndDate.

discountRevenueId
number

The loyalty rule type.

unit
string

The loyalty rule unit.

unique
number

The loyalty rule unique.

amount
number

The loyalty rule amount.

hidden
number

The loyalty rule hidden.

createDate
string

The loyalty rule createDate.

createBy
number

The loyalty rule createBy.

lastModDate
string

The loyalty rule lastModDate.

lastModBy
number

The loyalty rule lastModBy.

typeId
string

The loyalty rule typeId.

mbrlevelids
string

The loyalty rule mbrlevelids.

incoutletids
string

The loyalty rule incoutletids.

excoutletids
string

The loyalty rule excoutletids.

inccategoryids
string

The loyalty rule inccategoryids.

exccategoryids
string

The loyalty rule exccategoryids.

incproductids
string

The loyalty rule incproductids.

excproductids
string

The loyalty rule excproductids.

birthdaymonth
number

The loyalty rule birthdaymonth.

firsttrans
number

The loyalty rule firsttrans.

combine
number

The loyalty rule combine.

pointsperdollarvalues
number

The loyalty rule pointsperdollarvalues.

percentage
number

The loyalty rule percentage.

Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "Jaycern Promotion test 2",
  • "descr": "Jaycern Promotion test 2",
  • "propertyId": "Jaycern Promotion test 2",
  • "outletId": null,
  • "minSpent": 0,
  • "maxSpent": 0,
  • "startDate": "2022-12-06T08:50:05.000+00:00",
  • "endDate": "2099-12-06T08:50:05.000+00:00",
  • "dayFlags": 0,
  • "hourFlags": 0,
  • "dateFlags": 0,
  • "monthFlags": 0,
  • "revenueId": 0,
  • "seqNo": 1,
  • "voucherDescr": "Jaycern Promotion test 2",
  • "expiryText": "",
  • "validity": 30,
  • "purseId": null,
  • "spentMultiplier": 0,
  • "purseMultiplier": 0,
  • "flags": 0,
  • "status": 1,
  • "notifyDay": 0,
  • "productGroupId": 0,
  • "sourceId": 0,
  • "redeemFlags": 0,
  • "redeemMinSpent": 0,
  • "redeemRevenueId": 0,
  • "expiryDate": null,
  • "startTime": 0,
  • "endTime": "",
  • "productId": 0,
  • "productDateGoryId": 0,
  • "productBrandId": 0,
  • "minQty": 0,
  • "specialFlags": 0,
  • "maxQty": 0,
  • "programmeStartDate": null,
  • "programmeEndDate": null,
  • "discountRevenueId": 0,
  • "unit": "",
  • "unique": 0,
  • "amount": 0,
  • "hidden": 0,
  • "createDate": "2022-12-06T08:50:05.000+00:00",
  • "createBy": 0,
  • "lastModDate": "2022-12-06T08:50:05.000+00:00",
  • "lastModBy": 0,
  • "typeId": 0,
  • "mbrlevelids": "1,2,3",
  • "incoutletids": "",
  • "excoutletids": "",
  • "inccategoryids": "",
  • "exccategoryids": "",
  • "incproductids": "",
  • "excproductids": "",
  • "birthdaymonth": 0,
  • "firsttrans": 0,
  • "combine": 0,
  • "pointsperdollarvalues": 0,
  • "percentage": 0,
  • "filters": [
    ],
  • "rewards": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated a Loyalty Rule successfully!",
  • "result": { },
  • "results": {
    }
}

Delete Loyalty Rule

Delete a loyalty rule by its identifier.

Authorizations:
OAuth2
path Parameters
ruleId
required
string

Loyalty Rule ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted a Loyalty Rule successfully!"
}

Loyalty Issue Award

Loyalty Issue Award.

Authorizations:
OAuth2
path Parameters
flags
required
string

Loyalty Rule Flags

Request Body schema: application/json

Request body loyalty issue award

customerId
required
string

The Customer Id.

customerIdType
required
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
allowDuplicate
integer

Allow issuing of duplicate of certain vouchers

  • 1 for allow issuing of duplicate of certain vouchers
  • 0 for disallow issuing of duplicate of certain vouchers (Default behaviour)
issueDate
string <date>

The reward's issue date.

Responses

Request samples

Content type
application/json
{
  • "customerId": 1,
  • "customerIdType": "uid",
  • "allowDuplicate": 1,
  • "issueDate": "2022-01-20 23:59:59"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Issue Loyalty Award successfully!",
  • "result": { },
  • "results": [
    ]
}

Loyalty Rule Filter Issue Award

Loyalty Rule Filter Issue Award.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Process Loyalty Rule Filter successfully!"
}

Loyalty Rewards

Get Loyalty Rewards

Get all loyalty rewards based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
modeId
integer
Enum: 1 2

Filter results by reward mode. The reward's mode:

  • 1 Membership Reward
  • 2 Loyalty Reward
typeId
integer
Enum: 1 2

Filter results by reward type. The type of reward:

  • 1 Cash Voucher
  • 2 Product Voucher
endDate
string <date-time>
Example: endDate=2022-01-16T08:00:00.000+08:00

Filter results by endDate (ISO format, default value Tomorrow 00:00:00).

status
number
Default: 1

Filter results by status.

flag
string
Example: flag=F01

Filter results by flag.

code
string
Example: code=RW1

Filter results by code of the reward.

name
string
Example: name=Reward 1

Filter results by name of the reward.

descr
string
Example: descr=Reward 1 Description

Filter results by description of the reward.

pageSize
number
Default: 10

Page size of the results.

page
number
Default: 1

Page number of the results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "rewardId"
Enum: "rewardId" "name" "typeId" "point" "statusId" "amount" "startDate" "endDate"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Loyalty Rewards.",
  • "results": [
    ],
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Loyalty Reward

Create a new loyalty reward.

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create a new loyalty reward

typeId
integer
Default: 1
Enum: 1 2

The type of reward:

  • 1 Cash Voucher
  • 2 Product Voucher
modeId
required
integer
Enum: 1 2

The reward's mode:

  • 1 Membership Reward
  • 2 Loyalty Reward
code
string <= 50 characters

The code of the reward.

category
string <= 250 characters

The category of the reward.

name
required
string <= 50 characters

The name of the reward.

description
string

The description of the reward.

imageUrl
string

The image of the reward.

qty
integer

The quantity of reward.

weightage
integer

The weightage of winning the reward.

amount
required
number <decimal>

The amount of dollar given reward.

currency
required
string

3-alpha ISO 4217

unit
string

The unit of reward.

points
integer

The point required to redeem the reward.

productId
integer

The reward's productid.

statusId
required
integer
Default: 1

The reward's status (0 Inactive, 1 Active).

percentage
integer

The discount percentage based voucher.

limitQty
integer

How many time member can 'buy' this reward.

startDate
string <date>

The reward's start date.

endDate
string <date>

The reward's end date.

expiryDate
string <date>

The reward's fixed expiry date.

validity
integer

The reward's validity (in days).

rewardType
string

Type of reward.

terms
string

Terms of reward.

text1
string

Additional custom text to store where to use.

text2
string

Additional custom text to store usage.

text3
string

Additional custom text to store.

text4
string

Additional custom text to store.

text5
string

Additional custom text to store.

flags
string

Additional flags for reward customization.

Responses

Request samples

Content type
application/json
{
  • "typeId": 1,
  • "modeId": 1,
  • "code": "string",
  • "category": "string",
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "qty": 1,
  • "weightage": 5,
  • "amount": 20.24,
  • "currency": "SGD",
  • "unit": "unit",
  • "points": 100,
  • "productId": 123,
  • "statusId": 1,
  • "percentage": 15,
  • "limitQty": 1,
  • "startDate": "2022-01-20 23:59:59",
  • "endDate": "2022-01-20 23:59:59",
  • "expiryDate": "2022-12-31 23:59:59",
  • "validity": 90,
  • "rewardType": "Cash",
  • "terms": "terms",
  • "text1": "text1",
  • "text2": "text2",
  • "text3": "text3",
  • "text4": "text4",
  • "text5": "text5",
  • "flags": "F01"
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Loyalty Reward successfully!",
  • "result": { },
  • "results": {
    }
}

Get Loyalty Reward

Get a loyalty reward by its identifier.

Authorizations:
OAuth2
path Parameters
rewardId
required
string

Loyalty Reward ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found a loyalty reward successfully!",
  • "result": { },
  • "results": {
    }
}

Update Loyalty Reward

Update a loyalty reward by its identifier.

Authorizations:
OAuth2
path Parameters
rewardId
required
string

Loyalty Reward ID

Request Body schema: application/json

Request body to update loyalty reward by id.

typeId
integer
Default: 1
Enum: 1 2

The type of reward:

  • 1 Cash Voucher
  • 2 Product Voucher
modeId
integer
Enum: 1 2

The reward's mode:

  • 1 Membership Reward
  • 2 Loyalty Reward
code
string <= 50 characters

The code of the reward.

category
string <= 250 characters

The category of the reward.

name
string <= 50 characters

The name of the reward.

description
string

The description of the reward.

imageUrl
string

The image of the reward.

qty
integer

The quantity of reward.

weightage
integer

The weightage of winning the reward.

amount
number <decimal>

The amount of dollar given reward.

currency
string

3-alpha ISO 4217

unit
string

The unit of reward.

points
integer

The point required to redeem the reward.

productId
integer

The reward's productid.

statusId
integer
Default: 1

The reward's status (0 Inactive, 1 Active).

percentage
integer

The discount percentage based voucher.

limitQty
integer

How many time member can 'buy' this reward.

startDate
string <date>

The reward's start date.

endDate
string <date>

The reward's end date.

expiryDate
string <date>

The reward's fixed expiry date.

validity
integer

The reward's validity (in days).

rewardType
string

Type of reward.

terms
string

Terms of reward.

text1
string

Additional custom text to store where to use.

text2
string

Additional custom text to store usage.

text3
string

Additional custom text to store.

text4
string

Additional custom text to store.

text5
string

Additional custom text to store.

flags
string

Additional flags for reward customization.

Responses

Request samples

Content type
application/json
{
  • "typeId": 1,
  • "modeId": 1,
  • "code": "string",
  • "category": "string",
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "qty": 1,
  • "weightage": 5,
  • "amount": 20.24,
  • "currency": "SGD",
  • "unit": "unit",
  • "points": 100,
  • "productId": 123,
  • "statusId": 1,
  • "percentage": 15,
  • "limitQty": 1,
  • "startDate": "2022-01-20 23:59:59",
  • "endDate": "2022-01-20 23:59:59",
  • "expiryDate": "2022-12-31 23:59:59",
  • "validity": 90,
  • "rewardType": "Cash",
  • "terms": "terms",
  • "text1": "text1",
  • "text2": "text2",
  • "text3": "text3",
  • "text4": "text4",
  • "text5": "text5",
  • "flags": "F01"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated a Loyalty Reward successfully!",
  • "result": { },
  • "results": {
    }
}

Delete Loyalty Reward

Delete a loyalty reward by its identifier.

Authorizations:
OAuth2
path Parameters
rewardId
required
string

Loyalty Reward ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted a Loyalty Reward successfully!"
}

Get Loyalty Reward Codes

Get all loyalty reward codes based on optional parameters to filter results. Results will be based on the logged in user's access level.

Authorizations:
OAuth2
query Parameters
pageSize
number
Default: 10

Page size of the results.

page
number
Default: 1

Page number of the results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Loyalty Reward Codes.",
  • "results": [
    ],
  • "pageSize": 10,
  • "page": 1,
  • "total": 100
}

Create Loyalty Reward Code

Create a new loyalty reward code.

Authorizations:
OAuth2
Request Body schema: application/json

Request body to create a new loyalty reward code

code
required
string <= 100 characters

The reward code.

statusId
required
number
Default: 1

The reward code status (1 Available, 2 Claimed).

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "statusId": 1
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Created a new Loyalty Reward Code successfully!",
  • "result": { },
  • "results": {
    }
}

Get Loyalty Reward Code

Get a loyalty reward code by its identifier.

Authorizations:
OAuth2
path Parameters
id
required
string

Loyalty Reward Code ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found Loyalty Reward Code!",
  • "result": { },
  • "results": {
    }
}

Update Loyalty Reward Code

Update a loyalty reward code by its identifier.

Authorizations:
OAuth2
path Parameters
id
required
string

Loyalty Reward Code ID

Request Body schema: application/json

Request body to update loyalty reward by id.

code
string <= 100 characters

The reward code.

statusId
number
Default: 1

The reward code status (1 Available, 2 Claimed).

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "statusId": 1
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Updated a Loyalty Reward Code successfully!",
  • "result": { },
  • "results": {
    }
}

Delete Loyalty Reward Code

Delete a loyalty reward code by its identifier.

Authorizations:
OAuth2
path Parameters
id
required
string

Loyalty Reward Code ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Deleted a Loyalty Reward Code successfully!"
}

Redeem a Loyalty Reward

Redeem loyalty redward based on customerId

Authorizations:
OAuth2
path Parameters
rewardId
required
string

Loyalty Reward ID

Request Body schema: application/json

Request body to redeem loyalty reward

customerId
required
string

The Customer Id.

customerIdType
required
string (customerIdType)
Default: "uid"
Enum: "uid" "cuid" "ruid" "guid"

The customer identifier type.

  • lucid will use cuid.
  • crmid/custid will use uid.
redeemOutletId
integer

Id for the outlet where the redemption is done.

redeemEmployeeId
integer

Id for employee who assisted the customer on the redemption.

Responses

Request samples

Content type
application/json
{
  • "customerId": 1,
  • "customerIdType": "uid",
  • "redeemOutletId": 1,
  • "redeemEmployeeId": 1
}

Response samples

Content type
application/json
{
  • "code": 201,
  • "message": "Redeem Reward successfully!",
  • "result": { }
}

Loyalty Memberships

Get Membership

Get membership detail.

Authorizations:
OAuth2
path Parameters
membershipId
required
string (membershipId)
Example: SG-01-FOCPR-49321

The customer membership identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Found membership successfully!",
  • "result": { },
  • "results": {
    }
}

Get Loyalty Memberships

Get Loyalty memberships.

Authorizations:
OAuth2
query Parameters
lucid
required
string

The customer identifier.

programId
required
string

Program id.

pageSize
integer
Default: 10

Page size of results.

page
string
Default: 1

Page number of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for customer memberships.",
  • "results": [
    ],
  • "pageSize": 10,
  • "page": 1,
  • "total": 100
}

Imports

Process Import

Initialise import process based on a predefined template code.

Authorizations:
OAuth2
query Parameters
templateId
required
integer

The import template identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 202,
  • "message": "Import request received."
}

Get Import

Get a import by its template code.

Authorizations:
OAuth2
path Parameters
templateCode
required
string

The import template identifier.

query Parameters
createFrom
string <date-time>
Example: createFrom=2023-01-01T08:00:00.000+08:00

Filter results by startdate starting value (inclusive).

createTo
string <date-time>
Example: createTo=2023-01-20T15:45:00.000+08:00

Filter results by createdate end value (inclusive).

limit
number
Default: 10

Limit number of results.

offset
number
Default: 0

Offset index of results.

sort
string
Default: "desc"
Enum: "asc" "desc"
sortBy
string
Default: "startdate"
Value: "startdate"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Imports.",
  • "result": { },
  • "results": [
    ]
}

Trigger Import Processes

Check for all active import templates and start import processing.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "import ran successfully.",
  • "result": { }
}

Exports

Process Export

Get resource details by template code.

Authorizations:
OAuth2
path Parameters
templateId
required
string

The filter's template identifier.

query Parameters
fileType
string
Default: "json"
Enum: "csv" "json" "facebook"

The export's file type.

createtimefrom
string <date-time>
Example: createtimefrom=2022-01-19T15:45:00.000+00:00

Filter results by createdate starting value (inclusive).

createtimeto
string <date-time>
Example: createtimeto=2022-01-20T15:45:00.000+00:00

Filter results by createdate end value (inclusive).

deliveryMethod
string
Default: "api"
Enum: "api" "file" "ftp"

The delivery method.

fileTransferCode
string

The file transfer code. Used with FTP delivery method.

fileTransferPath
string

The file transfer path. Used with FTP delivery method.

Responses

Response samples

Content type
application/json
Example
{
  • "code": 200,
  • "message": "Exported successfully.",
  • "results": [
    ]
}

Config

Get Countries

Get list of countries.

Authorizations:
OAuth2
query Parameters
page[limit]
integer
Default: 10

Limits the number of result items per page.

page[offset]
integer
Default: 0

Offset index of results, must be multiples of page[limit] parameter.

filter
string

Repeatable parameter for filtering results.

Operators can be specified:

  • [eq] Equal
  • [neq] Not Equal
  • [like] Like
  • [gt] Greater than
  • [ge] Greater than or Equal
  • [lt] Less than
  • [le] Less than or Equal

Example:

  • filter[firstName]=John
  • filter[firstName]=John&filter[lastName]=Smith
  • filter[firstName][like]=John%25
  • filter[age][ge]=10&filter[le]=15
  • filter[country.name]=Singapore
sort
string

Comma-separated list of fields for sorting the results. Prepend with - symbol for descending order.

  • sort=name,-shortName
  • sort=-amount,name
  • sort=project.name
fields
string

Comma-separated list of fields that you want to be returned. By default, all fields are returned.

  • fields=name
  • fields=name,birthDate
include
string

Comma-separated list of sub resources that you want to be returned.

  • include=country

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "meta": {
    },
  • "data": [
    ]
}

Create Country

Create new country.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Ok."
}

Get Country

Get an existing country

Authorizations:
OAuth2
path Parameters
countryId
required
string

Country ID

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Update Country

Update country details by indentifier.

Authorizations:
OAuth2
path Parameters
countryId
required
string

Country ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Ok."
}

Delete Country

Delete country by indentifier.

Authorizations:
OAuth2
path Parameters
countryId
required
string

Country ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Ok."
}

Get Cities

Get list of cities

Authorizations:
OAuth2
query Parameters
page[limit]
integer
Default: 10

Limits the number of result items per page.

page[offset]
integer
Default: 0

Offset index of results, must be multiples of page[limit] parameter.

filter
string

Repeatable parameter for filtering results.

Operators can be specified:

  • [eq] Equal
  • [neq] Not Equal
  • [like] Like
  • [gt] Greater than
  • [ge] Greater than or Equal
  • [lt] Less than
  • [le] Less than or Equal

Example:

  • filter[firstName]=John
  • filter[firstName]=John&filter[lastName]=Smith
  • filter[firstName][like]=John%25
  • filter[age][ge]=10&filter[le]=15
  • filter[country.name]=Singapore
sort
string

Comma-separated list of fields for sorting the results. Prepend with - symbol for descending order.

  • sort=name,-shortName
  • sort=-amount,name
  • sort=project.name
fields
string

Comma-separated list of fields that you want to be returned. By default, all fields are returned.

  • fields=name
  • fields=name,birthDate
include
string

Comma-separated list of sub resources that you want to be returned.

  • include=country

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "meta": {
    },
  • "data": [
    ]
}

Get City

Get an existing city

Authorizations:
OAuth2
path Parameters
cityId
required
string

City ID

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Get Outlets

Get list of outlets

Authorizations:
OAuth2
query Parameters
page[limit]
integer
Default: 10

Limits the number of result items per page.

page[offset]
integer
Default: 0

Offset index of results, must be multiples of page[limit] parameter.

filter
string

Repeatable parameter for filtering results.

Operators can be specified:

  • [eq] Equal
  • [neq] Not Equal
  • [like] Like
  • [gt] Greater than
  • [ge] Greater than or Equal
  • [lt] Less than
  • [le] Less than or Equal

Example:

  • filter[firstName]=John
  • filter[firstName]=John&filter[lastName]=Smith
  • filter[firstName][like]=John%25
  • filter[age][ge]=10&filter[le]=15
  • filter[country.name]=Singapore
sort
string

Comma-separated list of fields for sorting the results. Prepend with - symbol for descending order.

  • sort=name,-shortName
  • sort=-amount,name
  • sort=project.name
fields
string

Comma-separated list of fields that you want to be returned. By default, all fields are returned.

  • fields=name
  • fields=name,birthDate
include
string

Comma-separated list of sub resources that you want to be returned.

  • include=country

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "meta": {
    },
  • "data": [
    ]
}

Get Outlet

Get an existing outlet

Authorizations:
OAuth2
path Parameters
outletId
required
string

Outlet ID

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Get Properties

Get list of properties

Authorizations:
OAuth2
query Parameters
page[limit]
integer
Default: 10

Limits the number of result items per page.

page[offset]
integer
Default: 0

Offset index of results, must be multiples of page[limit] parameter.

filter
string

Repeatable parameter for filtering results.

Operators can be specified:

  • [eq] Equal
  • [neq] Not Equal
  • [like] Like
  • [gt] Greater than
  • [ge] Greater than or Equal
  • [lt] Less than
  • [le] Less than or Equal

Example:

  • filter[firstName]=John
  • filter[firstName]=John&filter[lastName]=Smith
  • filter[firstName][like]=John%25
  • filter[age][ge]=10&filter[le]=15
  • filter[country.name]=Singapore
sort
string

Comma-separated list of fields for sorting the results. Prepend with - symbol for descending order.

  • sort=name,-shortName
  • sort=-amount,name
  • sort=project.name
fields
string

Comma-separated list of fields that you want to be returned. By default, all fields are returned.

  • fields=name
  • fields=name,birthDate
include
string

Comma-separated list of sub resources that you want to be returned.

  • include=country

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Get Property

Get an existing property

Authorizations:
OAuth2
path Parameters
propertyId
required
string

Property ID

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Get Provinces

Get list of provinces

Authorizations:
OAuth2
query Parameters
page[limit]
integer
Default: 10

Limits the number of result items per page.

page[offset]
integer
Default: 0

Offset index of results, must be multiples of page[limit] parameter.

filter
string

Repeatable parameter for filtering results.

Operators can be specified:

  • [eq] Equal
  • [neq] Not Equal
  • [like] Like
  • [gt] Greater than
  • [ge] Greater than or Equal
  • [lt] Less than
  • [le] Less than or Equal

Example:

  • filter[firstName]=John
  • filter[firstName]=John&filter[lastName]=Smith
  • filter[firstName][like]=John%25
  • filter[age][ge]=10&filter[le]=15
  • filter[country.name]=Singapore
sort
string

Comma-separated list of fields for sorting the results. Prepend with - symbol for descending order.

  • sort=name,-shortName
  • sort=-amount,name
  • sort=project.name
fields
string

Comma-separated list of fields that you want to be returned. By default, all fields are returned.

  • fields=name
  • fields=name,birthDate
include
string

Comma-separated list of sub resources that you want to be returned.

  • include=country

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "meta": {
    },
  • "data": [
    ]
}

Get Province

Get an existing province

Authorizations:
OAuth2
path Parameters
provinceId
required
string

Province ID

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "data": {
    }
}

Webhooks

Payloads as sent to the endpoints as POST.

See payload examples:

Get Webhooks

Get existing webhooks

Authorizations:
OAuth2
query Parameters
limit
integer
Default: 10

Limit number of results.

offset
string
Default: 0

Offset index of results.

sort
string
Default: "asc"
Enum: "asc" "desc"
sortBy
string
Default: "id"
Value: "id"

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "Search results for Webhooks.",
  • "results": {},
  • "limit": 10,
  • "offset": 0,
  • "total": 1
}

Create Webhook

Create a webhook for CRMNX to notify.

Authorizations:
OAuth2
Request Body schema: application/json

Request body

url
required
string

The endpoint to receive webhook events. Request payloads to the endpoint will be via POST.

events
required
Array of strings (eventType)
Items Enum: "campaign.created" "campaign.updated" "campaign.deleted" "customer.created" "customer.updated" "customer.deleted" "customer.award.created" "customer.membership.created" "customer.membership.updated" "transaction.created" "transaction.updated" "transaction.deleted" "product.created" "product.updated" "product.deleted" "productTier.created" "productTier.updated" "productTier.deleted" "loyalty.reward.created" "loyalty.reward.updated" "loyalty.reward.deleted" "import.started" "import.completed" "export.started" "export.completed"

If event is not defined in array, it will be removed from subscription.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get Webhook

Get an existing webhook

Authorizations:
OAuth2
path Parameters
webhookId
required
string

Webhook ID

Responses

Response samples

Content type
application/json
{}

Update Webhook

Update a webhook.

Authorizations:
OAuth2
path Parameters
webhookId
required
string

Webhook ID

Request Body schema: application/json

Request body

url
required
string

The endpoint to receive webhook events. Request payloads to the endpoint will be via POST.

events
required
Array of strings (eventType)
Items Enum: "campaign.created" "campaign.updated" "campaign.deleted" "customer.created" "customer.updated" "customer.deleted" "customer.award.created" "customer.membership.created" "customer.membership.updated" "transaction.created" "transaction.updated" "transaction.deleted" "product.created" "product.updated" "product.deleted" "productTier.created" "productTier.updated" "productTier.deleted" "loyalty.reward.created" "loyalty.reward.updated" "loyalty.reward.deleted" "import.started" "import.completed" "export.started" "export.completed"

If event is not defined in array, it will be removed from subscription.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "OK"
}

Delete Webhook

Delete an existing webhook

Authorizations:
OAuth2
path Parameters
webhookId
required
string

Webhook ID

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "OK"
}