Suggest.io। पहले अक्षर को समझें। भाग दो

लगभग एक महीने पहले हमने पहले ही सुझाव दिया था। सुझाव के बारे में प्रासंगिक शीघ्र सेवा ( http://habrahabr.ru/blogs/startup/110509/ )। बीटा परीक्षण की पहली लहर सफल रही, हमने सेवा की क्षमताओं का विस्तार करने का फैसला किया।



नया क्या है



Suggest.io के नए संस्करण में, हमने कुछ वास्तव में दिलचस्प नवाचार पेश किए हैं। लेकिन उस पर और बाद में।

मुख्य बात यह है कि हमारी सेवा सभी उपयोगकर्ता समूहों के लिए यथासंभव सुलभ हो गई है, जिसमें शामिल हैं शुरुआती डेवलपर्स के लिए। इंटरफेस और प्रयोज्य पर काम करने के बाद, हमने क्लाइंट संसाधनों पर युक्तियों के निर्माण और कार्यान्वयन को सरल बनाया है।

अब Suggest.io के मूल संस्करण की कॉन्फ़िगरेशन और स्थापना में दस मिनट से अधिक नहीं और 4 चरणों में लगता है:

1. एक नई साइट जोड़ना
2. साइट के लिए एक नया क्षेत्र असाइन करना
3. प्रॉम्प्ट फ़ील्ड की उपस्थिति सेट करना
4. स्क्रिप्ट स्थापित करना (जेएस कोड की कई पंक्तियों की प्रतिलिपि बनाना)

खोज


सबसे महत्वपूर्ण परिवर्तनों में से एक - अब आप न केवल लाइन की शुरुआत तक, बल्कि पूरे प्रॉम्प्ट में वाक्यांश के सटीक मिलान द्वारा खोज करने के लिए सुझाव.आईओ को कॉन्फ़िगर कर सकते हैं।
आप वरीयताएँ पृष्ठ पर खोज विधि को कॉन्फ़िगर कर सकते हैं

नई डेटा संग्रहण सुविधाएँ



सेवा पर काम करते समय, हमने सोचा कि क्लाइंट साइटों पर सुझाव.आईओ विंडो में और क्या आवश्यक हो सकता है। शायद चित्रों के साथ टूलटिप्स के आउटपुट को व्यवस्थित करना अच्छा होगा। और भी बेहतर - सुझावों का प्रदर्शन विवरण और उन्हें श्रेणियों में समूह: उत्पाद, स्टॉक, घटनाओं, लोगों, आदि। ग्राहक साइट के विषय और रूब्रिकेशन के अनुसार।

एक हजार विकल्पों के माध्यम से जाने के बाद, हम इस निष्कर्ष पर पहुंचे - उपयोगकर्ता को यह तय करना होगा कि इसे क्या और कैसे संग्रहीत किया जाए। तो हमने किया।
अब आप HTTP API के माध्यम से Suggest.io और क्लाइंट साइट के स्वचालित इंटरैक्शन को कॉन्फ़िगर कर सकते हैं। अपनी वेबसाइट के डेटाबेस और सुझाव पर अपने प्रोफ़ाइल के डेटाबेस का सिंक्रनाइज़ेशन सेट करें। विवरण, चित्र, श्रेणियां, लिंक का उपयोग करें - आपको सभी की आवश्यकता है। प्रदर्शन समाचार, फोटो गैलरी के लिंक, समीक्षा, और श्रेणी के क्षेत्रों में सबसे लोकप्रिय प्रश्न। और यह सब अनुरोध के पहले पत्रों द्वारा, एक ही समय में सामान्य सुझाव.आईओ प्रॉम्प्ट क्षेत्र में दिखाई देगा।

सुझाव एपीआई


वर्तमान में चार कार्य कार्यान्वित किए गए हैं:

- स्पष्ट (आधार को पूरी तरह से साफ करने के लिए);
- आयात (.CSV से संकेत आयात करने के लिए);
- निर्यात (सुझाव डेटाबेस से अपने डेटाबेस का निर्यात करने के लिए);
- लॉग (डीबगिंग के लिए उपयोग किया जाता है)।

प्राधिकरण
सुझाव .io एपीआई कार्यों के लिए कॉल करने के लिए, क्रॉस-सर्वर प्राधिकरण का उपयोग करना आवश्यक है।

सुझाया गया HTTP एपीआई HTTP डाइजेस्ट ऑथेंटिकेशन को qop = ऑरिजनल निर्देश के साथ सपोर्ट करता है। RFC2617 में इस प्रकार के प्राधिकरण के बारे में और पढ़ें।

कर्ल का उपयोग करके उदाहरण प्राधिकरण:

curl --digest --user my-server:my-passkey ... 


जहां मेरा सर्वर और मेरा पासकी क्रमशः आपकी साइट की आईडी और गुप्त कुंजी है। आप उन्हें प्रबंधित वेबसाइटों पृष्ठ पर पा सकते हैं।

आयात
आयात का उपयोग करके, आप अपनी साइट के डेटाबेस के सुझाव के साथ स्वचालित सिंक्रनाइज़ेशन को कॉन्फ़िगर कर सकते हैं।

फ़ंक्शन को कॉल करने के लिए सिंटैक्स निम्नानुसार है:

 http://suggest.io/api/v1/suggests/import/<field-name>/<column-definition> 


जहाँ <फ़ील्ड-नाम> उस फ़ील्ड की आईडी है जिसमें आयात होता है, <कॉलम-डेफिनिशन> आपकी .CSV फ़ाइल का संकेत है (संकेत नाम डॉट्स द्वारा अलग किए गए)।

कुछ उदाहरणों पर विचार करें।

मान लें कि हमारे पास फॉर्म के संकेत के साथ एक .CSV फ़ाइल है:

 bananas,2,fruit tomato,2,vegetable apple,1,fruit 


तब आयात फ़ंक्शन कॉल इस तरह दिखाई देगी:

 http://suggest.io/api/v1/suggests/import/fruits_and_vegetables_field/suggest.rating.kind 


ध्यान दें कि सुझाव चर का उपयोग करना आवश्यक है! अन्य चर मनमाने ढंग से सेट किए जा सकते हैं।

चर के लिए धन्यवाद, आप संकेतों की उपस्थिति को स्थापित करने के चरण में आवश्यक डेटा के साथ काम कर सकते हैं।

निर्यात
इस API फ़ंक्शन का उपयोग करके, आप अपने किसी भी फ़ील्ड में .CSV प्रारूप का डेटाबेस डंप प्राप्त कर सकते हैं।

फ़ंक्शन कॉल सिंटैक्स:
 http://suggest.io/api/v1/suggests/export/<field-name>/<column-definition> 


इस प्रकार के कॉलम की परिभाषा, वर्तमान में समर्थित है।

स्पष्ट
फ़ंक्शन को चयनित फ़ील्ड के लिए डेटाबेस को पूरी तरह से साफ़ करने के लिए डिज़ाइन किया गया है।

फ़ंक्शन कॉल सिंटैक्स:
 http://suggest.io/api/v1/suggests/clear/<field-name> 


जावास्क्रिप्ट


सामान्य तौर पर, आरंभीकरण के लिए JS कोड निम्नानुसार है:

 <script type="text/javascript"> suggestioField = 'new-test-field'; //  id ,      suggestioForm = 'sformvQYUy9nuFL'; //  id ,      suggestioFieldId = '108'; //      Suggestio fieldRkey = 'v6LslrWV'; //        Suggestio suggestio.initSuggestio(); </script> 


आरंभीकरण फ़ंक्शन एक ऐसा तत्व बनाता है जिसमें संकेत शामिल होंगे:

 <div class="suggestions-container" id="suggestions"></div> 


संकेत के साथ ब्लॉकों के प्रदर्शन को नियंत्रित करने के लिए, सुझाव जेएस वर्ग प्रारूप की अवधारणा प्रदान करता है।
फॉर्म का JS ऑब्जेक्ट है

 'default':{ suggestionBody: '<div class="one-suggestion" id="suggest/index/">/suggest/</div>', suggestionPrefix: '<div class="prefix"> :</div>', suggestionPostfix: '<div class="postfix">   </div>', onMouseOver:function(event){ }, onMouseOut:function(event){ }, onClick:function(){ }, submitFunction:function(){ } } 


सुझावबॉडी - तत्व में प्रत्येक व्यक्तिगत प्रॉम्प्ट की उपस्थिति का विवरण है;
सुचना उपसर्ग - तत्व में संकेतों के समूह के लिए उपसर्ग की उपस्थिति का वर्णन है। सीधे शब्दों में कहें, यह आइटम संकेतों की सूची को प्रदर्शित करेगा;
सुझावपॉस्टिक्स - तत्व में संकेतों के समूह के लिए "पाद" का वर्णन है। यह आइटम सभी संकेतों के बाद प्रदर्शित किया जाएगा।

ध्यान दें कि आप चर प्रतिस्थापन का उपयोग फ़ॉर्म / you_var_name / में कर सकते हैं।

OnMouseOver, onMouseOut, onClick तत्वों में ऐसे कार्य होते हैं जिन्हें प्रत्येक संकेत पर सौंपा जाएगा।
submitFunction - एक ऐसे फॉर्म के लिए असाइन किया गया है जिसमें एक इनपुट फ़ील्ड है।

फ़ंक्शंस में, आप उन चर को एक्सेस कर सकते हैं जिन्हें आप सीधे निर्दिष्ट करते हैं।

उदाहरण के लिए, यदि आपने फॉर्म के संकेतों के साथ एक फ़ाइल डाउनलोड की है

 suggestion one,10,http://mysite.com/item_one suggestion two,10,http://mysite.com/item_two suggestion two,10,http://mysite.com/item_three ... 

और प्रपत्र का एक कॉलम परिभाषा निर्दिष्ट करें ।ating.suggestion_url ,
तो आप निम्न प्रारूप को प्रदर्शित करने के लिए उपयोग कर सकते हैं:

 ... onClick:function(){ window.location = suggestion_url }, submitFunction:function(){ window.location = suggestion_url } ... 


आप कई अलग-अलग स्वरूपों का उपयोग कर सकते हैं। ऐसा करने के लिए, आपको उस चर को निर्दिष्ट करना होगा जिसके द्वारा संकेतों को समूहीकृत किया जाएगा। सब्जियों और फलों के साथ एक उदाहरण पर विचार करें:

 bananas,2,fruit tomato,2,vegetable apple,1,fruit 


आयात करते समय कॉलम की परिभाषा निर्दिष्ट:

 suggest.rating.kind 


हम प्रकार के प्रकार को समूह में उपयोग करते हैं। आरंभीकरण समारोह से पहले निम्नलिखित निर्देश जोड़ें:

 ... suggestio.formatColumn = 'kind'; suggestio.initSuggestio(); 


अब फल और सब्जियों के लिए दो अलग-अलग स्वरूपों को परिभाषित करते हैं।
फ़ंक्शन का उपयोग करके प्रारूप सेट किया जा सकता है

 suggestio.defineFormat('format_name', format_object); 


सब्जियों:

 suggestio.defineFormat('vegetable', { suggestionBody: '<div class="vegetable-suggestion" id="content/index/">' + '/suggest/ (/kind/)' + '</div>', suggestionPrefix: '<div class="vegetable-prefix">Check out our vegetables:</div>', suggestionPostfix: '<div class="vegetable-postfix"></div>' }); 


फल:

 suggestio.defineFormat('fruit', { suggestionBody: '<div class="fruit-suggestion" id="content/index/">' + '/suggest/ (/kind/)' + '</div>', suggestionPrefix: '<div class="fruit-prefix">Check out our fruits:</div>', suggestionPostfix: '<div class="fruit-postfix"></div>' }); 


यदि आपके कोई प्रश्न हैं, तो हमारी सहायता टीम support@suggest.io पर ईमेल द्वारा उन्हें उत्तर देने में हमेशा खुश है!

Source: https://habr.com/ru/post/In112164/


All Articles