दस्तावेज़

कॉन्टैक्ट प्रॉपर्टीज़

संपर्कों के लिए कस्टम फ़ील्ड परिभाषित करें — जैसे अकाउंट प्रकार, क्षेत्र या कॉन्ट्रैक्ट स्तर — और उन्हें विजेट के माध्यम से पास करें। प्रॉपर्टीज़ कॉन्टैक्ट की प्रोफ़ाइल पर दिखाई देती हैं, ऑपरेटरों द्वारा संपादन योग्य होती हैं, और इनबॉक्स में फ़िल्टर की जा सकती हैं।

अवलोकन#

Contact Properties आपको अंतर्निहित फ़ील्ड (email, name, userId) से परे बातचीत में संरचित डेटा जोड़ने देती हैं। मुक्त-रूप metadata के विपरीत, प्रॉपर्टीज़ में प्रकारों, लेबलों और सत्यापन के साथ एक परिभाषित स्कीमा होता है — HubSpot या Salesforce के कस्टम फ़ील्ड के समान।

स्कीमा परिभाषित करें

Agent Settings में string, number, enum, boolean, date, url जैसे प्रकारों के साथ प्रॉपर्टी परिभाषाएँ बनाएँ

विजेट से पास करें

Respondo.identify() के माध्यम से प्रॉपर्टी मान भेजें — वे स्वचालित रूप से संग्रहीत और प्रदर्शित होती हैं

फ़िल्टर और संपादन

इनबॉक्स में प्रॉपर्टी मानों के अनुसार बातचीत फ़िल्टर करें। ऑपरेटर कॉन्टैक्ट प्रोफ़ाइल पर कॉन्टैक्ट के एट्रिब्यूट देख और संपादित कर सकते हैं।

प्रॉपर्टीज़ परिभाषित करना#

प्रॉपर्टीज़ प्रत्येक एजेंट के लिए Agent Settings → Contact Properties में परिभाषित की जाती हैं। प्रत्येक प्रॉपर्टी में होता है:

फ़ील्डविवरण
keyकोड में उपयोग किया जाने वाला अनन्य पहचानकर्ता। लेबल से स्वतः-जनरेट होता है (संपादन योग्य)। लोअरकेस अक्षर, अंक और अंडरस्कोर; अक्षर से शुरू होना चाहिए; 2-63 वर्ण। सिस्टम कीज़ (user_id, visitor_id, timezone, page_url, …) आरक्षित हैं। उदाहरण: account_type
labelडैशबोर्ड में दिखाया जाने वाला इंसान के पढ़ने लायक नाम। उदाहरण: "Account Type"
typeमान का प्रकार: string, number, boolean, enum, date, url
enum_valuesenum प्रकार के लिए — अनुमत मानों की सूची। उदाहरण: ["starter", "pro", "enterprise"]
is_filterableभविष्य के फ़िल्टर नियंत्रण के लिए आरक्षित; परिभाषा के साथ स्टोर होता है, लेकिन इनबॉक्स फ़िल्टर पिकर फ़िलहाल सभी परिभाषित प्रॉपर्टीज़ सूचीबद्ध करता है (डिफ़ॉल्ट: true)
is_visibleभविष्य के प्रदर्शन नियंत्रण के लिए आरक्षित; परिभाषा के साथ स्टोर होता है लेकिन UI में अभी लागू नहीं होता (डिफ़ॉल्ट: true)
प्रति एजेंट अधिकतम 50 प्रॉपर्टीज़। सेटिंग्स UI में ड्रैग-एंड-ड्रॉप के माध्यम से प्रॉपर्टीज़ को पुनः क्रमबद्ध किया जा सकता है।

विजेट से पास करना#

Respondo.identify() के properties फ़ील्ड में प्रॉपर्टी मान पास करें। कुंजियाँ Agent Settings की प्रॉपर्टी परिभाषाओं से मेल खानी चाहिए।

विजेट इंटीग्रेशनjavascript
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 (स्ट्रिंग के रूप में पास किया गया)
    is_partner: 'true',           // boolean (स्ट्रिंग के रूप में पास किया गया)
    contract_end: '2026-12-31',   // date
    dashboard_url: 'https://app.example.com/org/123'  // url
  }
});
सभी प्रॉपर्टी मान स्ट्रिंग के रूप में पास किए जाते हैं। डैशबोर्ड प्रकार-विशिष्ट प्रदर्शन संभालता है (उदा., boolean → Yes/No, url → क्लिक करने योग्य लिंक, enum → बैज)।

