सप्लायर एपीआई गाइड: मैन्युअल ऑर्डर प्रोसेसिंग
Sarah Johnsonपूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- API पहुंच वाला एक आपूर्तिकर्ता खाता
- आपकी API कुंजी (आप इसे अपने आपूर्तिकर्ता डैशबोर्ड से जनरेट कर सकते हैं)
- Admin API v2 एंडपॉइंट्स तक पहुंच
चरण 1: अपनी API कुंजी प्राप्त करें
- अपने आपूर्तिकर्ता डैशबोर्ड में लॉग इन करें
- API सेटिंग्स (
/api-settings) पर नेविगेट करें - "Generate API Key" पर क्लिक करें यदि आपके पास एक नहीं है
- अपनी API कुंजी कॉपी करें और इसे सुरक्षित रखें
महत्वपूर्ण: आपकी API कुंजी गुप्त रखी जानी चाहिए। इसे कभी भी सार्वजनिक रूप से साझा न करें या वर्जन कंट्रोल में कमिट न करें।
चरण 2: मैन्युअल ऑर्डर प्राप्त करें
लंबित और प्रोसेसिंग मैन्युअल ऑर्डर प्राप्त करने के लिए GET /api/admin/v2/orders एंडपॉइंट का उपयोग करें।
API अनुरोध
curl -X GET "https://your-domain.com/api/admin/v2/orders?status=pending,processing&productType=manual&limit=50&offset=0" \
-H "X-Api-Key: YOUR_API_KEY"
अनुरोध पैरामीटर्स
status(वैकल्पिक): ऑर्डर स्थिति फ़िल्टर। कॉमा-सेपरेटेड वैल्यूज़ का समर्थन करता है:pending,processingproductType(मैन्युअल ऑर्डर के लिए आवश्यक):manualपर सेट करेंentityType(वैकल्पिक):productयाsmm_serviceद्वारा फ़िल्टर करेंsubCategory(वैकल्पिक): उपश्रेणी नाम द्वारा फ़िल्टर करेंlimit(वैकल्पिक): लौटाए जाने वाले ऑर्डर की संख्या (अधिकतम 500, डिफ़ॉल्ट 50)offset(वैकल्पिक): पेजिनेशन ऑफ़सेट (डिफ़ॉल्ट 0)
उदाहरण प्रतिक्रिया
{
"orders": [
{
"id": 12345,
"order": 12345,
"status": "pending",
"paymentStatus": "completed",
"quantity": 10,
"user": {
"id": "507f1f77bcf86cd799439011",
"email": "customer@example.com",
"name": "John Doe"
},
"items": [
{
"product": {
"id": "507f1f77bcf86cd799439012",
"name": "Instagram Followers",
"type": "product"
},
"quantity": 10,
"unitPrice": 5.00,
"totalPrice": 50.00
}
],
"createdAt": "2024-01-01T10:00:00.000Z"
}
],
"count": 1,
"total": 1
}
महत्वपूर्ण नोट्स
- केवल
paymentStatus: "completed"वाले ऑर्डर लौटाए जाते हैं - डुप्लिकेट प्रोसेसिंग (30-मिनट का अंतराल) को रोकने के लिए ऑर्डर फ़िल्टर किए जाते हैं
- आप केवल उन उत्पादों/सेवाओं के ऑर्डर देख सकते हैं जो आपके आपूर्तिकर्ता के रूप में आपसे संबंधित हैं
चरण 3: ऑर्डर प्रोसेस करें और खाते सबमिट करें
एक बार आपके पास ऑर्डर हो जाने पर, उन्हें प्रोसेस करें और खाता क्रेडेंशियल तैयार करें। फिर खाते सबमिट करने और ऑर्डर स्थिति अपडेट करने के लिए POST /api/admin/v2/orders-update एंडपॉइंट का उपयोग करें।
API अनुरोध
curl -X POST "https://your-domain.com/api/admin/v2/orders-update" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"order": 12345,
"status": "completed",
"accounts": [
"username1:password1",
"username2:password2",
"username3:password3"
],
"supplierOrderId": "SUP-ORDER-12345"
}'
अनुरोध बॉडी पैरामीटर्स
order(आवश्यक): ऑर्डर आईडी (संख्या)status(वैकल्पिक): नई ऑर्डर स्थिति। मान्य मान:pending,processing,completed,partial,cancelled,erroraccounts(वैकल्पिक, उत्पाद ऑर्डर के लिए):"username:password"या"email:password"फॉर्मेट में खाता क्रेडेंशियल्स की सरणीsupplierOrderId(वैकल्पिक): ट्रैकिंग के लिए आपकी आंतरिक ऑर्डर आईडी
खाता प्रारूप
उत्पाद ऑर्डर के लिए, खाते स्ट्रिंग्स की एक सरणी के रूप में प्रदान किए जाने चाहिए। प्रत्येक स्ट्रिंग एक खाते का प्रतिनिधित्व करती है:
- प्रारूप:
"username:password"या"email:password" - उदाहरण:
["user1:pass123", "user2:pass456"] - मात्रा: ऑर्डर मात्रा से मेल खाते खाते प्रदान करें
पूर्ण वर्कफ़्लो उदाहरण
यहाँ JavaScript/Node.js का उपयोग करते हुए एक पूर्ण उदाहरण है:
const axios = require('axios');
const API_BASE_URL = 'https://your-domain.com/api/admin/v2';
const API_KEY = 'YOUR_API_KEY';
// चरण 1: लंबित और प्रोसेसिंग मैन्युअल ऑर्डर प्राप्त करें
async function getOrders() {
try {
const response = await axios.get(`${API_BASE_URL}/orders`, {
params: {
status: 'pending,processing',
productType: 'manual',
limit: 50,
offset: 0
},
headers: {
'X-Api-Key': API_KEY
}
});
return response.data.orders;
} catch (error) {
console.error('Error fetching orders:', error.response?.data || error.message);
throw error;
}
}
// चरण 2: ऑर्डर प्रोसेस करें और खाते सबमिट करें
async function updateOrder(orderId, accounts, supplierOrderId) {
try {
const response = await axios.post(
`${API_BASE_URL}/orders-update`,
{
order: orderId,
status: 'completed',
accounts: accounts,
supplierOrderId: supplierOrderId
},
{
headers: {
'X-Api-Key': API_KEY,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Error updating order:', error.response?.data || error.message);
throw error;
}
}
// मुख्य वर्कफ़्लो
async function processOrders() {
try {
// ऑर्डर प्राप्त करें
const orders = await getOrders();
console.log(`Found ${orders.length} orders to process`);
// प्रत्येक ऑर्डर प्रोसेस करें
for (const order of orders) {
console.log(`Processing order ${order.id}...`);
// खाते तैयार करें (यह वह जगह है जहाँ आप अपने सिस्टम से फ़ेच करेंगे)
const accounts = [
'user1:pass1',
'user2:pass2',
// ... ऑर्डर.quantity से मेल खाते अधिक खाते
];
// खातों के साथ ऑर्डर अपडेट करें और पूर्ण के रूप में चिह्नित करें
const updatedOrder = await updateOrder(
order.id,
accounts,
`SUP-${order.id}`
);
console.log(`Order ${order.id} completed successfully`);
}
} catch (error) {
console.error('Error in workflow:', error);
}
}
// वर्कफ़्लो चलाएँ
processOrders();
त्रुटि प्रबंधन
सामान्य त्रुटियाँ
- अमान्य API कुंजी
{ "error": "INVALID_API_KEY", "message": "Invalid API key" }समाधान: जांचें कि आपकी API कुंजी सही और सक्रिय है।
- ऑर्डर नहीं मिला
{ "error": "ORDER_NOT_FOUND", "message": "Order not found" }समाधान: सत्यापित करें कि ऑर्डर आईडी मौजूद है और आपसे संबंधित है।
- पहुंच अस्वीकृत
{ "error": "ACCESS_DENIED", "message": "You do not have access to this order" }समाधान: सुनिश्चित करें कि ऑर्डर में ऐसे उत्पाद/सेवाएँ हैं जो आपसे संबंधित हैं।
- अमान्य खाते
{ "error": "INVALID_ACCOUNTS", "message": "No valid accounts provided after deduplication" }समाधान: सुनिश्चित करें कि खातों की सरणी खाली नहीं है और इसमें मान्य स्ट्रिंग्स हैं।
सर्वोत्तम अभ्यास
- पोलिंग आवृत्ति: बहुत बार पोल न करें। API डुप्लिकेट प्रोसेसिंग को 30-मिनट के अंतराल से रोकता है।
- त्रुटि प्रबंधन: हमेशा उचित त्रुटि प्रबंधन और पुनः प्रयास तर्क लागू करें।
- खाता सत्यापन: सबमिट करने से पहले खातों को सत्यापित करें ताकि यह सुनिश्चित हो सके कि वे सही प्रारूप में हैं।
- ऑर्डर ट्रैकिंग: अपने सिस्टम में ऑर्डर ट्रैक करने के लिए
supplierOrderIdका उपयोग करें। - स्थिति अपडेट: आप स्थिति को क्रमिक रूप से अपडेट कर सकते हैं:
- पहले इसे
processingपर सेट करें जब आप इस पर काम शुरू करते हैं - फिर इसे
completedपर सेट करें जब खाते तैयार हों
- पहले इसे
- आंशिक ऑर्डर: यदि आप ऑर्डर का केवल एक हिस्सा पूरा कर सकते हैं, तो स्थिति को
partialपर सेट करें और उपलब्ध खाते सबमिट करें।
सारांश
संपूर्ण वर्कफ़्लो है:
- ऑर्डर प्राप्त करें:
GET /api/admin/v2/orders?status=pending,processing&productType=manual - ऑर्डर प्रोसेस करें: प्रत्येक ऑर्डर के लिए खाते तैयार करें
- खाते सबमिट करें:
POST /api/admin/v2/orders-updateखातों औरstatus: "completed"के साथ
यह सरल तीन-चरणीय प्रक्रिया आपको अपने ऑर्डर पूर्ति वर्कफ़्लो को पूरी तरह से स्वचालित करने की अनुमति देती है!
दोनों कोर आपूर्तिकर्ता दस्तावेज़ीकरण गाइड हैं। इन्हें लिंक करने से आपूर्तिकर्ताओं को उत्पाद सेटअप से ऑर्डर प्रोसेसिंग तक नेविगेट करने में मदद मिलती है, जिससे एक तार्किक वर्कफ़्लो बनता है। उत्पाद प्रबंधन गाइड।

Sarah Johnson
Digital marketing expert with 10+ years of experience in social media strategy. Passionate about helping businesses grow their online presence through effective marketing techniques.

