Add Customer

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

RegionDefault 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.

Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!