परिचय
Metadata की मदद से आप Dodo Payments ऑब्जेक्ट्स पर अपना key-value डेटा संग्रहीत कर सकते हैं, जैसे अपने सिस्टम का order ID या CRM reference। आप payments, subscriptions, customers और products सहित अधिकांश ऑब्जेक्ट्स में metadata जोड़ सकते हैं। पूरी सूची के लिए Supported Objects देखें।अवलोकन
Metadata के नियम:- Metadata keys की लंबाई 40 characters तक हो सकती है (
POST /events/ingestके माध्यम से ingest किए गए usage events के लिए 100 characters तक)। - Metadata values string, integer, number या boolean हो सकते हैं। String values की लंबाई 500 characters तक हो सकती है।
- Objects, arrays और
nullको metadata values के रूप में स्वीकार नहीं किया जाता। - आप प्रति object अधिकतम 50 metadata key-value pairs जोड़ सकते हैं। इससे अधिक वाले request पर
MAXIMUM_KEYS_REACHEDerror code लौटता है। - API metadata के आधार पर search या filter नहीं कर सकता, लेकिन यह API responses और webhooks में metadata लौटाता है।
उपयोग के मामले
Metadata का उपयोग इन कामों के लिए करें:- External IDs या references संग्रहीत करें।
- Internal notes जोड़ें।
- Dodo Payments ऑब्जेक्ट्स को अपने सिस्टम के records से link करें।
- Transactions को categorize करें।
- Reporting के लिए custom attributes जोड़ें।
Metadata जोड़ना
API के माध्यम से object बनाते या update करते समय metadata जोड़ें। Products के लिए आप dashboard में भी metadata जोड़ सकते हैं।API के माध्यम से
Request body में एकmetadata object पास करें। नीचे दिए गए examples TypeScript SDK का उपयोग करते हैं और मानते हैं कि एक client initialized है:
Dashboard UI के माध्यम से (केवल Products)
Code लिखे बिना किसी product में metadata जोड़ने के लिए, Products में product खोलें और metadata section में key-value pairs जोड़ें। आप product बनाते या edit करते समय ऐसा कर सकते हैं।
Metadata प्राप्त करना
किसी object को retrieve करने पर API responses में metadata शामिल होता है:Checkout session (
GET /checkouts/{id}) को retrieve करने पर metadata प्राप्त नहीं होता। Session status response में केवल id, created_at, payment_id, payment_status, customer_email और customer_name शामिल होते हैं। Session बनाते समय जो metadata आपने attach किया था, उसे पढ़ने के लिए लौटाए गए payment_id से resulting payment को retrieve करें।Search और Filtering
API metadata के आधार पर search नहीं कर सकता। किसी metadata value से object ढूँढने के लिए:- अपने महत्वपूर्ण identifiers को metadata में संग्रहीत करें।
- API के माध्यम से objects को list या retrieve करें।
- अपने application code में results को filter करें।
सर्वोत्तम अभ्यास
Metadata को उपयोगी बनाए रखने के लिए इन दिशानिर्देशों का पालन करें।करें:
- Metadata keys के लिए consistent naming conventions का उपयोग करें।
- अपने metadata schema को internally document करें।
- Values को छोटा और meaningful रखें।
- Metadata का उपयोग केवल static data के लिए करें।
- ऐसे prefixes का उपयोग करने पर विचार करें जो source system का नाम बताते हों, उदाहरण के लिए
crm_idयाinventory_sku।
न करें:
- Metadata में sensitive data संग्रहीत न करें।
- अक्सर बदलने वाली values के लिए metadata का उपयोग न करें।
- Critical business logic के लिए metadata पर निर्भर न रहें।
- ऐसी information duplicate न करें जो object में पहले से मौजूद है।
- Metadata keys में special characters का उपयोग न करें।