कॉन्टैक्ट प्रॉपर्टीज़
संपर्कों के लिए कस्टम फ़ील्ड परिभाषित करें — जैसे अकाउंट प्रकार, क्षेत्र या कॉन्ट्रैक्ट स्तर — और उन्हें विजेट के माध्यम से पास करें। प्रॉपर्टीज़ कॉन्टैक्ट की प्रोफ़ाइल पर दिखाई देती हैं, ऑपरेटरों द्वारा संपादन योग्य होती हैं, और इनबॉक्स में फ़िल्टर की जा सकती हैं।
अवलोकन#
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_values | enum प्रकार के लिए — अनुमत मानों की सूची। उदाहरण: ["starter", "pro", "enterprise"] |
| is_filterable | भविष्य के फ़िल्टर नियंत्रण के लिए आरक्षित; परिभाषा के साथ स्टोर होता है, लेकिन इनबॉक्स फ़िल्टर पिकर फ़िलहाल सभी परिभाषित प्रॉपर्टीज़ सूचीबद्ध करता है (डिफ़ॉल्ट: true) |
| is_visible | भविष्य के प्रदर्शन नियंत्रण के लिए आरक्षित; परिभाषा के साथ स्टोर होता है लेकिन UI में अभी लागू नहीं होता (डिफ़ॉल्ट: true) |
विजेट से पास करना#
Respondo.identify() के properties फ़ील्ड में प्रॉपर्टी मान पास करें। कुंजियाँ Agent Settings की प्रॉपर्टी परिभाषाओं से मेल खानी चाहिए।
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
}
});इंटीग्रेशन स्निपेट#
जैसे ही आप कम से कम एक प्रॉपर्टी परिभाषित कर लेते हैं, 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
| फ़ीचर | properties | metadata |
|---|---|---|
| स्कीमा | Agent Settings में प्रकारों के साथ परिभाषित | मुक्त-रूप कुंजी-मान जोड़े |
| फ़िल्टर योग्य | हाँ, फ़िल्टर बार / सेव्ड Views के माध्यम से (API: cp.<key> पैरामीटर) | नहीं |
| ऑपरेटरों द्वारा संपादन योग्य | नहीं — मान आपके एप्लिकेशन से आते हैं; कॉन्टैक्ट एट्रिब्यूट कॉन्टैक्ट प्रोफ़ाइल पर संपादित होते हैं | नहीं |
| टाइप किया गया प्रदर्शन | हाँ (बैज, लिंक, दिनांक, boolean) | केवल सादा टेक्स्ट |
| स्वतः-पूर्ति | हाँ, फ़िल्टर मान फ़ील्ड में मान सुझाव | नहीं |
metadata का उपयोग करें जिन्हें फ़िल्टरिंग या टाइप किए गए प्रदर्शन की आवश्यकता नहीं है। संरचित डेटा के लिए properties का उपयोग करें जिसे आपकी टीम सक्रिय रूप से विभाजन और कार्यप्रवाह के लिए उपयोग करेगी।