put https://{host}/v2/customers/
Lets you update existing customer details.
You can update profile information, extended field values, communication details, custom field values, extended field values, and loyalty status (only non loyalty to loyalty) on any source such as FACEBOOK
, WEB_ENGAGE
, WECHAT
, INSTORE
, MARTJACK
, TMALL
, TAOBAO
, JD
, ECOMMERCE
, and WEBSITE
.
Limitations of the customer update API -
- Cannot update identifiers with this API
- Cannot modify source type
- Cannot change a loyalty customer to non-loyalty but can change a non-loyalty customer to a loyalty
Prerequisites
The following are the prerequisites for updating customer details -
- Unique customer id of the respective customer
- Source in which you want to modify the details
- Account id of the specific source in which you want to modify the customer details
Request URL
Request Query Parameters
Parameter | Type | Description |
---|---|---|
customerId | string | Unique Id of the customer whose details need to be updated. |
source | enum | Specify the source in which you want to update the customer details - FACEBOOK, WEB_ENGAGE, WECHAT, INSTORE, MARTJACK, TMALL, TAOBAO, JD, ECOMMERCE, WEBSITE, LINE, MOBILE_APP. For sources with multiple account |
accountId | string | Account in which you want to update the customer details. (Required only for sources with multiple accounts). |
use_async | boolean | Pass true to run loyalty activities in the back ground. Hence, sideEffects are not returned in the response. Pass false to wait for loyalty activities to complete and return the side effects. |
Request Body Parameters
Parameters | 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. |
commChannels | obj | Communication channels of the customer |
type | enum | Type of the communication channel. Value: mobile , email , wechat , ios , android , line , mobilePush . |
value | string | Based on the channel type enter the channel value. For example, mobile number is the value for mobile. Note: For mobile numbers, add the mobile number with the country code. |
primary | boolean | Whether the current identifier of the customer (primary identifier as per the org's configuration). |
verified | boolean | Whether the current identifier is the primary identifier or not. For example, through OTP. |
meta | obj | Additional details of the identifier. |
lastViewedDate | date-time | Date when the customer recently opened the app. Applicable for the channel mobilePush . |
extendedFields | obj | Extended field details of the customer in key:value pairs. You can only pass extended fields that are enabled for your orgwith the respective datatypes value. |
loyaltyProgramEnrollments | obj | Lets you enroll customers into loyalty programs. |
programId | int | Unique Id of the loyalty program in which you want to enroll. You cannot update if the customer is already enrolled in the loyalty program. |
tierNumber | int | Sequence number of the tier that you want to allocate to the customer. For example, 1 for the lower tier, and 2 for the next 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 +/- (timezone). |
pointsExpiryDate | date-time | Expiry date and time of the points issued. Supported format: YYYY-MM-DDTHH:MM:SS +/- (timezone). |