put https://api.chartmogul.com/v1/customers//attributes/custom
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 ofTRUE
,true
,t
,1
,FALSE
,false
,f
, or0
.
In the response, custom
contains all the custom attributes now on this customer.