दस्तावेज़ पर जाएँ
API

फ़ॉर्म कैसे काम करते हैं

साइन-अप फ़ॉर्म लोगों को आपकी ऑडियंस में जोड़ते हैं। यहाँ एक फ़ॉर्म बनाएँ, उसे लिंक के रूप में साझा करें, किसी भी साइट पर एम्बेड करें, या अपने कोड से उस पर भेजें।

एक ड्राफ़्ट और एक लाइव कॉपी

फ़ॉर्म, विज़िटर को दिखने वाली सामग्री की दो कॉपी रखता है। 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 पर सेट करें, और जवाब उस संपर्क का नाम बन जाता है जिसे साइन-अप बनाता है। जो संपर्क पहले से मौजूद है, उसका नाम वही रहता है। हर जवाब सबमिशन पर उस लेबल के साथ रखा जाता है जो उस समय था, ताकि फ़ॉर्म बदलने के बाद भी पुराने सबमिशन सही पढ़े जाएँ।

पेज पर फ़ॉर्म लगाना

पहले प्रकाशित करें। फिर तीनों में से जो पेज के अनुकूल हो उसे इस्तेमाल करें। ये सभी एक ही फ़ॉर्म तक पहुँचते हैं और साइन-अप एक ही तरह गिनते हैं। व्यू सिर्फ़ होस्ट किए गए पेज और एम्बेड पर गिने जाते हैं, इसलिए आपके अपने HTML या कोड से आए साइन-अप कन्वर्ज़न दर बढ़ा देते हैं।

  • url पर होस्ट किया गया पेज, एक अलग पेज जिसे आप कहीं से भी लिंक कर सकते हैं।
  • एम्बेड स्क्रिप्ट, जो फ़ॉर्म को आपके पेज पर एक ऐसे फ़्रेम में लगाती है जो अपना आकार ख़ुद तय करता है।
  • आपका अपना HTML या कोड, जो जवाब subscribeUrl पर भेजता है।
एम्बेड
<script src="https://openemail.uk/embed/form.js" data-openemail-form="frm_3b9d2e7a1c4f80d56e2a9b14" async></script>
HTML
<form action="https://api.openemail.uk/subscribe/frm_3b9d2e7a1c4f80d56e2a9b14" method="post">  <input type="email" name="email" required>  <div style="position:absolute;left:-9999px" aria-hidden="true">    <input type="text" name="oe_website" tabindex="-1" autocomplete="off">  </div>  <button type="submit">Subscribe</button></form>

सादा HTML फ़ॉर्म धन्यवाद पेज पर, या settings.redirectUrl पर रीडायरेक्ट होता है। JSON भेजने वाले कोड को इसके बजाय JSON जवाब मिलता है, जिसका वर्णन subscribe पेज पर है।

डबल ऑप्ट-इन

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 की एक ही सीमा साझा करते हैं, इसलिए कई लोगों के साइन-अप आगे भेजने वाला सर्वर उस तक जल्दी पहुँच जाता है: जिन लोगों को आप पहले से जानते हैं, उन्हें इसके बजाय ऑडियंस इम्पोर्ट से जोड़ें।

आपका इनबॉक्स,
आपकी अपनी शर्तों पर।

व्यवसायों, AI, एजेंट और निजी ईमेल के लिए ईमेल इन्फ़्रास्ट्रक्चर। स्केल, निजता और नियंत्रण के लिए बना। वह सब जो ईमेल में पहले दिन से होना चाहिए था।

© 2026 OpenEmail. सर्वाधिकार सुरक्षित।