Update Customer's Custom Attributes

Updates the custom attributes of a given customer. Attribute must first be created using the POST call.

Examples
curl -X PUT "https://api.chartmogul.com/v1/customers/cus_de305d54-75b4-431b-adb2-eb6b9e546012/attributes/custom" \
     -u YOUR_API_KEY: \
     -H "Content-Type: application/json" \
     -d '{
            "custom":{
              "pro": true,
              "channel": {"value": "Twitter", "source": "integration2"}
            }
         }'
customer = ChartMogul::Customer.retrieve("cus_de305d54-75b4-431b-adb2-eb6b9e546012")

customer.update_custom_attributes!(
  pro: true,
  channel: { value: "Twitter", source: "integration2" },
)
ChartMogul.CustomAttribute.update(
  config,
  "cus_de305d54-75b4-431b-adb2-eb6b9e546012",
  {
    custom: {
      pro: true,
      channel: { value: "Twitter", source: "integration2" },
    },
  }
);
$customer = ChartMogul\Customer::retrieve("cus_de305d54-75b4-431b-adb2-eb6b9e546012");

$customer->updateCustomAttributes(
  ["channel" => ["value" => "Twitter", "source" => "integration2"]],
  ["pro" => true]
);
api.UpdateCustomAttributesOfCustomer(
  "cus_de305d54-75b4-431b-adb2-eb6b9e546012",
  map[string]interface{}{
    "channel": cm.AttributeWithSource{
      Value:  "Twitter",
      Source: "integration2",
    },
    "pro": true,
  }
)
chartmogul.CustomAttributes.update(
  config,
  uuid="cus_de305d54-75b4-431b-adb2-eb6b9e546012",
  data={
    "custom": {
      "channel": {"value": "Twitter", "source": "integration2"},
      "pro": True,
    }
  },
)
Result Format
{
  "custom": {
    "CAC": 213,
    "utmCampaign": "social media 1",
    "convertedAt": "2022-09-08 00:00:00",
    "pro": true,
    "channel": "Twitter"
  }
}
{
  :CAC => 213,
  :utmCampaign => "social media 1",
  :convertedAt => "2022-09-08 00:00:00",
  :pro => true,
  :salesRep => "Gabi",
  :channel => "Twitter",
  :age => 8,
}
{
  custom: {
    CAC: 213,
    utmCampaign: "social media 1",
    convertedAt: "2022-09-08 00:00:00",
    pro: true,
    channel: "Twitter"
  }
}
array (
  "CAC" => 213,
  "utmCampaign" => "social media 1",
  "convertedAt" => "2022-09-08 00:00:00",
  "pro" => true,
  "channel" => "Twitter"
)
(*chartmogul.CustomAttributes)(0xc04206e030)({
  Custom: (map[string]interface {}) (len=5) {
    (string) (len=3) "CAC": (float64) 213,
    (string) (len=11) "utmCampaign": (string) (len=14) "social media 1",
    (string) (len=11) "convertedAt": (string) (len=19) "2022-09-08 00:00:00",
    (string) (len=3) "pro": (string) (bool) true,
    (string) (len=7) "channel": (string) (len=7) "Twitter"
  }
 })
<CustomAttributes{
  custom={
    "CAC": 213,
    "utmCampaign": "social media 1",
    "convertedAt": "2022-09-08 00:00:00",
    "pro": True, 
    "channel": "Twitter"}
}>

Note that each attribute has to be already present, non-existent attributes will result in Bad request.

📘

Supported data types and their accepted formats

String - Accepts alphanumeric characters. Maximum of 255 characters allowed.
Integer - Accepts only numeric characters .
Decimal - Accepts floating point numbers.
Timestamp - In the ISO 8601 format.
Boolean - Can be one of TRUE, true, t, 1, FALSE, false, f, or 0.

In the response, custom contains all the custom attributes now on this customer.

Language
Authorization
Basic
base64
: