Documentação

Propriedades de contato

Defina campos personalizados para os contatos — como tipo de conta, região ou nível de contrato — e passe-os através do widget. As propriedades são mostradas no perfil do contato, editáveis pelos atendentes e filtráveis na Caixa de entrada.

Visão geral#

As propriedades de contato permitem anexar dados estruturados às conversas para além dos campos incorporados (e-mail, nome, userId). Ao contrário dos metadata de formato livre, as propriedades têm um esquema definido com tipos, rótulos e validação — à semelhança dos campos personalizados do HubSpot ou do Salesforce.

Definir o esquema

Crie configurações de propriedades nas Configurações do agente com tipos como string, number, enum, boolean, date, url

Passar a partir do widget

Envie valores de propriedades via Respondo.identify() — são armazenados e apresentados automaticamente

Filtrar e editar

Filtre conversas por valores de propriedades na Caixa de entrada. Os atendentes podem ver e editar os atributos de um contato no perfil do contato.

Definir propriedades#

As propriedades são definidas por agente em Configurações do agente → Propriedades de contato. Cada propriedade tem:

CampoDescrição
keyIdentificador único usado no código. Gerado automaticamente a partir da etiqueta (editável). Letras minúsculas, dígitos e sublinhados; deve começar com uma letra; 2-63 caracteres. As chaves de sistema (user_id, visitor_id, timezone, page_url, …) são reservadas. Exemplo: account_type
labelNome legível exibido no dashboard. Exemplo: "Account Type"
typeTipo de valor: string, number, boolean, enum, date, url
enum_valuesPara o tipo enum — lista de valores permitidos. Exemplo: ["starter", "pro", "enterprise"]
is_filterableReservado para um controle futuro de filtragem; é armazenado com a definição, mas o seletor de filtros da Caixa de entrada atualmente lista todas as propriedades definidas (padrão: true)
is_visibleReservado para um controle futuro de exibição; é armazenado com a definição, mas ainda não é aplicado na interface (padrão: true)
Até 50 propriedades por agente. As propriedades podem ser reordenadas por arrastar e largar na interface de configurações.

Passar a partir do widget#

Passe os valores das propriedades no campo properties de Respondo.identify(). As chaves devem corresponder às configurações de propriedades das Configurações do agente.

Integração no widgetjavascript
Respondo.identify({
  email: 'user@example.com',
  name: 'Jane Smith',
  userId: 'usr_456',
  properties: {
    account_type: 'enterprise',   // enum
    region: 'eu-west',            // string
    monthly_spend: '15000',       // number (passado como string)
    is_partner: 'true',           // boolean (passado como string)
    contract_end: '2026-12-31',   // date
    dashboard_url: 'https://app.example.com/org/123'  // url
  }
});
Todos os valores das propriedades são passados como strings. O dashboard cuida da exibição específica de cada tipo (por exemplo, boolean → Sim/Não, url → link clicável, enum → selo).

Snippet de integração#

O Snippet de integração aparece automaticamente em Configurações do agente → Propriedades de contato assim que você define pelo menos uma propriedade, com todas as chaves das suas propriedades já preenchidas. Clique em Copiar para pegá-lo e cole-o no seu app. O snippet gerado também inclui um placeholder de userHash para a verificação de identidade (HMAC-SHA256).

Como os valores são armazenados#

Os valores das propriedades são armazenados no campo JSONB metadata da conversa, com o prefixo cp_. Por exemplo, uma propriedade com a chave account_type é armazenada como cp_account_type.

As propriedades são atualizadas a cada mensagem — se o widget enviar novos valores, eles substituem os existentes. Isso significa que os valores das propriedades refletem sempre os dados mais recentes do seu app.

Filtrar na Caixa de entrada#

Filtre conversas por valores de propriedades usando a barra de filtros da Caixa de entrada ou uma Vista salva. Adicione uma condição Propriedade, escolha a propriedade pelo nome — o seletor lista todas as definições dos seus agentes e também aceita uma chave bruta sem definição — e depois escolha um valor. O campo de valor sugere valores observados e quaisquer valores de enum à medida que você digita.

Pela API, os endpoints de listagem de conversas aceitam um parâmetro de consulta cp.<key>=<value> (um alias exato de attr.<key>). Não existe sintaxe de consulta em texto livre:

GET /api/v1/conversations?cp.account_type=enterprise

Edição de valores#

Os valores das propriedades são definidos pelo seu app — via integração do widget ou pela API — e são somente leitura no painel de detalhes da conversa. O painel leva ao perfil do contato, onde os atendentes podem ver e editar os atributos do contato (Contatos → contato → Atributos).

Propriedades vs metadata

Característicapropertiesmetadata
EsquemaDefinido nas Configurações do agente com tiposPares chave-valor de formato livre
FiltrávelSim, via barra de filtros / Vistas salvas (API: parâmetro cp.<key>)Não
Editável pelos atendentesNão — os valores vêm do seu app; os atributos do contato são editados no perfil do contatoNão
Apresentação com tiposSim (selos, links, datas, booleanos)Apenas texto simples
Preenchimento automáticoSim, sugestões de valores no campo de valor do filtroNão
Use metadata para campos pontuais que não precisam de filtragem nem de exibição tipada. Use properties para dados estruturados que a sua equipe vai usar ativamente na segmentação e no fluxo de trabalho.