AI एजेंट · पाठ

एजेंट डेवलपर के लिए REST API की बुनियाद

HTTP विधियाँ, स्थिति कोड, हेडर और JSON अनुरोध/प्रतिक्रिया प्रारूप।

पाठ 1, कुल 4 में से13 चरण

एजेंट डेवलपर के लिए REST API की बुनियाद, CoddyKit पर AI एजेंट का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह AI एजेंट सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

HTTP अनुरोध क्या है

बाहरी सेवा से जुड़ने वाला हर एजेंट एचटीटीपी का उपयोग करता है — यह वेब की भाषा है। HTTP अनुरोध के तीन मुख्य भाग होते हैं: एक विधि, एक URL और वैकल्पिक हेडर तथा बॉडी।

विधि को एक ऐसी क्रिया समझिए जो सर्वर को बताती है कि आप क्या करना चाहते हैं, और URL को संसाधन का पता।

import requests

# A simple GET request to a public API
response = requests.get('https://api.example.com/users')
print(response.status_code)  # 200
print(response.text)          # raw JSON string

GET — डेटा प्राप्त करना

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

आप params तर्क का उपयोग करके URL में पैरामीटर क्वेरी स्ट्रिंग के रूप में भेज सकते हैं।

import requests

# Fetch users filtered by role
params = {'role': 'admin', 'page': 1, 'limit': 10}
response = requests.get(
    'https://api.example.com/users',
    params=params
)
# URL becomes: /users?role=admin&page=1&limit=10
data = response.json()
print(data['users'])

POST — संसाधन बनाना

POST नया संसाधन बनाने के लिए सर्वर को डेटा भेजता है। एजेंट POST का उपयोग कार्य सबमिट करने, संदेश भेजने या क्रियाएँ शुरू करने के लिए करते हैं। डेटा JSON के रूप में अनुरोध की बॉडी में जाता है।

हमेशा Content-Type: application/json हेडर सेट करें — अधिकांश API के लिए यह आवश्यक होता है।

import requests
import json

payload = {
    'title': 'Research competitors',
    'assignee': 'agent-001',
    'priority': 'high'
}

response = requests.post(
    'https://api.example.com/tasks',
    json=payload  # sets Content-Type automatically
)
print(response.status_code)  # 201 Created
new_task = response.json()
print('Created task ID:', new_task['id'])

PUT और PATCH — डेटा अपडेट करना

PUT पूरे संसाधन को नए डेटा से बदल देता है। PATCH केवल विशिष्ट फ़ील्ड अपडेट करता है। जब एजेंट के पास पूरा अपडेट किया हुआ ऑब्जेक्ट हो, तब PUT का उपयोग करें; और किसी कार्य की स्थिति अपडेट करने जैसे आंशिक बदलावों के लिए PATCH का उपयोग करें।

import requests

task_id = '42'

# PATCH: only update the status field
response = requests.patch(
    f'https://api.example.com/tasks/{task_id}',
    json={'status': 'completed'}
)
print(response.status_code)  # 200

# PUT: replace the whole task object
full_task = {
    'title': 'Research competitors',
    'assignee': 'agent-001',
    'priority': 'low',
    'status': 'completed'
}
response = requests.put(
    f'https://api.example.com/tasks/{task_id}',
    json=full_task
)
print(response.status_code)  # 200

DELETE — संसाधन हटाना

DELETE सर्वर से कोई संसाधन हटा देता है। एजेंट DELETE का उपयोग अस्थायी डेटा साफ़ करने, संसाधित कार्य हटाने या शेड्यूल किए गए कार्य रद्द करने के लिए करते हैं। अधिकांश DELETE अनुरोधों में कोई बॉडी नहीं होती।

सफल delete आम तौर पर 204 No Content लौटाता है — प्रतिक्रिया में कोई बॉडी नहीं होती।

import requests

task_id = '42'

response = requests.delete(
    f'https://api.example.com/tasks/{task_id}'
)

if response.status_code == 204:
    print('Task deleted successfully')
elif response.status_code == 404:
    print('Task not found — already deleted?')
else:
    print('Unexpected status:', response.status_code)

स्थिति कोड: 2xx सफलता

