Docs

Propriétés de contact

Définissez des champs personnalisés pour les contacts — comme le type de compte, la région ou le niveau de contrat — et transmettez-les via le widget. Les propriétés sont affichées sur le profil du contact, modifiables par les agents et filtrables dans la boîte de réception.

Vue d’ensemble#

Les propriétés de contact vous permettent d’attacher des données structurées aux conversations, au-delà des champs intégrés (email, name, userId). Contrairement aux metadata libres, les propriétés possèdent un schéma défini avec des types, des libellés et une validation — semblable aux champs personnalisés de HubSpot ou Salesforce.

Définir le schéma

Créez des définitions de propriétés dans les Paramètres de l’agent avec des types comme string, number, enum, boolean, date, url

Transmettre depuis le widget

Envoyez les valeurs des propriétés via Respondo.identify() — elles sont stockées et affichées automatiquement

Filtrer & modifier

Filtrez les conversations par valeurs de propriétés dans la boîte de réception. Les agents peuvent consulter et modifier les attributs d’un contact sur son profil.

Définir des propriétés#

Les propriétés sont définies par agent dans Paramètres de l’agent → Propriétés de contact. Chaque propriété possède :

ChampDescription
keyIdentifiant unique utilisé dans le code. Généré automatiquement à partir du libellé (modifiable). Lettres minuscules, chiffres et tirets bas ; doit commencer par une lettre ; 2 à 63 caractères. Les clés système (user_id, visitor_id, timezone, page_url, …) sont réservées. Exemple : account_type
labelNom lisible affiché dans le tableau de bord. Exemple : "Account Type"
typeType de valeur : string, number, boolean, enum, date, url
enum_valuesPour le type enum — liste des valeurs autorisées. Exemple : ["starter", "pro", "enterprise"]
is_filterableRéservé pour un futur contrôle de filtrage ; stocké avec la définition, mais le sélecteur de filtres de la boîte de réception liste actuellement toutes les propriétés définies (par défaut : true)
is_visibleRéservé pour un futur contrôle d’affichage ; stocké avec la définition mais pas encore appliqué dans l’interface (par défaut : true)
Jusqu’à 50 propriétés par agent. Les propriétés peuvent être réordonnées par glisser-déposer dans l’interface des paramètres.

Transmettre depuis le widget#

Transmettez les valeurs des propriétés dans le champ properties de Respondo.identify(). Les clés doivent correspondre aux définitions de propriétés des Paramètres de l’agent.

Intégration du widgetjavascript
Respondo.identify({
  email: 'user@example.com',
  name: 'Jane Smith',
  userId: 'usr_456',
  properties: {
    account_type: 'enterprise',   // enum
    region: 'eu-west',            // chaîne
    monthly_spend: '15000',       // nombre (transmis sous forme de chaîne)
    is_partner: 'true',           // booléen (transmis sous forme de chaîne)
    contract_end: '2026-12-31',   // date
    dashboard_url: 'https://app.example.com/org/123'  // url
  }
});
Toutes les valeurs de propriétés sont transmises sous forme de chaînes. Le tableau de bord gère l’affichage spécifique au type (par ex. boolean → Oui/Non, url → lien cliquable, enum → badge).

Extrait d’intégration#

L’extrait d’intégration apparaît automatiquement dans Paramètres de l’agent → Propriétés de contact dès que vous avez défini au moins une propriété, avec toutes vos clés de propriétés préremplies. Cliquez sur Copier pour le récupérer et le coller dans votre application. L’extrait généré inclut aussi un espace réservé userHash pour la vérification d’identité (HMAC-SHA256).

Comment les valeurs sont stockées#

Les valeurs des propriétés sont stockées dans le champ JSONB metadata de la conversation avec un préfixe cp_. Par exemple, une propriété avec la clé account_type est stockée sous cp_account_type.

Les propriétés sont mises à jour à chaque message — si le widget envoie de nouvelles valeurs, elles écrasent les existantes. Cela signifie que les valeurs des propriétés reflètent toujours les données les plus récentes de votre application.

Filtrer dans la boîte de réception#

Filtrez les conversations par valeurs de propriétés via la barre de filtres de la boîte de réception ou une vue enregistrée. Ajoutez une condition Propriété, choisissez la propriété par son nom — le sélecteur liste toutes les définitions de vos agents et accepte aussi une clé brute sans définition — puis choisissez une valeur. Le champ de valeur suggère les valeurs observées et les valeurs enum au fil de la saisie.

Via l’API, les endpoints de liste des conversations acceptent un paramètre de requête cp.<key>=<value> (alias exact de attr.<key>). Il n’existe pas de syntaxe de requête en texte libre :

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

Modification des valeurs#

Les valeurs des propriétés sont définies par votre application — via l’intégration du widget ou l’API — et sont en lecture seule dans le panneau de détails de la conversation. Le panneau renvoie vers le profil du contact, où les agents peuvent consulter et modifier les attributs du contact (Contacts → contact → Attributs).

Propriétés vs Metadata

Fonctionnalitépropertiesmetadata
SchémaDéfini dans les Paramètres de l’agent avec des typesPaires clé-valeur libres
FiltrableOui, via la barre de filtres / les vues enregistrées (API : paramètre cp.<key>)Non
Modifiable par les agentsNon — les valeurs proviennent de votre application ; les attributs du contact se modifient sur le profil du contactNon
Affichage typéOui (badges, liens, dates, booléens)Texte brut uniquement
AutocomplétionOui, suggestions de valeurs dans le champ de valeur du filtreNon
Utilisez metadata pour des champs ponctuels qui n’ont pas besoin de filtrage ou d’affichage typé. Utilisez properties pour des données structurées que votre équipe utilisera activement pour la segmentation et les workflows.