Content

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

CDA (Content Delivery API) एक केवल-पढ़ने वाला API है जो प्रकाशित संसाधनों को सार्वजनिक आगंतुकों तक पहुँचाता है. यह पेज प्रकाशित Content, यानी Content Type नामक ढाँचे के अनुसार बनाए गए वास्तविक डेटा को एक-एक करके पढ़ने का तरीका बताता है. CDA प्रकाशन के समय का स्नैपशॉट पहुँचाता है, इसलिए कंटेंट स्टूडियो में अभी तक प्रकाशित न किए गए कार्य-संस्करण यहाँ दिखाई नहीं देते.

CDA में केवल पढ़ने (GET) वाले endpoint हैं, और Content को बनाने, बदलने तथा प्रकाशित करने का काम CMA Content संभालता है. प्रमाणीकरण और प्रकाशन वितरण मॉडल (प्रकाशन स्नैपशॉट, revision, केवल प्रकाशित ही दिखता है, लेखक का प्रदर्शन publishWithAuthor पर निर्भर) जैसे CDA के साझा व्यवहार के लिए CDA अवलोकन देखें. locale से किस भाषा में पाना है यह तय करने का तरीका नीचे locale और fields में बताया गया है.

संसाधन संरचना

नीचे डेमो Space के एक प्रकाशित Content ("스테인리스 텀블러 500ml" उत्पाद) को CDA locale=ko-KR के साथ एकल रूप में पढ़कर पहुँचाने का स्वरूप दिखाया गया है. sys (सिस्टम गुण) के साथ-साथ, इसमें fields होता है जिसमें इस Content द्वारा अनुसरण किए जाने वाले Content Type के field मानों को रखा जाता है.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7OGhwhlqvAvq",
    "type": "Content",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "contentType": { "sys": { "id": "3trmXRLdJF4GBlAjtcuoZ7Pnxj8dlA", "type": "Refer", "targetType": "ContentType" } },
    "createdAt": "2026-06-15T15:16:12.151Z",
    "updatedAt": "2026-06-16T14:31:20.073Z",
    "revision": 3
  },
  "fields": {
    "price": 18000,
    "description": "이중 진공 단열로 보온·보냉이 오래갑니다. 500ml 대용량.",
    "photo": null,
    "productName": "스테인리스 텀블러 500ml"
  }
}

मुख्य कुंजियाँ:

  • sys.id: Content की विशिष्ट पहचान. यह एकल-पठन पथ के {contentId} में जाती है.
  • sys.contentType: इस Content द्वारा अनुसरण किए जाने वाले Content Type (ढाँचे) की ओर इंगित करने वाला Refer. sys.id उस Content Type की पहचान है, और इसमें कौन-से field हैं यह CDA Content Type में पढ़ा जा सकता है.
  • sys.revision: प्रकाशन के समय का संस्करण. CDA प्रबंधन के लिए version नहीं रखता, इसलिए प्रकाशन संस्करण को इंगित करने वाला मान केवल revision है.
  • fields: एक वस्तु जिसकी कुंजियाँ Content Type के प्रत्येक field का apiName होती हैं. मान अनुरोधित locale का एकमात्र मान होता है (यह locale मानचित्र नहीं है). ऊपर के उदाहरण में photo इसलिए null है क्योंकि कोई जुड़ा हुआ Media नहीं है.

सिस्टम गुण (sys)

प्रकाशित Content का sys केवल प्रकाशन स्नैपशॉट के गुण रखता है. space, contentType, createdBy, updatedBy Refer स्वरूप ({ "sys": { "id", "type": "Refer", "targetType" } }) में आते हैं.

