Lets you register customers in the org’s loyalty program or just register their identifiers across sources such as InStore, Facebook,Webengage, WeChat, Martjack, TMall, Taobao, JD, ecommerce, Line, Website, and Mobile app. You can also add customer-level extended and custom field details.
You can also issue loyalty card to the customer using this API.
The API functions as follows -
-
If you try registering an identifier that exists in a different source, a new source account is added to the existing account. Details of each source account will be maintained separately.
-
In a source account, identifiers should be unique - no two customers can have a same identifier.
-
You cannot update existing customer details with this API. To update customer details, use customer update API; and to update identifiers, use the Update Identifier API.
Rate Limit
Region | Default Limit (RPM) |
---|---|
Asia-2 (Singapore) | 100 |
Asia-1 (N. Virginia) | 600 |
EMEA (Ireland) | 100 |
Prerequisites
Following are the prerequisites to use customer registration API:
-
Different sources (FACEBOOK, WEB_ENGAGE, WECHAT, INSTORE, MARTJACK, TMALL, TAOBAO, JD, ECOMMERCE, WEBSITE, LINE) supported by your organization
-
Account ids in which you want to register customers(for sources with multiple accounts such as WeChat, Line and Facebook)
Extended Fields are proposed fields used to standardize input values and keys across organizations (unlike custom fields that have no control in input values). Platforms back-end team controls the field names, data-types, enum values, and scopes of extended fields. Extended Fields are created at customer level, transaction level, and transaction line-item level. Examples of customer level extended fields are age_group, preferred_store, gender, and nationality. Extended fields are either associated to verticals or to a generic category (available for all orgs). To know the list of extended fields enabled for an org, use GET v2/extendedFields API.
Request Body Parameters
Parameter | Type | Description |
---|---|---|
loyaltyType | enum | Loyalty status of the customer. Value: loyalty , non_loyalty . |
profiles | list | Meta information of the customer |
Firstname | string | First Name of the customer |
Lastname | string | Last name of the customer |
identifiers | list obj | identifiers of the customer in type and value. |
type | enum | Type of the customer identifier. Values: mobile , email , externalId , wechat , martjackId , fbId mobile , tmall_uname , cuid , ali_uname , jd_uname , vip_uname , mobilePush , and line , and card (to issue loyalty card to the customers through registration). |
value | string | Value of the specified identifier. For the type card, value is the card number.Note: For the mobile numbers, enter the mobile number with the country code |
source | enum | Source in which you want to register a customer. Value: FACEBOOK , WEB_ENGAGE , WECHAT , INSTORE , MARTJACK , TMALL , TAOBAO , JD , ECOMMERCE , WEBSITE , LINE , MOBILE_APP .You can add customers on different sources. |
accountId | string | For sources that support multiple accounts, For example, FACEBOOK, WEB_ENGAGE, WECHAT, MOBILE_APP. |
fields | obj | Customer or card level custom field details in key-value pairs. |
activity | enum | State of the customer's lifecycle (entirety lifecycle). State is auto assigned according to the activity. |
seriesId | int | Card series ID (for card series generated in capillary). Required for the identifier type: card . |
seriesCode | string | Unique series code (for external card series). Applicable for the identifier type: card . |
statusLabel | string | User defined card status. Required for the identifier type: card . |
commChannels | obj | Available communication channels of the customer. Value: mobile , email , wechat , ios , android , line , mobilePush . |
primary | boolean | Pass true if it is the primary identifier of the org (for registration). |
verified | boolean | Pass true if the identifier is verified. |
subscribed | boolean | Pass true if the identifier is subscribed for the org's newsletters (bulk messages). |
meta | obj | Additional details of the identifier. |
lastViewedDate | Date | Date when the customer last opened the app. Applicable for channel mobilePush . |
attributes | obj | Additional Details of the identifier. |
createDate | date-time | Create date indicates the time at which the customer enrolled or was registered in the system. |
associatedWith | string | The TILL code associated with the customer registration |
extendedFields | obj | Customer or card level extended field details in key value pairs. You can only pass extended fields that are enabled for your org with the respective datatype values. |
loyaltyProgramEnrollments | obj | Lets you enroll new customers in the loyalty program. |
programId | int | Unique ID of the loyalty program in which you want to enroll. |
tierNumber | int | Sequence number of the tier that you want to allocate to the customer. For example, 1 for te lowest tier, 2 for the subsequent tier, and so on. |
loyaltyPoints | int | Loyalty Points to credit in customer's account |
tierExpiryDate | date-time | Expiry date and time of the specified tier. Supported format:YYYY-MM-DDTHH:MM:SS+/-(time-zone). |
pointsExpiryDate | date-time | Expiry date and time of the points issued. Supported format: YYYY-MM-DDTHH:MM:SS+/-(time-zone). |
endPointsEnabled | array | Use this to add dummy customers (for internal or testing purposes) and specify the respective endpoints. Values: REFERRAL_ENDPOINT , DVS_ENDPOINT , TIMELINE_ENDPOINT , POINTENGINE_ENDPOINT . |
If you try to register a customer that exists in a different source, the accounts will be merged automatically.