इंटीग्रेशन स्निपेट#

जैसे ही आप कम से कम एक प्रॉपर्टी परिभाषित कर लेते हैं, Integration Snippet Agent Settings → Contact Properties के अंतर्गत अपने आप दिखाई देता है, जिसमें आपकी सभी प्रॉपर्टी कुंजियाँ पहले से भरी होती हैं। इसे लेने के लिए Copy पर क्लिक करें और अपने एप्लिकेशन में पेस्ट करें। जनरेट किए गए स्निपेट में पहचान सत्यापन (HMAC-SHA256) के लिए एक userHash प्लेसहोल्डर भी शामिल होता है।

मान कैसे संग्रहीत होते हैं#

प्रॉपर्टी मान बातचीत के metadata JSONB फ़ील्ड में cp_ उपसर्ग के साथ संग्रहीत होते हैं। उदाहरण के लिए, कुंजी account_type वाली प्रॉपर्टी cp_account_type के रूप में संग्रहीत होती है।

प्रॉपर्टीज़ हर मैसेज पर अपडेट होती हैं — यदि विजेट नए मान भेजता है, तो वे मौजूदा मानों को अधिलेखित कर देते हैं। इसका अर्थ है कि प्रॉपर्टी मान हमेशा आपके एप्लिकेशन से नवीनतम डेटा दर्शाते हैं।

इनबॉक्स में फ़िल्टर करना#

इनबॉक्स फ़िल्टर बार या किसी सेव्ड View का उपयोग करके प्रॉपर्टी मानों के अनुसार बातचीत फ़िल्टर करें। एक Property शर्त जोड़ें, नाम से प्रॉपर्टी चुनें — पिकर आपके सभी एजेंटों की हर परिभाषा सूचीबद्ध करता है और ऐसी कच्ची key भी स्वीकार करता है जिसकी कोई परिभाषा नहीं है — फिर एक मान चुनें। मान फ़ील्ड टाइप करते ही देखे गए मान और कोई भी enum मान सुझाता है।

API पर, बातचीत सूची के एंडपॉइंट एक cp.<key>=<value> क्वेरी पैरामीटर स्वीकार करते हैं (attr.<key> का एक सटीक उपनाम)। कोई फ्री-टेक्स्ट क्वेरी सिंटैक्स नहीं है:

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

मान संपादित करना#

प्रॉपर्टी मान आपका एप्लिकेशन सेट करता है — विजेट इंटीग्रेशन या API के माध्यम से — और बातचीत विवरण पैनल में वे केवल-पढ़ने योग्य होते हैं। पैनल कॉन्टैक्ट की प्रोफ़ाइल से लिंक करता है, जहाँ ऑपरेटर कॉन्टैक्ट के एट्रिब्यूट देख और संपादित कर सकते हैं (Contacts → कॉन्टैक्ट → Attributes)।

Properties बनाम Metadata

फ़ीचरpropertiesmetadata
स्कीमाAgent Settings में प्रकारों के साथ परिभाषितमुक्त-रूप कुंजी-मान जोड़े
फ़िल्टर योग्यहाँ, फ़िल्टर बार / सेव्ड Views के माध्यम से (API: cp.<key> पैरामीटर)नहीं
ऑपरेटरों द्वारा संपादन योग्यनहीं — मान आपके एप्लिकेशन से आते हैं; कॉन्टैक्ट एट्रिब्यूट कॉन्टैक्ट प्रोफ़ाइल पर संपादित होते हैंनहीं
टाइप किया गया प्रदर्शनहाँ (बैज, लिंक, दिनांक, boolean)केवल सादा टेक्स्ट
स्वतः-पूर्तिहाँ, फ़िल्टर मान फ़ील्ड में मान सुझावनहीं
ऐसे तदर्थ फ़ील्ड के लिए metadata का उपयोग करें जिन्हें फ़िल्टरिंग या टाइप किए गए प्रदर्शन की आवश्यकता नहीं है। संरचित डेटा के लिए properties का उपयोग करें जिसे आपकी टीम सक्रिय रूप से विभाजन और कार्यप्रवाह के लिए उपयोग करेगी।