CDA (Content Delivery API)

अंतिम अपडेट: 3 जुलाई 2026

CDA (Content Delivery API) एक केवल-पढ़ने वाला API है जो प्रकाशित Content, Media आदि को विज़िटर तक पहुँचाता है। जब Space चलाने वाला पक्ष कंटेंट स्टूडियो या CMA से कंटेंट बनाकर प्रकाशित करता है, तो वेबसाइट और ऐप CDA के ज़रिए उस प्रकाशित संस्करण को पढ़कर स्क्रीन पर दिखाते हैं। बनाना, संपादित करना और प्रकाशित करना CDA नहीं, बल्कि CMA का काम है।

बेस URL https://cda.weegloo.com/v1 है। प्रमाणीकरण के लिए सामान्यतः least-privilege DeliveryAccessToken का उपयोग होता है। यह एक ऐसा टोकन है जिसके पास केवल आवश्यक दायरा होता है, ताकि सार्वजनिक ब्राउज़र डिलीवरी के लिए सुरक्षित रहे। Weegloo User Bearer टोकन से भी पढ़ा जा सकता है, पर ब्राउज़र वितरण के लिए उसके पास अनुमतियाँ अधिक होती हैं, इसलिए DeliveryAccessToken की अनुशंसा की जाती है।

सामान्य व्यवहार

नीचे दी गई बातें समग्र रूप से CDA संसाधनों पर लागू होती हैं। हर संसाधन पृष्ठ इन व्यवहारों को आधार मानकर केवल अपनी विशिष्ट सामग्री को कवर करता है।

  • केवल पढ़ना। हर एंडपॉइंट एक चयन (GET) है। लिखना और प्रकाशित करना CMA के अधिकार-क्षेत्र में है।

  • केवल प्रकाशित ही दिखता है। Content, Media और Content Type का केवल प्रकाशित स्नैपशॉट ही पहुँचाया जाता है। CMA का Draft या अप्रकाशित बदलाव CDA पर प्रकट नहीं होते।

  • प्रकाशन स्नैपशॉट sys. ऊपर बताए गए तीन संसाधनों के sys में प्रबंधन के लिए उपयोगी version, status और publish नहीं होते, बल्कि केवल revision होता है जो सार्वजनिक किए गए समय के संस्करण की ओर संकेत करता है। (Locale प्रकाशन का लक्ष्य नहीं, बल्कि एक कॉन्फ़िगरेशन संसाधन है, इसलिए वह version को ज्यों का त्यों रखता है।)

  • locale से भाषा का चयन। Content और Media के चयन में locale क्वेरी पैरामीटर से तय होता है कि किस भाषा में प्राप्त करना है। यह तीन तरीकों से काम करता है।

    • locale=ko-KR की तरह कोड देने पर, fields को उस लोकेल के एक मान के रूप में लौटाया जाता है (लोकेल मैप के रूप में नहीं)। यदि मान न हो और Fallback भी न पहुँचे, तो वह फ़ील्ड खाली या null रहता है।
    • छोड़ देने पर Space के डिफ़ॉल्ट Locale के अनुसार उसी तरीके से लौटाया जाता है।
    • locale=* देने पर एक भाषा चुनने के बजाय, सभी लोकेल मानों वाला एक मैप ({ apiName: { locale: value } }) ज्यों का त्यों लौटाया जाता है।

    एक भाषा में प्राप्त करने वाले पहले दो मामलों में, प्रतिक्रिया के साथ x-weegloo-locale हेडर आता है जो बताता है कि वास्तव में किस लोकेल का उपयोग हुआ (locale=* होने पर यह नहीं आता)। (Content Type ढाँचे का स्कीमा है, इसलिए वह locale स्वीकार नहीं करता, और Sync भाषा चुने बिना लोकेल मैप को ज्यों का त्यों पहुँचाता है।)

  • लेखक का प्रकटीकरण। Content के createdBy और updatedBy केवल तभी पहुँचाए जाते हैं जब उस Content Type का publishWithAuthor चालू हो। Media लेखक की जानकारी हमेशा छोड़ देता है।

संसाधन

  • Content Type: प्रकाशित Content Type (कंटेंट का ढाँचा और फ़ील्ड परिभाषा) का चयन करता है।
  • Content: प्रकाशित Content का पूरी सूची, एकल और Content Type के अनुसार चयन करता है।
  • Media: प्रकाशित Media (फ़ाइल संपत्ति) और डिलीवरी URL का चयन करता है।
  • Locale: Space द्वारा समर्थित भाषा सेटिंग (code, डिफ़ॉल्ट है या नहीं, fallbackCode) का चयन करता है। यह कॉन्फ़िगरेशन संसाधन है, इसलिए sys में version रखता है।
  • Sync: अंतिम सिंक के बाद केवल बदली और हटाई गई चीज़ें ही प्राप्त करने वाला वृद्धिशील सिंक है। मान को लोकेल मैप के रूप में ज्यों का त्यों पहुँचाता है और एक भाषा नहीं चुनता।
  • CMA Content Type: कंटेंट का ढाँचा और कंटेंट बनाने, संपादित करने तथा प्रकाशित करने वाला प्रबंधन API.
  • ACDA: वही डिलीवरी सदस्य (ServiceUser) पहचान के साथ करने वाला संस्करण.