ACDA (App Content Delivery API)
अंतिम अपडेट: 22 जून 2026
ACDA(App Content Delivery API) एक केवल-पढ़ने वाला API है, जो उत्पाद में साइन अप किए गए सदस्यों, यानी ServiceUser को, प्रकाशित Content और Media पहुँचाता है। Space चलाने वाला पक्ष कंटेंट प्रकाशित कर देता है, तो सदस्य ACDA से वह प्रकाशित सामग्री पढ़ लेते हैं। जिस तरह CDA सार्वजनिक आगंतुकों को प्रकाशित कंटेंट पहुँचाता है, उसी भूमिका को सदस्य पहचान के साथ निभाने वाला ServiceUser संस्करण समझ लीजिए। ACDA में केवल पढ़ने (GET) के एंडपॉइंट हैं, और सृजन, संशोधन, विलोपन ACMA के अधीन है।
ACDA कॉल के लिए ServiceLogin द्वारा जारी किए गए Bearer टोकन का उपयोग होता है। यह टोकन केवल ACMA और ACDA पर मान्य है, और इसे CMA, CDA पर उपयोग नहीं किया जा सकता (टोकन जारी करने का प्रवाह देखें Auth API)।
CDA से क्या अलग है
ACDA की प्रतिक्रिया का आकार CDA जैसा ही है। यह केवल प्रकाशित सामग्री का स्नैपशॉट पहुँचाता है (sys में version, status, publish के बिना, सार्वजनिक समय के संस्करण revision को ही रखता है), और संग्रह के समय locale से प्राप्त होने वाली भाषा तय होती है। CDA से अंतर पढ़ने का दायरा और एक पहचान, बस इन्हीं दो में है।
- सदस्य-वार पढ़ने का दायरा: CDA में एक ही DeliveryAccessToken से कॉल करने वाला कोई भी व्यक्ति समान प्रकाशित समुच्चय देखता है। ACDA कॉल करने वाले ServiceUser को अनुमत सामग्री ही लौटाता है, और क्या-क्या अनुमत है यह उस सदस्य के ServiceUserRole और असाइनमेंट पर निर्भर करता है। पहचान भी अलग है। CDA को DeliveryAccessToken से, और ACDA को ServiceLogin द्वारा जारी सदस्य टोकन से कॉल किया जाता है।
locale क्वेरी पैरामीटर से किस भाषा में प्राप्त करना है यह तय करने का तरीका भी CDA जैसा ही है। locale=ko-KR की तरह कोड देने पर fields को उस locale के एकमात्र मान के रूप में लौटाता है (न हो और Fallback भी न पहुँचे तो खाली या null), छोड़ देने पर Space के डिफ़ॉल्ट Locale से उसी तरह लौटाता है, और locale=* देने पर सभी locale मानों वाला मानचित्र ज्यों का त्यों लौटाता है। एक भाषा में प्राप्त करने वाले पहले दो मामलों में वास्तव में उपयोग हुए locale को बताने वाला x-weegloo-locale हेडर भी आता है (locale=* के समय नहीं आता)।
संसाधन संरचना
नीचे डेमो Space के "उत्पाद" नामक एक Content को ACDA जिस आकार में पहुँचाता है, वह दिखाया गया है। यह locale=ko-KR से संग्रहित परिणाम है, और fields का प्रत्येक मान ko-KR के एकमात्र मान के रूप में रखा गया है।
{
"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:35:11.210Z",
"revision": 3
},
"fields": {
"productName": "스테인리스 텀블러 500ml",
"price": 18000,
"description": "이중 진공 단열로 보온·보냉이 오래갑니다. 500ml 대용량."
}
}मुख्य कुंजियाँ:
sys.id: Content का विशिष्ट पहचानकर्ता है। एकल संग्रह पथ के{contentId}में जाता है।sys.type: संसाधन का प्रकार, जो Content के लिए हमेशा"Content"होता है।sys.space: यह Content जिस Space से संबंधित है उसकी ओर इंगित करने वाला संदर्भ है।sys.contentType: यह Content जिस Content Type का अनुसरण करता है उसकी ओर इंगित करने वाला संदर्भ है।sys.revision: सार्वजनिक हुए समय का संस्करण है। हर बार प्रकाशित करने पर उस समय का संस्करण यहाँ रखा जाता है। ACDA प्रबंधन हेतुversion,status,publishनहीं रखता, इसलिए प्रकाशन संस्करण को इंगित करने वाला मान केवलrevisionही है।sys.createdBy,sys.updatedBy: Content Type काpublishWithAuthorचालू होने पर ही शामिल होते हैं और लेखक, संशोधक को इंगित करते हैं। उपरोक्त उदाहरण में यह विकल्प बंद है, इसलिए दोनों कुंजियाँ छोड़ दी गई हैं।fields: प्रत्येक field के मान को{ apiName: value }रूप में रखता है। CMA, ACMA के locale मानचित्र ({ apiName: { locale: value } }) के विपरीत, ACDA संग्रहितlocaleका एकमात्र मान ही रखता है। उपरोक्त उदाहरण में प्रतिनिधि चित्रphotoका उस locale में मान न होने के कारण छोड़ दिया गया है।
Media भी उसी प्रकाशन-वितरण रूप में लौटता है, और sys में केवल revision रखता है, version, status, publish नहीं रखता। Media लेखक जानकारी (createdBy, updatedBy) को हमेशा छोड़ देता है। Media का fields.file भी संग्रहित locale के एकल ऑब्जेक्ट के रूप में लौटता है।
API
तीनों एंडपॉइंट संग्रह (GET) हैं, और locale क्वेरी पैरामीटर से प्राप्त होने वाली भाषा तय होती है (कोड हो तो वह locale, छोड़ने पर डिफ़ॉल्ट Locale, * हो तो पूरा मानचित्र, ऊपर देखें)।
संबंधित दस्तावेज़
- ACMA: वह प्रबंधन API जिससे सदस्य अपना कंटेंट बनाते और संशोधित करते हैं।
- Auth API: ACDA कॉल टोकन जारी करना।
- ServiceUser लॉगिन (अवधारणा): ServiceLogin, ServiceUserRole, असाइनमेंट सेटिंग।
