Custom Attributes
Custom attributes offer a seamless integration experience with our platform and can be managed through either the Solarize UI or the API Reference. The following entities support custom attributes:
- Site
- Customer
- Meter
- Contract
- Price Component
Values
To assign a custom attribute value to an entity, it is essential to create the corresponding custom attribute first. All custom attribute values are encapsulated within a customAttributes
object and can be utilized in POST
, UPDATE
, and GET
actions. Below is an example of an entity object with custom attributes:
{
"id": "a689a45d-2a05-425a-ba47-74434382fd3d",
...
"customAttributes": {
"aText": "Example Text",
"aNumber": 42.2,
"aDate": "2023-11-11",
"aNull": null
}
}
It's important to note that an entity always includes all custom attribute keys, even if no value has been added yet. The default value for an attribute is always null
.
Data types
Our platform supports a variety of data types, enhancing flexibility in your application. The following custom attribute types are supported:
Type | Example |
---|---|
text | "Example Text" |
number | 42.2 |
date | "2023-11-11" |
date_time | "2023-11-11T10:30:00.000Z" |
boolean | true |
Example
This example demonstrates how to create a custom attribute called Business Sector for a customer and set its value via the API.
Step 1: Create the Custom Attribute
curl -X POST 'https://api.solarize.energy/v1/custom-attributes' \
-H 'Content-Type: application/json' \
-d '{
"title": "Business Sector",
"name": "business_sector",
"entity": "customer",
"type": "text"
}'
Step 2: Set the Custom Attribute for a Customer
After the Business Sector attribute is created, its value can be set by referencing the custom attribute name, business_sector, when creating or updating a customer:
# Request:
curl -X PUT 'https://api.solarize.energy/v1/customers/:id' \
--header 'Content-Type: application/json' \
--data '{
"customAttributes": {
"business_sector": "Food"
}
}'
# Response:
{
"data": {
...
"customAttributes": {
"business_sector": "Food"
}
}
}