Custom Fields
Defina e gerencie o esquema de campos personalizados para locais e clientes na sua agência, e leia ou grave os valores armazenados para uma entidade específica. O esquema de campos em si é de toda a agência; os valores por entidade ainda são restritos aos clientes para os quais uma chave limitada está autorizada.
Retorna o esquema de campos personalizados definido para o tipo de entidade informado (location ou client), na ordem em que são exibidos na interface.
Listar definições de campos personalizados
/api/v1/custom-fields/definitions{
"data": [
{
"id": "cm_def_abc123",
"entityType": "location",
"key": "parking_notes",
"label": "Parking notes",
"type": "text",
"required": false,
"options": null,
"createdBy": "user",
"order": 0
}
]
}Adiciona um novo campo personalizado ao esquema para o tipo de entidade informado. A key do campo é derivada do seu label e é imutável depois disso; campos do tipo select exigem pelo menos uma opção.
Criar uma definição de campo personalizado
/api/v1/custom-fields/definitions{
"data": {
"definition": {
"id": "cm_def_abc123",
"entityType": "location",
"key": "parking_notes",
"label": "Parking notes",
"type": "text",
"required": false,
"options": null,
"createdBy": "user",
"order": 0
}
}
}Edita o label, a flag required, as opções ou a ordem de exibição de uma definição de campo personalizado. O type e a key do campo não podem ser alterados após a criação.
Atualizar uma definição de campo personalizado
/api/v1/custom-fields/definitions{
"data": {
"definition": {
"id": "cm_def_abc123",
"entityType": "location",
"key": "parking_notes",
"label": "Parking notes",
"type": "text",
"required": true,
"options": null,
"createdBy": "user",
"order": 0
}
}
}Arquiva uma definição de campo personalizado para que ela não apareça mais no esquema nem aceite novos valores. Valores já armazenados sob sua key permanecem intactos. Um definitionId desconhecido ou já arquivado é um no-op, não um erro.
Arquivar uma definição de campo personalizado
/api/v1/custom-fields/definitions{
"data": {
"archived": true
}
}Retorna os valores de campos personalizados armazenados em um local ou cliente, indexados pela key do campo.
Obter os valores de campos personalizados de uma entidade
/api/v1/custom-fields/values{
"data": {
"values": {
"parking_notes": "Free lot behind the building."
}
}
}Define um valor de campo personalizado em um local ou cliente. Passe null (ou um valor vazio) para limpar o campo. O valor é validado contra a definição do campo — por exemplo, o valor de um campo select deve ser uma de suas opções definidas.
Definir um valor de campo personalizado
/api/v1/custom-fields/values{
"data": {
"values": {
"parking_notes": "Free lot behind the building."
}
}
}