फ़ॉर्म कैसे काम करते हैं
साइन-अप फ़ॉर्म लोगों को आपकी ऑडियंस में जोड़ते हैं। यहाँ एक फ़ॉर्म बनाएँ, उसे लिंक के रूप में साझा करें, किसी भी साइट पर एम्बेड करें, या अपने कोड से उस पर भेजें।
एक ड्राफ़्ट और एक लाइव कॉपी
फ़ॉर्म, विज़िटर को दिखने वाली सामग्री की दो कॉपी रखता है। document वह ड्राफ़्ट है जिसे आप संपादित करते हैं, और publishedDocument वह है जिसे होस्ट किया गया पेज, एम्बेड और subscribe एंडपॉइंट इस्तेमाल करते हैं। सहेजने से सिर्फ़ ड्राफ़्ट बदलता है, और POST /forms/{id}/publish उसे लाइव कॉपी में कॉपी करता है। hasUnpublishedChanges बताता है कि दोनों अलग हैं।
draft: कभी प्रकाशित नहीं हुआ। न कोई इसे देख सकता है, न इसके ज़रिए साइन अप कर सकता है।live: प्रकाशित है और साइन-अप ले रहा है।paused: प्रकाशित है, पर बंद है। पेज अपनी सामग्री में से बंद होने का संदेश दिखाता है और साइन-अप अस्वीकार होते हैं।
settings अलग हैं: साइन-अप कहाँ जाते हैं, डबल ऑप्ट-इन, भेजने वाला पता, साइन-अप के बाद का धन्यवाद व्यवहार, और हर साइन-अप की सूचना किसे दी जाती है। ये सहेजते ही लागू हो जाती हैं, फ़ॉर्म प्रकाशित हो या नहीं।
फ़ील्ड
एक दस्तावेज़ fields की सूची, उनके आसपास की सामग्री copy और एक style से बनता है। हर इनपुट फ़ील्ड की एक key होती है, जो वह नाम है जिसके तहत उसका जवाब भेजा जाता है: एक छोटा अक्षर, जिसके बाद 39 तक छोटे अक्षर, अंक या अंडरस्कोर आते हैं, जो फ़ॉर्म में अद्वितीय हो और कभी oe_ से शुरू न हो। हर फ़ॉर्म में ठीक एक email फ़ील्ड होता है, जिसकी कुंजी email है और जो आवश्यक है।
- इनपुट:
email,text,textarea,number,phone,urlऔरdate। - चयन:
select,radioऔरcheckboxes, हर एकoptionsके साथ। - हाँ या नहीं के लिए
checkbox, और ऐसे बॉक्स के लिएconsentजिस पर आवश्यक होने पर टिक लगाना ज़रूरी है। audiencesव्यक्ति को सूचियाँ चुनने देता है: हर विकल्प काvalueइस वर्कस्पेस की किसी ऑडियंस की id है।hiddenऐसा मान ले जाता है जो विज़िटर को कभी नहीं दिखता: वह जो आपका पेज भेजता है, नहीं तो उसकाdefaultValue, जैसे किसी कैंपेन का नाम।heading,paragraphऔरdividerसिर्फ़ फ़ॉर्म का लेआउट बनाते हैं और कुछ नहीं भेजते।
किसी टेक्स्ट फ़ील्ड पर mapsTo को firstName, lastName या name पर सेट करें, और जवाब उस संपर्क का नाम बन जाता है जिसे साइन-अप बनाता है। जो संपर्क पहले से मौजूद है, उसका नाम वही रहता है। हर जवाब सबमिशन पर उस लेबल के साथ रखा जाता है जो उस समय था, ताकि फ़ॉर्म बदलने के बाद भी पुराने सबमिशन सही पढ़े जाएँ।
डबल ऑप्ट-इन
settings.doubleOptIn चालू होने पर साइन-अप pending के रूप में सहेजा जाता है और व्यक्ति को settings.senderAddress से, जो इस वर्कस्पेस का एक पता है, एक लिंक ईमेल किया जाता है। उसे खोलने पर वे ऑडियंस में जुड़ जाते हैं। लिंक सात दिन तक काम करता है। जिस व्यक्ति ने पहले किसी ऑडियंस से सदस्यता छोड़ी थी, उसकी सदस्यता सिर्फ़ इसी तरीके से फिर शुरू होती है, सिंगल ऑप्ट-इन फ़ॉर्म से कभी नहीं। पुष्टि से पहले फिर से साइन-अप करने पर नया साइन-अप नहीं जुड़ता, बल्कि लंबित साइन-अप ही अपडेट हो जाता है।
जिन लोगों को आप ईमेल करते हैं उनकी सुरक्षा के लिए, एक पते को हर फ़ॉर्म से दस मिनट में ज़्यादा से ज़्यादा एक पुष्टि ईमेल मिलता है, और पूरे वर्कस्पेस में दिन में पाँच। आप पुष्टि की प्रतीक्षा वाले साइन-अप को ख़ुद मंज़ूरी दे सकते हैं, या उसे नया लिंक भेज सकते हैं।
कौन क्या देख सकता है
- पढ़ने के लिए
forms:readऔर बदलने के लिएforms:writeचाहिए। साइन-अप को मंज़ूरी देने के लिएcontacts:writeभी चाहिए, क्योंकि इससे एक संपर्क जुड़ता है। - हर वह काम जिससे फ़ॉर्म मेल भेजता है, उसके लिए
emails:sendभी चाहिए: डबल ऑप्ट-इन चालू करना, भेजने वाला पता या पुष्टि ईमेल सेट करना, डबल ऑप्ट-इन फ़ॉर्म को प्रकाशित करना या फिर से शुरू करना, और पुष्टि ईमेल फिर से भेजना। - API कुंजी और मालिक वर्कस्पेस का हर फ़ॉर्म देखते हैं। किसी सदस्य का जोड़ा हुआ ऐप सिर्फ़ वही फ़ॉर्म देखता है जो उस सदस्य ने बनाए, और सिर्फ़ वही ऑडियंस जो उस सदस्य ने बनाईं, साथ में अंतर्निर्मित ऑडियंस भी।
- जिस फ़ॉर्म का भेजने वाला पता या सूचना वाले पते किसी सीमित कुंजी या ऐप की पहुँच से बाहर हों, उसे बनाने, अपडेट करने, प्रकाशित करने, फिर से शुरू करने या डुप्लिकेट करने पर जवाब 422
capability_unsupportedहोता है। - कुछ पतों तक सीमित कुंजी या ऐप भेजने वाले पते और सूचना वाले पतों के रूप में सिर्फ़ वही पते सेट कर सकता है जो उसके पास हैं।
- फ़ॉर्म हटाने पर OAuth ऐप से सत्यापन कोड माँगा जाता है, जैसा दूसरे विनाशकारी बदलावों में होता है। API कुंजी को इसकी कभी ज़रूरत नहीं होती।
form.submitted और form.confirmed वेबहुक आपके सिस्टम को हर साइन-अप के बारे में बताते हैं। कुछ पतों तक सीमित वेबहुक इन्हें कभी नहीं पाता, क्योंकि साइन-अप पूरे वर्कस्पेस के होते हैं।
बॉट और सीमाएँ
oe_websiteनाम का फ़ील्ड बॉट के लिए जाल है: इसे ख़ाली और स्क्रीन से बाहर रखें, जैसा ऊपर का HTML करता है। जो साइन-अप इसे भरता है उसे सामान्य जवाब मिलता है और उसे छोड़ दिया जाता है।- होस्ट किया गया पेज और एम्बेड एक हस्ताक्षरित शुरुआती समय की भी जाँच करते हैं, और जो फ़ॉर्म किसी व्यक्ति के भर पाने से तेज़ वापस भेजा जाए उसे भी इसी तरह छोड़ दिया जाता है।
- एक नेटवर्क दस मिनट में 40 साइन-अप भेज सकता है, आपके सभी फ़ॉर्म में मिलाकर और नतीजा चाहे जो हो। उसके बाद JSON भेजने वाले कॉलर को 429
form_rate_limitedमिलता है, और सादा HTML फ़ॉर्म?outcome=limitedके साथ होस्ट किए गए पेज पर जाता है। - एक वर्कस्पेस डिफ़ॉल्ट रूप से 100 फ़ॉर्म रख सकता है।
कोड, टर्मिनल और एजेंट से
यहाँ की हर चीज़ SDK में openemail.forms के रूप में और CLI में openemail forms के रूप में भी मौजूद है, और MCP सर्वर में फ़ॉर्म टूल हैं, ताकि कोई एजेंट फ़ॉर्म बना, प्रकाशित कर और उस पर नज़र रख सके। MCP पर क्लाइंट डिज़ाइन ख़ुद लिखता है और उसे document के रूप में भेजता है।
अपने कोड से subscribeUrl पर भेजने के लिए किसी क्रेडेंशियल की ज़रूरत नहीं है। जवाब JSON के रूप में भेजें, फ़ॉर्म जिस पेज पर था उसे oe_source के रूप में जोड़ें, oe_started को छोड़ दें, और oe_website ख़ाली भेजें या बिल्कुल न भेजें। एक नेटवर्क से आने वाले सभी साइन-अप हर दस मिनट में 40 की एक ही सीमा साझा करते हैं, इसलिए कई लोगों के साइन-अप आगे भेजने वाला सर्वर उस तक जल्दी पहुँच जाता है: जिन लोगों को आप पहले से जानते हैं, उन्हें इसके बजाय ऑडियंस इम्पोर्ट से जोड़ें।