Create attribute
Create custom attributes to personalize our app to meet your needs.
Send a messages or a triggered messages based on criteria you care about. Attributes will help you filter your users.
As stated below in the table, you can set 4 different types for attribute: boolean (true/false), integer (number), date (YYYY-MM-DD format) and string (just a text, for example: "this is sample string 123").
POST
/attributes/
Data
Type
Description
name
string
The name of an attribute you want to create. Has to be at least 1 character, and cannot be longer than 32 characters.
content_type
string
The type of content you want create attribute for. Possible content types are: clientuser, company, deal, product
curl -X POST -H "Authorization: Token <your_64_char_api_key>" -H "Content-Type: application/json" -d '{
"value_type": "boolean",
"name": "My Attribute",
"content_type": "clientuser"
}' "https://<your_app_subdomain>.user.com/api/public/attributes/"
Response
{
"content_type": "user",
"name_std": "my_attribute",
"value_type": "boolean",
"id": 2511,
"name": "My Attribute"
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://<your_app_subdomain>.user.com/api/public/attributes/",
"method": "POST",
"headers": {
"authorization": "Token <your_64_char_api_key>",
"content-type": "application/json"
},
"processData": false,
"data": "{ \n \"value_type\": \"boolean\", \n \"name\": \"My attribute\", \n \"content_type\": \"clientuser\" \n}"
}
$.ajax(settings).done(function (response) {
console.log(response);
});
var data = JSON.stringify({
"value_type": "boolean",
"name": "My Attribute",
"content_type": "clientuser"
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://<your_app_subdomain>.user.com/api/public/attributes/");
xhr.setRequestHeader("authorization", "Token <your_64_char_api_key>");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
var request = require("request");
var options = { method: 'POST',
url: 'https://<your_app_subdomain>.user.com/api/public/attributes/',
headers:
{ 'content-type': 'application/json',
authorization: 'Token <your_64_char_api_key>' },
body: { value_type: 'boolean', name: 'My Attribute', content_type: 'clientuser' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://<your_app_subdomain>.user.com/api/public/attributes/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"value_type\": \"boolean\",\n \"name\": \"My Attribute\"\n}", \n \"content_type\": \"clientuser\" \n}"
CURLOPT_HTTPHEADER => array(
"authorization: Token <your_64_char_api_key>",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests
url = "https://<your_app_subdomain>.user.com/api/public/attributes/"
payload = "{\n \"value_type\": \"boolean\",\n \"name\": \"My Attribute\"\n}", \n \"content_type\": \"clientuser\" \n}"
headers = {
'authorization': "Token <your_64_char_api_key>",
'content-type': "application/json"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
import http.client
conn = http.client.HTTPSConnection("<your_app_subdomain>.user.com")
payload = "{ \n \"value_type\": \"boolean\", \n \"name\": \"My attribute\", \n \"content_type\": \"clientuser\" \n}"
headers = {
'authorization': "Token <your_64_char_api_key>",
'content-type': "application/json"
}
conn.request("POST", "/api/public/attributes/", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))