Update Customer Details

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

ParameterTypeDescription
customerIdstringUnique Id of the customer whose details need to be updated.
sourceenumSpecify 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
accountIdstringAccount in which you want to update the customer details. (Required only for sources with multiple accounts).
use_asyncbooleanPass 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

ParametersTypeDescription
loyaltyTypeenumLoyalty status of the customer.
Value: loyalty, non_loyalty.
profileslistMeta information of the customer
   FirstnamestringFirst Name of the customer.
   LastnamestringLast Name of the customer.
   commChannelsobjCommunication channels of the customer
      typeenumType of the communication channel.
Value: mobile, email, wechat, ios, android, line, mobilePush.
      valuestringBased 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.
      primarybooleanWhether the current identifier of the customer (primary identifier as per the org's configuration).
      verifiedbooleanWhether the current identifier is the primary identifier or not. For example, through OTP.
      metaobjAdditional details of the identifier.
         lastViewedDatedate-timeDate when the customer recently opened the app. Applicable for the channel mobilePush.
extendedFieldsobjExtended 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.
loyaltyProgramEnrollmentsobjLets you enroll customers into loyalty programs.
   programIdintUnique Id of the loyalty program in which you want to enroll. You cannot update if the customer is already enrolled in the loyalty program.
   tierNumberintSequence 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.
   loyaltyPointsintLoyalty points to credit in customer's account.
   tierExpiryDatedate-timeExpiry date and time of the specified tier. Supported format:
YYYY-MM-DDTHH:MM:SS +/- (timezone).
   pointsExpiryDatedate-timeExpiry date and time of the points issued. Supported format:
YYYY-MM-DDTHH:MM:SS +/- (timezone).
Language
URL
Click Try It! to start a request and see the response here!