Pular para o conteúdo

Propriedades customizadas

Base path: /api/v1/properties Scope: properties:read (apenas leitura via API)

Propriedades customizadas são campos extras que cada tenant define no CRM (ex: “Cargo”, “Indústria”, “Origem do lead”) além dos campos padrão. Quando você lê/escreve um contato, esses campos aparecem em customProperties: { propertyId: value }.

Pra integrar, sua integração precisa descobrir as propriedades existentes — daí esse endpoint. Não dá pra criar propriedades via API (só admin no CRM).

Lista propriedades

GET /api/v1/properties?objectType=contact

Scope: properties:read

ParamTipoObrigatórioDescrição
objectTypecontact | company | dealTipo de objeto
Terminal window
curl "https://app.indutivacrm.com.br/api/v1/properties?objectType=contact" \
-H "X-API-Key: crm_live_..."
[
{
"id": "ckl4pr01...",
"objectType": "contact",
"internalName": "cargo",
"label": "Cargo",
"type": "text",
"group": "Profissional",
"displayOrder": 0,
"isDefaultInForm": true
},
{
"id": "ckl4pr02...",
"objectType": "contact",
"internalName": "industria",
"label": "Indústria",
"type": "select",
"group": "Profissional",
"displayOrder": 1,
"isDefaultInForm": false,
"options": [
{ "value": "manufatura", "label": "Manufatura" },
{ "value": "varejo", "label": "Varejo" },
{ "value": "servicos", "label": "Serviços" }
]
}
]

Tipos de propriedade (type)

TipoAceita
textString curta (single line)
textareaTexto longo (multi line)
emailString validada como email
phoneTelefone (normalizado E.164)
urlURL completa
numberNúmero (int ou float)
dateData ISO YYYY-MM-DD
datetimeData + hora ISO 8601
selectUma opção de options
multi_selectArray de opções de options
booleantrue / false

Usando ao criar/atualizar

Ao mandar customProperties em POST /contacts (ou companies/deals), use o id da propriedade (não o internalName) como chave:

Terminal window
curl -X POST https://app.indutivacrm.com.br/api/v1/contacts \
-H "X-API-Key: crm_live_..." \
-H "Content-Type: application/json" \
-d '{
"firstName": "Maria",
"email": "maria@acme.com.br",
"customProperties": {
"ckl4pr01...": "Diretora Comercial",
"ckl4pr02...": "manufatura"
}
}'

Erros

StatuserrorCenário
400validation_failedobjectType ausente ou valor inválido
403insufficient_scopeKey sem properties:read