स्थिति कोड आपके एजेंट को बताते हैं कि अनुरोध सफल हुआ या विफल। 2xx श्रेणी सफलता दर्शाती है:

  • 200 OK — GET/PUT/PATCH ने डेटा लौटाया
  • 201 Created — POST ने नया संसाधन बनाया
  • 204 No Content — DELETE सफल हुआ, कोई बॉडी नहीं लौटाई गई

प्रतिक्रिया की बॉडी संसाधित करने से पहले हमेशा स्थिति कोड जाँचें।

import requests

response = requests.post(
    'https://api.example.com/tasks',
    json={'title': 'New task'}
)

if response.status_code == 201:
    task = response.json()
    print('Created:', task['id'])
elif response.status_code == 200:
    print('Updated existing resource')
else:
    print('Unexpected code:', response.status_code)

स्थिति कोड: 4xx क्लाइंट त्रुटियाँ

4xx त्रुटियों का अर्थ है कि आपके एजेंट ने गलत अनुरोध भेजा। आम त्रुटियाँ:

  • 400 Bad Request — अमान्य JSON या आवश्यक फ़ील्ड गायब है
  • 401 Unauthorized — API कुंजी गायब या अमान्य है
  • 404 Not Found — संसाधन मौजूद नहीं है
  • 429 Too Many Requests — अनुरोधों की दर की सीमा पार हो गई

इन स्थितियों में आपके एजेंट को अनुरोध ठीक करना चाहिए, बिना सोचे-समझे दोबारा प्रयास नहीं करना चाहिए।

import requests

response = requests.get(
    'https://api.example.com/tasks/9999',
    headers={'Authorization': 'Bearer YOUR_KEY'}
)

if response.status_code == 401:
    print('AUTH ERROR: Check your API key')
elif response.status_code == 404:
    print('Task not found')
elif response.status_code == 429:
    retry_after = response.headers.get('Retry-After', 60)
    print(f'Rate limited. Wait {retry_after}s')
elif response.status_code == 400:
    print('Bad request:', response.json().get('error'))

स्थिति कोड: 5xx सर्वर त्रुटियाँ

5xx त्रुटियों का अर्थ है कि सर्वर की ओर कुछ गड़बड़ हुई — आपके एजेंट ने कुछ गलत नहीं किया। आम त्रुटियाँ:

  • 500 Internal Server Error — सर्वर में बग या क्रैश
  • 502 Bad Gateway — अपस्ट्रीम सेवा की विफलता
  • 503 Service Unavailable — सर्वर पर अत्यधिक भार है या वह बंद है

थोड़ी देर प्रतीक्षा करने के बाद इन पर दोबारा प्रयास करना सुरक्षित होता है।

import requests
import time

def get_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code < 500:
            return response  # success or client error
        wait = 2 ** attempt
        print(f'Server error {response.status_code}, retrying in {wait}s...')
        time.sleep(wait)
    return response  # return last response after retries

अनुरोध के हेडर

हेडर हर अनुरोध के साथ मेटाडेटा भेजते हैं। एजेंटों के लिए सबसे महत्वपूर्ण हेडर:

  • Content-Type: application/json — सर्वर को बताता है कि आपकी बॉडी JSON है
  • Authorization: Bearer TOKEN — आपके अनुरोध का प्रमाणीकरण करता है
  • Accept: application/json — सर्वर को बताता है कि आप JSON प्राप्त करने की अपेक्षा कर रहे हैं
  • User-Agent — आपके क्लाइंट की पहचान करता है (कुछ API इसे आवश्यक बनाते हैं)
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk-proj-abc123xyz',
    'Accept': 'application/json',
    'User-Agent': 'MyAgent/1.0'
}

response = requests.post(
    'https://api.example.com/analyze',
    headers=headers,
    json={'text': 'Analyze this document'}
)

print(response.json())

JSON अनुरोध और प्रतिक्रिया की बॉडी

अधिकांश आधुनिक API डेटा का आदान-प्रदान JSON के रूप में करते हैं। भेजते समय अनुरोधों में json=payload का उपयोग करें (यह अपने-आप क्रमबद्ध करके हेडर सेट कर देता है)। प्राप्त करते समय बॉडी को Python डिक्शनरी में पार्स करने के लिए response.json() कॉल करें।

