परिचय
Bird API प्लेटफ़ॉर्म की हर सुविधा के लिए एक एकीकृत REST API है। यह संदर्भ हर सार्वजनिक endpoint का दस्तावेज़ उसी OpenAPI specification से तैयार करता है जो आधिकारिक SDKs को चलाती है, इसलिए यहाँ दिए गए request और response के ढाँचे ठीक वही हैं जो वायर पर जाते हैं।
रेफ़रेंस साइडबार सबसे अधिक उपयोग किए जाने वाले रिसोर्स को प्रोडक्ट के अनुसार समूहित करता है: Email, SMS, Voice, Realtime, Verify, और डेवलपर टूल (Webhooks और Documentation, डॉक्स सर्च API)। अन्य सार्वजनिक एंडपॉइंट, जिनमें सेंडिंग डोमेन, इनबाउंड ईमेल, कॉन्टैक्ट्स और ऑडियंस, और WhatsApp शामिल हैं, सर्च और उनकी गाइड में दिए गए डीप लिंक के ज़रिए उपलब्ध हैं। Voice सेक्शन में कॉल, लेग लॉग, ट्रंक, नंबर, कॉलर ID, डेस्टिनेशन, और SIP सेशन क्रेडेंशियल शामिल हैं। Voice स्टैटिस्टिक्स डैशबोर्ड और CLI के ज़रिए उपलब्ध रहते हैं। वर्कस्पेस सेटिंग्स, API कीज़, और डेडिकेटेड IP सार्वजनिक API के बजाय डैशबोर्ड में प्रबंधित किए जाते हैं।
Resource पेज गाइड्स से deep-link किए गए हैं: जब कोई गाइड किसी endpoint का उल्लेख करता है, तो लिंक यहाँ उसकी संदर्भ प्रविष्टि पर ले जाता है।
Conventions
हर endpoint समान conventions का पालन करता है। इन्हें हर पेज पर दोहराने के बजाय यहाँ एक बार बताया गया है।
- Base path: सभी endpoints https://us1.platform.bird.com जैसे regional host पर /v1 के अंतर्गत होते हैं। देखें Base URLs और regions।
- Authentication: requests एक API key को bearer token के रूप में ले जाते हैं: Authorization: Bearer bk_us1_...। देखें Authentication।
- JSON, snake_case: request और response bodies snake_case field names (created_at, workspace_id) के साथ JSON होती हैं, और requests को Content-Type: application/json सेट करना ज़रूरी है।
- Timestamps: सभी timestamps RFC 3339 strings हैं UTC में, _at प्रत्यय वाले fields में (created_at, delivered_at)। created_at जैसे resource timestamps सर्वर द्वारा असाइन किए जाते हैं और read-only होते हैं; कुछ request fields, जैसे scheduled_at, ऐसे timestamps हैं जो आप देते हैं।
- Typed resource IDs: हर ID एक type prefix रखता है: email messages के लिए em_, sending domains के लिए dom_, webhook endpoints के लिए whk_, suppressions के लिए sup_, आदि। यह prefix ID को logs में स्व-वर्णनात्मक बनाता है और एक resource की ID को दूसरे की जगह पास करने से रोकता है।
- आंशिक अपडेट PATCH से होते हैं: PATCH रिक्वेस्ट केवल उन फ़ील्ड्स को बदलती है जो आप शामिल करते हैं; छोड़ी गई फ़ील्ड्स अपरिवर्तित रहती हैं। कुछ सब-रिसोर्स जिन्हें आप URL में नाम से संबोधित करते हैं, PUT से लिखे जाते हैं, जो उस सब-रिसोर्स को पूरी तरह बदल देता है।
- Query parameters सख़्त हैं: यदि कोई request ऐसा query parameter ले जाता है जो endpoint में दस्तावेज़ित नहीं है, तो उसे अनदेखा करने के बजाय 422 (E01029) के साथ अस्वीकार कर दिया जाता है। endpoint की parameter सूची से स्पेलिंग जाँचें।
- Errors: हर error response एक ही envelope रखता है, जिसमें मोटे वर्गीकरण के लिए type, एक स्थिर code, मानव-पठनीय message, और सहायता से संपर्क करते समय उद्धृत करने के लिए request_id होता है। देखें त्रुटि प्रतिक्रियाएँ।
- Pagination: list endpoints cursor-based pagination का उपयोग करते हैं एक साझा parameter set के साथ। देखें Pagination।
- Idempotency: mutating endpoints एक Idempotency-Key हेडर स्वीकार करते हैं ताकि फिर से प्रयास करना सुरक्षित रहे। देखें Idempotency-Key हेडर।
- Deprecations: नाम बदला गया field अपने पुराने नाम से काम करता रहता है, और response Deprecation हेडर के ज़रिए यह बताता है। देखें Deprecations।
अनुशंसित clients
आप API को किसी भी HTTP client से कॉल कर सकते हैं, लेकिन आधिकारिक clients authentication, region चयन, फिर से प्रयास करना, और pagination आपके लिए संभालते हैं:
- TypeScript, Go, और Python के लिए आधिकारिक SDKs: क्यूरेटेड सार्वजनिक surface पर typed methods
- Bird CLI: आपके टर्मिनल से API, scripts और agents के लिए भी उपयुक्त
Postman में चलाएँ
पूरा API एक Postman collection भी है, इसी specification से परिवर्तित, हर endpoint पर एक उदाहरण request और response के साथ। अपने region के लिए environment import करें, apiKey को वर्कस्पेस API key पर सेट करें, और कोई भी request भेजें।
आगे पढ़ें
- Authentication: requests वायर स्तर पर कैसे authenticate होते हैं
- Base URLs और regions: regional hosts और region मॉडल
- Pagination: cursors, page sizes, और sorting
- Idempotency-Key हेडर: mutating requests के लिए सुरक्षित फिर से प्रयास
- त्रुटि प्रतिक्रियाएँ: त्रुटि envelope और संपूर्ण त्रुटि कैटलॉग
- Deprecations: एक हटाया गया field name अभी भी क्या करता है, और उससे कैसे migrate करें
संबंधित संसाधन
इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।
कॉन्सेप्ट समझेंShould I use a Bird SDK or call the API directly?लर्निंग पाथ फ़ॉलो करेंBuild your first integrationइम्प्लीमेंटेशन गाइडSend your first email
इम्प्लीमेंटेशन ब्रीफ़ पाएँ