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:
| Campo | Descrição |
|---|---|
| key | Identificador ú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 |
| label | Nome legível exibido no dashboard. Exemplo: "Account Type" |
| type | Tipo de valor: string, number, boolean, enum, date, url |
| enum_values | Para o tipo enum — lista de valores permitidos. Exemplo: ["starter", "pro", "enterprise"] |
| is_filterable | Reservado 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_visible | Reservado para um controle futuro de exibição; é armazenado com a definição, mas ainda não é aplicado na interface (padrão: true) |
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.
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
}
});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=enterpriseEdiçã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ística | properties | metadata |
|---|---|---|
| Esquema | Definido nas Configurações do agente com tipos | Pares chave-valor de formato livre |
| Filtrável | Sim, via barra de filtros / Vistas salvas (API: parâmetro cp.<key>) | Não |
| Editável pelos atendentes | Não — os valores vêm do seu app; os atributos do contato são editados no perfil do contato | Não |
| Apresentação com tipos | Sim (selos, links, datas, booleanos) | Apenas texto simples |
| Preenchimento automático | Sim, sugestões de valores no campo de valor do filtro | Não |
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.