किसी कुंजी का उपयोग करने से पहले हमेशा जाँच लें कि अपेक्षित कुंजियाँ मौजूद हैं।

import requests

# Send JSON body
response = requests.post(
    'https://api.example.com/summarize',
    json={
        'content': 'Long article text here...',
        'max_length': 150,
        'format': 'bullet_points'
    }
)

# Parse JSON response
result = response.json()

# Always check keys exist
summary = result.get('summary', 'No summary returned')
tokens_used = result.get('usage', {}).get('total_tokens', 0)

print('Summary:', summary)
print('Tokens used:', tokens_used)

सब कुछ एक साथ जोड़ना

अच्छी तरह लिखा गया एजेंट API कॉल को एक साफ़ सहायक फ़ंक्शन में विधि के चयन, उचित हेडर, स्थिति कोड की जाँच और JSON पार्सिंग के साथ समेटता है। इससे हर API इंटरैक्शन एकसमान और डीबग करना आसान हो जाता है।

कनेक्शन दोबारा उपयोग करने और कई अनुरोधों के बीच हेडर साझा करने के लिए Session ऑब्जेक्ट का उपयोग करें।

import requests

class APIClient:
    def __init__(self, base_url, api_key):
        self.base_url = base_url
        self.session = requests.Session()
        self.session.headers.update({
            'Authorization': f'Bearer {api_key}',
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        })

    def get(self, path, params=None):
        r = self.session.get(f'{self.base_url}{path}', params=params)
        r.raise_for_status()
        return r.json()

    def post(self, path, payload):
        r = self.session.post(f'{self.base_url}{path}', json=payload)
        r.raise_for_status()
        return r.json()

# Usage
client = APIClient('https://api.example.com', 'sk-proj-abc123')
tasks = client.get('/tasks', params={'status': 'open'})
new_task = client.post('/tasks', {'title': 'Write report'})

त्वरित जाँच: HTTP विधियाँ

HTTP विधियों और स्थिति कोड के बारे में अपनी समझ जाँचें।

HTTP की बुनियादी बातों का पुनरावलोकन

अब आप उस HTTP नींव को जानते हैं जिस पर हर एजेंट निर्भर करता है:

  • GET प्राप्त करता है, POST बनाता है, PUT/PATCH अपडेट करते हैं और DELETE हटाता है
  • 2xx = सफलता, 4xx = आपके एजेंट की गलती, 5xx = सर्वर की गलती
  • हेडर प्रमाणीकरण (Authorization: Bearer) और फ़ॉर्मैट (Content-Type: application/json) भेजते हैं
  • बॉडी को पार्स करने के लिए response.json() और फ़ील्ड को सुरक्षित रूप से प्राप्त करने के लिए .get() का उपयोग करें
  • Session ऑब्जेक्ट विभिन्न अनुरोधों के बीच हेडर और कनेक्शन साझा करता है

इन बुनियादी बातों पर अच्छी पकड़ होने के बाद आप आत्मविश्वास से अपने एजेंट को किसी भी REST API से जोड़ सकते हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ AI एजेंट सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
60
पाठ
239

अक्सर पूछे जाने वाले प्रश्न

क्या “एजेंट डेवलपर के लिए REST API की बुनियाद” पाठ निःशुल्क है?

हाँ—“एजेंट डेवलपर के लिए REST API की बुनियाद” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और AI एजेंट पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“एजेंट डेवलपर के लिए REST API की बुनियाद” में मैं क्या सीखूँगा?

HTTP विधियाँ, स्थिति कोड, हेडर और JSON अनुरोध/प्रतिक्रिया प्रारूप। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AI एजेंट का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या AI एजेंट शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AI एजेंट शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“एजेंट डेवलपर के लिए REST API की बुनियाद” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस AI एजेंट पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर AI एजेंट पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. एजेंट डेवलपर के लिए REST API की बुनियाद
  2. प्रमाणीकरण: API कुंजियाँ और OAuth
  3. API प्रतिक्रियाओं और त्रुटियों को संभालना
  4. दर सीमित करना और पुनःप्रयास तर्क
← AI एजेंट पर वापस जाएँ