गुणप्रकारविवरण
idstringसंसाधन की विशिष्ट पहचान.
typestringसंसाधन का प्रकार. Content हमेशा "Content" होता है.
spaceRefer<Space>वह Space जिससे यह Content संबंधित है.
contentTypeRefer<ContentType>वह Content Type (ढाँचा) जिसका यह Content अनुसरण करता है.
createdAtstring (date-time)निर्माण का समय.
updatedAtstring (date-time)अंतिम संशोधन का समय.
revisionintegerप्रकाशन के समय का संस्करण. हर बार प्रकाशित करने पर उस समय का संस्करण यहाँ रखा जाता है.
createdByRefer<User>बनाने वाला उपयोगकर्ता. यह तभी शामिल होता है जब इस Content द्वारा अनुसरण किए जाने वाले Content Type का publishWithAuthor चालू हो.
updatedByRefer<User>अंतिम बार संशोधन करने वाला उपयोगकर्ता. यह तभी शामिल होता है जब publishWithAuthor चालू हो.

चूँकि यह प्रकाशन स्नैपशॉट है, CMA के sys में मौजूद version, status, publish, archive यहाँ नहीं रखे जाते. प्रकाशन संस्करण को इंगित करने वाला मान केवल revision है.

locale और fields

locale क्वेरी पैरामीटर से तय होता है कि किस भाषा में पाना है. यह तीन तरह से काम करता है.

  • locale=ko-KR की तरह कोड देने पर, fields को उस locale के एकमात्र मान के रूप में लौटाया जाता है. CMA जहाँ fields.productName.ko-KR की तरह हर locale के मानों वाला मानचित्र लौटाता है, उसके विपरीत CDA अनुरोधित एक locale का मान चुनकर सीधे fields.productName में रख देता है. यदि मान न हो और Fallback भी न पहुँचे, तो वह field null होता है (ऊपर संसाधन संरचना में photo का null होना इसलिए है क्योंकि कोई जुड़ा हुआ Media नहीं है).
  • locale को छोड़ देने पर Space के डिफ़ॉल्ट Locale के साथ उसी तरीके से लौटाया जाता है.
  • locale=* देने पर एक भाषा चुनी नहीं जाती, बल्कि CMA की तरह हर locale के मानों वाला मानचित्र (fields.productName.ko-KR) ज्यों का त्यों लौटाया जाता है.

कोड देकर या छोड़कर जब एक भाषा प्राप्त की जाती है, तो प्रतिक्रिया में x-weegloo-locale शीर्षलेख जुड़ता है जो बताता है कि वास्तव में कौन-सा locale उपयोग हुआ (locale=* पर यह नहीं जुड़ता). locale मान चयन और Fallback नियम बहुभाषा (अवधारणा) में बताए गए हैं.

API

नीचे के चारों endpoint का आधार URL https://cda.weegloo.com/v1 है, और Authorization शीर्षलेख में CDA को प्रमाणित करने वाला Bearer टोकन आवश्यक है. चारों endpoint locale क्वेरी पैरामीटर लेते हैं (ऊपर locale और fields देखें). पहले दो endpoint पूरे Space के प्रकाशित Content को लक्ष्य बनाते हैं, और बाद के दो endpoint केवल किसी विशिष्ट Content Type से संबंधित Content को लक्ष्य बनाते हैं.

पहले दो endpoint (Space-व्यापी flat सूची) को fields.* से filter या sort करते समय, आपको उन्हें sys.contentType.sys.id={contentTypeId} से भी scope करना आवश्यक है; अकेला contentType={contentTypeId} इसका विकल्प नहीं बनता. बाद के दो endpoint पथ में पहले से ही Content Type रखते हैं, इसलिए उन्हें इसकी आवश्यकता नहीं होती.

  • CDA Content Type: वह प्रकाशित ढाँचा जिसका यह Content अनुसरण करता है.
  • CDA Media: Content द्वारा संदर्भित प्रकाशित फ़ाइल संपत्ति.
  • CMA Content: Content को बनाने और संशोधित करने वाला प्रबंधन API.
  • बहुभाषा (अवधारणा): locale और fallback का व्यवहार.