Skip to main content
Campos adicionais permitem que cada workspace capture informações específicas do seu processo comercial que não fazem parte do schema padrão da Vendaze: CNPJ, origem do lead, segmento de mercado, pontuação interna ou qualquer outro dado relevante. Cada campo pertence ao workspace, tem um tipo fixo e pode ser exibido em pessoas, empresas e/ou negócios conforme a configuração de visibilidade.

Fluxo correto de uso

O uso seguro de campos adicionais segue uma ordem específica que evita problemas de tipagem e inconsistências nos dados. 1. Criar o campo no workspace Antes de associar valores a qualquer registro, o campo precisa existir com o tipo correto configurado. Use POST /v1/custom-fields para isso. 2. Associar valores nos registros Com o campo criado, passe custom_fields no body de POST ou PATCH em pessoas, empresas ou negócios, referenciando o campo pela sua key.

Por que criar o campo antes

Ao enviar uma field_key desconhecida nas rotas de pessoa, empresa ou negócio, a API cria o campo automaticamente com type: text. Isso pode parecer conveniente, mas cria um problema real: se o campo precisar ser select, date, number ou qualquer outro tipo, ele terá sido criado com o tipo errado. Corrigir isso depois exige uma chamada separada de atualização e pode gerar inconsistências em valores já gravados. Crie sempre o campo com o tipo correto antes de começar a gravar valores.

Criar um campo adicional

Campos obrigatórios: label, key e type.
Regras de criação:
  • key é imutável após a criação. Use identificadores descritivos e estáveis, como origem_lead ou cnpj_empresa.
  • type também é imutável. Escolha o tipo correto antes de criar.
  • Para select e multi_select, o campo value.select_list é obrigatório e define as opções disponíveis.
  • Os flags show_people, show_companies e show_deals controlam em quais entidades o campo aparece. O padrão é true para pessoas e empresas, false para negócios.

Tipos disponíveis


Associar valores a registros

Com o campo criado, inclua custom_fields no body ao criar ou atualizar um registro. Cada item requer field_key e value.
A API resolve field_key para o ID interno do campo. Caso nenhum campo com essa chave exista no workspace, ele é criado automaticamente com type: text. Veja a seção acima sobre por que isso deve ser evitado.

Modo de associação

O parâmetro association_mode controla o comportamento ao atualizar um registro via PATCH:
  • append (padrão): define ou substitui o valor de cada field_key enviado, sem alterar os demais campos do registro.
  • replace: remove todos os valores de campos adicionais do registro e insere apenas os enviados nesta requisição.

Referência de formatos por tipo

text

String simples, linha única.

long_text

String com quebras de linha representadas por \n.

number

Número JSON sem aspas. Aceita inteiro ou decimal.

date

String no formato YYYY-MM-DD, sem horário.

select

Key de uma única opção da lista predefinida do campo. Para consultar as keys disponíveis, use GET /v1/custom-fields/:id e inspecione value.select_list.
Enviar uma key inexistente na lista retorna erro de validação.

multi_select

Array JSON com as keys das opções selecionadas.
Para selecionar apenas uma opção, passe um array com um elemento. Para limpar todas as seleções, passe um array vazio.

cpf

String com ou sem pontuação.

cnpj

String com ou sem pontuação.
URL completa com protocolo.

address

Objeto JSON com os subcampos abaixo. Todos são opcionais: envie apenas os que estiverem disponíveis. Subcampos não enviados são armazenados como string vazia.

Ler valores de um registro

Ao buscar um registro por ID, os valores associados retornam no array custom_fields com o objeto field embutido:

Exemplo completo

O exemplo abaixo cria uma pessoa com campos de todos os tipos, considerando que cada campo já foi criado previamente via POST /v1/custom-fields.