Skip to main content
GraphQL API एक ही endpoint के माध्यम से Ayrshare की REST क्षमताओं का एक समर्थित उपसमूह उपलब्ध कराता है। प्रत्येक उपलब्ध फ़ील्ड उसी अंतर्निहित controller को कॉल करता है जिसे उसका REST समकक्ष कॉल करता है, इसलिए authentication, entitlements, कोटा, और response डेटा REST के व्यवहार का पालन करते हैं। REST ही अधिक व्यापक API बना रहता है; GraphQL ठीक-ठीक किन ऑपरेशन्स का समर्थन करता है, यह देखने के लिए schema या Explorer का उपयोग करें। इससे आपको यह क्षमता मिलती है कि आप एक ही request में कई चीज़ें माँग सकें और दस्तावेज़ीकरण को पृष्ठ-दर-पृष्ठ पढ़े बिना, स्वयं schema से वर्तमान में समर्थित GraphQL सतह का पता लगा सकें। Schema हर समर्थित request फ़ील्ड और संरचित responses पर उपलब्ध typed selections का वर्णन करता है; जो ऑपरेशन्स REST envelope को JSON के रूप में लौटाते हैं, वे उस पूरे payload को सुरक्षित रखते हैं।
किसी भी GraphQL endpoint की तरह ही, query वाली JSON body के साथ एक POST भेजें। GET और DELETE 405 Method Not Allowed लौटाते हैं — GraphQL specification में GET पर queries वैकल्पिक हैं और यहाँ समर्थित नहीं हैं।

आपकी पहली query

Response वही JSON envelope है जो REST history endpoint लौटाता है, GraphQL के data फ़ील्ड में लिपटा हुआ:

एक साथ कई चीज़ें माँगना

GraphQL अपनाने का कारण इस तरह की request है, जिसके लिए चार REST calls करनी पड़तीं:
एक ही round trip में चारों वापस आ जाते हैं। ध्यान दें कि ये चार root operation फ़ील्ड्स हैं और billing के लिए चार API calls गिनी जाती हैं, एक नहीं। Nested response फ़ील्ड्स चुनने से calls नहीं बढ़तीं — सीमाएँ और Billing देखें।

Authentication

REST के समान। अपनी API key को bearer token के रूप में भेजें:
यदि आपका खाता User Profiles का उपयोग करता है, तो profileKey उपलब्ध कराने वाले ऑपरेशन्स दो में से किसी भी तरीके से profile चुन सकते हैं:
  • पूरी request के लिए डिफ़ॉल्ट के रूप में Profile-Key भेजें।
  • उस डिफ़ॉल्ट को ओवरराइड करने के लिए किसी एक फ़ील्ड पर profileKey पास करें, जिससे एक ही request एक से अधिक profile पर कार्य कर सकती है।
दोनों मौजूद होने पर फ़ील्ड argument को प्राथमिकता मिलती है। खाता-स्तर या केवल primary-account वाले फ़ील्ड्स profileKey उपलब्ध नहीं कराते और Profile-Key header को अस्वीकार कर सकते हैं; उदाहरण के लिए, createProfile को उस header के बिना primary API key का उपयोग करना होगा। प्रत्येक फ़ील्ड का दायरा जानने के लिए उसकी schema परिभाषा देखें, और profile keys कैसे काम करती हैं, इसके लिए कई उपयोगकर्ताओं का प्रबंधन देखें।

बिना कोड लिखे आज़माएँ

GraphQL Explorer वर्तमान schema के लिए एक इंटरैक्टिव ब्राउज़र है। यह हर उपलब्ध GraphQL ऑपरेशन को उसके arguments और विवरणों के साथ सूचीबद्ध करता है, टाइप करते समय autocomplete करता है, और आपके खाते पर queries चलाता है। Schema ब्राउज़ करने के लिए आपको API key की आवश्यकता नहीं है — schema सार्वजनिक है, ठीक वैसे ही जैसे यह दस्तावेज़ीकरण। Query चलाने के लिए आपको इसकी आवश्यकता होती है, क्योंकि हर ऑपरेशन REST वाले ही authentication से होकर गुज़रता है।

आपको GraphQL का उपयोग करना चाहिए या REST का?

REST प्राथमिक इंटरफ़ेस बना रहता है, और हमारा अधिकांश दस्तावेज़ीकरण, SDKs, और integrations इसी के इर्द-गिर्द बने हैं। GraphQL का उपयोग तब करें जब:
  • आपको कई असंबंधित डेटा चाहिए और आप उन्हें एक ही round trip में पाना चाहते हैं।
  • आप machine-readable ऑपरेशन नाम, arguments, input objects, enums, और typed response selections चाहते हैं। अधिकांश responses JSON ही रहते हैं ताकि वे पूरा REST envelope सुरक्षित रखें; createPost वर्तमान में एक typed PostResult लौटाता है।
  • आप API को एक्सप्लोर कर रहे हैं और दस्तावेज़ीकरण पृष्ठों के बीच आए-जाए बिना देखना चाहते हैं कि क्या-क्या उपलब्ध है।
REST के साथ बने रहें जब:
  • आप फ़ाइलें अपलोड कर रहे हैं। मीडिया bytes GraphQL request के माध्यम से नहीं भेजे जा सकते — समर्थित तरीके के लिए मीडिया अपलोड करना देखें।
  • आप हमारे किसी SDK या no-code integration का उपयोग कर रहे हैं, जो REST का उपयोग करते हैं।
  • आप न्यूनतम संभव dependencies चाहते हैं। REST call के लिए HTTP client के अलावा कुछ नहीं चाहिए।
दोनों इंटरफ़ेस साथ-साथ समर्थित हैं, और आप उन्हें एक ही integration में स्वतंत्र रूप से मिला सकते हैं।
  • API का उपयोग करना — ऑपरेशन्स ढूँढना, argument types, और मीडिया अपलोड करना।
  • त्रुटियाँ — कौन-सी विफलताएँ HTTP status बदलती हैं, विफल ऑपरेशन्स फिर भी HTTP 200 क्यों लौटाते हैं, और आंशिक सफलता को कैसे संभालें।
  • सीमाएँ और Billing — query आकार की सीमाएँ और requests की गिनती कैसे होती है।