ड्रॉपशिपिंग API
यह किसके लिए है
Section titled “यह किसके लिए है”उन डेवलपर्स के लिए जो REST API, Posty5 SDK या n8n के साथ ऐसे स्टोर को स्वचालित करते हैं जिसके वे मालिक हैं या जिस पर वे काम करते हैं। खरीदार और आपूर्तिकर्ता कभी भी इन रूट को कॉल नहीं करते। यदि आप स्टोर मैन्युअल रूप से चलाते हैं, तो विक्रेता गाइड वह पेज है जिसकी आपको आवश्यकता है। विक्रेता गाइड खोलें
प्रमाणीकरण
Section titled “प्रमाणीकरण”हर अनुरोध इस हेडर में आपकी API कुंजी ले जाता है —
X-API-Key: YOUR_API_KEYPosty5 डैशबोर्ड में खाता सेटिंग्स के अंतर्गत API कुंजियों में एक कुंजी बनाएं। API कुंजियां डेवलपर खातों के लिए उपलब्ध हैं।
नीचे दिया गया प्रत्येक मार्ग एक स्टोर पर काम करता है और इसके बगल में दिखाए गए स्टोर की अनुमति की जाँच करता है। कुंजी के स्वामी को स्टोर का स्वामी होना चाहिए या उस अनुमति के साथ उसके स्टाफ में होना चाहिए।
जब स्टोर मालिक के प्लान में ड्रॉपशिपिंग (Pro या उससे ऊपर) शामिल नहीं होती, तो ये रूट अस्वीकार कर दिए जाते हैं — किसी आपूर्तिकर्ता को कनेक्ट करना (API कुंजी से या साइन इन करके), उसके क्रेडेंशियल बदलना, कनेक्शन चालू करना, उसका ऑटोमेशन बदलना, किसी आपूर्तिकर्ता के उत्पाद ब्राउज़ करना, आपूर्तिकर्ता का एक उत्पाद लाना, उत्पाद URL को रिज़ॉल्व करना, आयात का पूर्वावलोकन करना या उसे चलाना, उत्पाद लिंक बनाना, और आपूर्तिकर्ता ऑर्डर भेजना, उसे फिर से आज़माना या उसका भुगतान करना। फ़ैसला मालिक का प्लान करता है, कॉल करने वाले स्टाफ सदस्य का प्लान नहीं। बाकी सब कुछ किसी भी प्लान पर खुला रहता है, इसलिए Pro से नीचे आने वाला स्टोर अब भी अपना मौजूदा डेटा पढ़ सकता है, कनेक्शन बंद कर सकता है, उसकी सेटिंग्स बदल सकता है, उसका परीक्षण कर सकता है या उसे डिस्कनेक्ट कर सकता है, उत्पाद लिंक संपादित, सिंक या हटा सकता है, और आपूर्तिकर्ता ऑर्डर रद्द कर सकता है या उसे मैन्युअल रूप से पूरा कर सकता है।
आधार URL
Section titled “आधार URL”- dropshipping.developer.base.hostAt
- dropshipping.developer.base.prefixIs
- dropshipping.developer.base.docsAt
नीचे दिए गए पथ आपूर्तिकर्ता उपसर्ग के सापेक्ष हैं। पहला पैरामीटर हमेशा स्टोर आईडी होता है, और उसके बाद की आईडी आपूर्तिकर्ता कनेक्शन होती है।
कनेक्शन
Section titled “कनेक्शन”| विधि | मार्ग | अनुमति | यह क्या करता है |
|---|---|---|---|
GET | /:storeId/catalogue | suppliers.view | वे आपूर्तिकर्ता जिनसे यह स्टोर जुड़ सकता है, और प्रत्येक क्या कर सकता है। |
GET | /:storeId | suppliers.view | स्टोर के आपूर्तिकर्ता कनेक्शन, स्वास्थ्य और स्वचालन के साथ। क्रेडेंशियल कभी वापस नहीं किए जाते। |
POST | /:storeId | suppliers.manage | किसी आपूर्तिकर्ता को उसकी API कुंजी से कनेक्ट करें। सहेजने से पहले कुंजी की जाँच आपूर्तिकर्ता के पास की जाती है। |
POST | /:storeId/oauth/start | suppliers.manage | साइन-इन का उपयोग करने वाले किसी आपूर्तिकर्ता, जैसे AliExpress, को कनेक्ट करना शुरू करें। वह पता लौटाता है जहाँ विक्रेता को भेजना है। |
PUT | /:storeId/:id | suppliers.manage | कनेक्शन के क्रेडेंशियल बदलें। |
POST | /:storeId/:id/test | suppliers.manage | कनेक्शन की अभी जाँच करें और इसकी स्थिति रिकॉर्ड करें। |
GET | /:storeId/:id/balance | suppliers.view | आपूर्तिकर्ता के पास खाते का बैलेंस, यदि आपूर्तिकर्ता इसे बताता है। |
GET | /:storeId/:id/impact | suppliers.view | डिस्कनेक्ट करने से क्या प्रभावित होगा — लिंक किए गए उत्पाद और खुले आपूर्तिकर्ता ऑर्डर। |
PUT | /:storeId/:id/settings | suppliers.manage | आपूर्तिकर्ता की अपनी सेटिंग बदलें। |
PUT | /:storeId/:id/automation | suppliers.manage | ऑर्डर भेजने का तरीका और सीमाएं बदलें। |
PUT | /:storeId/:id/enabled | suppliers.manage | कनेक्शन चालू या बंद करें। |
DELETE | /:storeId/:id | suppliers.manage | डिस्कनेक्ट करें। क्रेडेंशियल हटा दिए जाते हैं, और आयातित उत्पाद स्टोर के अपने बने रहते हैं। |
आपूर्तिकर्ता उत्पाद, आयात और लिंक
Section titled “आपूर्तिकर्ता उत्पाद, आयात और लिंक”| विधि | मार्ग | अनुमति | यह क्या करता है |
|---|---|---|---|
GET | /:storeId/:id/products | suppliers.import | आपूर्तिकर्ता के कैटलॉग को ब्राउज़ करें या खोजें। |
POST | /:storeId/:id/products/resolve-url | suppliers.import | पेस्ट किए गए उत्पाद लिंक को आपूर्तिकर्ता के उत्पाद आईडी में बदलें। |
GET | /:storeId/:id/products/:supplierProductId | suppliers.import | वेरिएंट, लागत और स्टॉक सहित एक आपूर्तिकर्ता उत्पाद। |
POST | /:storeId/:id/import/preview | suppliers.import | चुने गए उत्पादों की कीमत मूल्य नियम से तय करें और डुप्लिकेट बताएँ। कोई शुल्क नहीं लिया जाता। |
POST | /:storeId/:id/import | suppliers.import | 50 उत्पादों तक आयात करें। एक बड़ा आयात पोल करने के लिए जॉब आईडी लौटाता है। |
GET | /:storeId/imports/:jobId | suppliers.import | बैकग्राउंड इम्पोर्ट की प्रगति। |
GET | /:storeId/links | suppliers.view | स्टोर के उत्पाद लिंक। |
POST | /:storeId/links | suppliers.import | स्टोर में पहले से मौजूद उत्पाद को किसी आपूर्तिकर्ता उत्पाद से लिंक करें। |
PUT | /:storeId/links/:linkId | suppliers.import | किसी लिंक के वेरिएंट, मूल्य नियम या सिंक स्विच बदलें। |
DELETE | /:storeId/links/:linkId | suppliers.import | अनलिंक करें। उत्पाद स्टोर का अपना ही रहता है। |
POST | /:storeId/links/:linkId/sync | suppliers.import | अभी एक लिंक सिंक करें। |
आपूर्तिकर्ता ऑर्डर
Section titled “आपूर्तिकर्ता ऑर्डर”| विधि | मार्ग | अनुमति | यह क्या करता है |
|---|---|---|---|
GET | /:storeId/orders | suppliers.view | आपूर्तिकर्ता ऑर्डर, नवीनतम पहले, कर्सर द्वारा फ़िल्टर और पेज किए गए। क्वेरी फ़ील्ड तालिका के नीचे सूचीबद्ध हैं। |
GET | /:storeId/orders/:supplierOrderId | suppliers.view | अपने इतिहास के साथ एक आपूर्तिकर्ता ऑर्डर। |
POST | /:storeId/orders/:orderId/groups/:groupKey/submit | suppliers.orders.manage | किसी ऑर्डर का एक हिस्सा अभी उसके आपूर्तिकर्ता को भेजें। |
POST | /:storeId/orders/:supplierOrderId/retry | suppliers.orders.manage | कतारबद्ध, रुके हुए या असफल आपूर्तिकर्ता ऑर्डर को दोबारा आज़माएं। |
POST | /:storeId/orders/:supplierOrderId/pay | suppliers.orders.manage | एक आपूर्तिकर्ता ऑर्डर का भुगतान करें जो बनाया गया था लेकिन भुगतान नहीं किया गया था। |
POST | /:storeId/orders/:supplierOrderId/cancel | suppliers.orders.manage | आपूर्तिकर्ता के यहाँ ऑर्डर वापस लें, जहाँ आपूर्तिकर्ता अभी भी इसकी अनुमति देता है। |
POST | /:storeId/orders/:orderId/groups/:groupKey/fulfil-manually | suppliers.orders.manage | एक हिस्सा संभाल लें, ताकि स्टोर इसे खुद शिप कर सके। |
सूची इन क्वेरी फ़ील्ड को स्वीकार करती है — status, needsReview, integrationId, orderId, contractModel, cursor, pageSize
यह सूची कर्सर द्वारा पृष्ठबद्ध होती है, स्टोर की अन्य सूचियों की तरह, और इसमें पृष्ठ संख्या नहीं ली जाती है। एक पृष्ठ में 25 पंक्तियाँ होती हैं जब तक कि आप किसी अन्य आकार का अनुरोध न करें, और कभी भी 100 से अधिक नहीं। प्रत्येक उत्तर एक पृष्ठ है, पंक्तियाँ, फिर अगले और पिछले कर्सर के साथ एक पेजिंग ब्लॉक, क्या अधिक पंक्तियाँ हैं, कुल संख्या और पृष्ठ का आकार —
{ "items": [{ "_id": "SUPPLIER_ORDER_ID", "status": "needsReview" }], "pagination": { "nextCursor": "NEXT_CURSOR", "previousCursor": null, "hasMore": true, "totalCount": 42, "pageSize": 25 }}अगला पृष्ठ पढ़ने के लिए, वही फ़िल्टर और पिछले पृष्ठ के अगले कर्सर को कर्सर के रूप में उपयोग करके कॉल दोहराएँ। जब आगे कोई पंक्ति न हो तो रुकें। पंक्तियों पर कार्रवाई करने से पहले हर पृष्ठ पढ़ें, पुनः प्रयास या भुगतान उस सूची को बदल देता है जिस पर कर्सर चलता है।
दो क्रियाओं में एक वैकल्पिक बॉडी होती है —
submit—{ "payNow": true }— ऑर्डर बनते ही उसका भुगतान भी करना, जहाँ आपूर्तिकर्ता को बैलेंस से भुगतान किया जा सकता है। अभी भुगतान करना विक्रेता का अपना निर्णय है, इसलिए यह जाँच छोड़ दी जाती है कि खरीदार ने भुगतान किया है या नहीं — बिना भुगतान वाले या कैश ऑन डिलीवरी ऑर्डर का भी भुगतान किया जाता है, और यह विकल्प आपूर्तिकर्ता ऑर्डर के इतिहास में दर्ज किया जाता है। गंतव्य, स्टॉक, लागत-सीमा और बैलेंस की जाँच फिर भी लागू होती है।retry—{ "acceptCost": true }— मूल्य परिवर्तन के बाद आपूर्तिकर्ता की नई लागत स्वीकार करें। इसे कॉलर के निर्णय के रूप में दर्ज किया जाता है।
स्टोर ऑर्डर में जोड़
Section titled “स्टोर ऑर्डर में जोड़”GET /api/store-orders/:storeId/:id— ऑर्डर विवरण में ऑर्डर के हिस्से और, ऐसे कॉलर के लिए जिसके पास आपूर्तिकर्ता देखने की अनुमति भी है, लागत सहित उसके आपूर्तिकर्ता ऑर्डर जोड़े जाते हैं।GET /api/store-orders/:storeId?needsAttention=true— सूची में प्रत्येक ऑर्डर में उसके भागों का सारांश होता है, और सूची उन ऑर्डर के लिए फ़िल्टर स्वीकार करती है जिनमें ऐसा भाग हो जिस पर ध्यान देने की आवश्यकता हो।
ऑब्जेक्ट्स
Section titled “ऑब्जेक्ट्स”एक आपूर्तिकर्ता कनेक्शन
Section titled “एक आपूर्तिकर्ता कनेक्शन”supplierKey— कैटालॉग के अनुसार, कौन सा आपूर्तिकर्ता।mode— टेस्ट या लाइव।enabled— क्या कनेक्शन चालू है।hasCredentials— क्या क्रेडेंशियल संग्रहीत हैं। क्रेडेंशियल स्वयं कभी वापस नहीं किए जाते।automation— ऑर्डर कैसे भेजे जाते हैं और उन्हें रोकने वाली सीमाएं।health— अंतिम जाँच का परिणाम।isCircuitOpen,circuitOpenUntil— बार-बार त्रुटियों के बाद कनेक्शन उस समय तक रुका हुआ है।lastWebhookAt— आपूर्तिकर्ता ने आखिरी बार सूचना कब भेजी थी।webhookUrl— वह पता जिस पर आपूर्तिकर्ता अपनी सूचनाएँ भेजता है (कनेक्शन सूची में दिखाया जाता है)। जब कोई सार्वजनिक पता कॉन्फ़िगर नहीं होता, तो यह खाली रहता है।
एक उत्पाद लिंक
Section titled “एक उत्पाद लिंक”productId,supplierProductId— स्टोर का उत्पाद और वह आपूर्तिकर्ता का उत्पाद जिससे यह जुड़ा हुआ है।variants[]— प्रत्येक स्टोर वेरिएंट लागत और स्टॉक के साथ आपूर्तिकर्ता वेरिएंट से मैप किया गया है।priceRule— लागत से स्टोर की कीमत की गणना कैसे की जाती है।sync— प्रति घंटे का सिंक कौन-से फ़ील्ड बदल सकता है।lastSyncAt,lastSyncError— पिछला सिंक और यदि यह विफल रहा, तो क्यों।
एक आपूर्तिकर्ता ऑर्डर
Section titled “एक आपूर्तिकर्ता ऑर्डर”status— आपूर्तिकर्ता ऑर्डर किस चरण में है। नीचे दी गई तालिका प्रत्येक मान को सूचीबद्ध करती है।reviewReason,reviewMessage— यह क्यों रुक गया, एक बंद सूची से एक कारण के रूप में, और किसी भी संवेदनशील जानकारी को हटाकर आपूर्तिकर्ता के शब्द।retryable— क्या बिना कुछ बदले दोबारा प्रयास करना सफल हो सकता है।supplierOrderNumber— हमारा नंबर, जिसे आपूर्तिकर्ता को उसके ऑर्डर नंबर के रूप में भेजा जाता है। एक ही प्रयास के पुनः प्रयासों के बीच यह कभी नहीं बदलता।supplierOrderId,supplierStatus— आपूर्तिकर्ता की अपनी आईडी और स्थिति, जैसा कि आपूर्तिकर्ता द्वारा बताया गया है।costs,payment— आपूर्तिकर्ता क्या शुल्क लेता है, और क्या स्टोर ने उसका भुगतान कर दिया है।shipping— आपूर्तिकर्ता द्वारा शिप किए जाने के बाद कूरियर कंपनी और ट्रैकिंग नंबर।attempt,events[]— यह कौन सा प्रयास है, और उसका इतिहास।destination,destinationRedacted— डिलीवरी का पता, केवल उस कॉलर के लिए जिसे ग्राहक डेटा देखने की अनुमति है। अन्यथा इसे हटा दिया जाता है और फ़्लैग ऐसा कहता है।
dropshipping.developer.objects.paymentValuesList
एक स्टोर ऑर्डर पर
Section titled “एक स्टोर ऑर्डर पर”fulfilmentGroups[]— ऑर्डर के हिस्से — एक स्टोर के अपने आइटम के लिए और एक प्रत्येक आपूर्तिकर्ता कनेक्शन के लिए — प्रत्येक अपनी स्थिति, आइटम और शिपमेंट के साथ।fulfilmentSummary— कितने हिस्से हैं, और कितने भेजे या डिलीवर किए जा चुके हैं।supplierOrders[]— हिस्सों के पीछे आपूर्तिकर्ता के ऑर्डर, उस कॉलर के लिए जिसे आपूर्तिकर्ता देखने की अनुमति है।
स्थितियाँ और कारण
Section titled “स्थितियाँ और कारण”ऑर्डर भाग की स्थितियाँ
Section titled “ऑर्डर भाग की स्थितियाँ”एक ऑर्डर अपने सबसे धीमे हिस्से के अनुसार आगे बढ़ता है। इसे केवल तभी भेजा हुआ माना जाता है जब हर हिस्सा भेज दिया गया हो, और डिलीवर तब माना जाता है जब हर हिस्सा डिलीवर हो जाए।
| मान | अर्थ | एक प्रोग्राम क्या कर सकता है |
|---|---|---|
pending | अभी तक शुरू नहीं हुआ। | कुछ नहीं — प्रतीक्षा करें। |
processing | स्टोर या आपूर्तिकर्ता द्वारा तैयार किया जा रहा है। | कुछ नहीं — प्रतीक्षा करें। |
shipped | कूरियर कंपनी को सौंप दिया गया। | पार्ट के शिपमेंट से ट्रैकिंग पढ़ें। |
delivered | डिलीवर किया गया। अंतिम। | कुछ नहीं — प्रतीक्षा करें। |
cancelled | रद्द कर दिया गया। अंतिम। | कुछ नहीं — प्रतीक्षा करें। |
आपूर्तिकर्ता ऑर्डर की स्थितियां
Section titled “आपूर्तिकर्ता ऑर्डर की स्थितियां”| मान | अर्थ | एक प्रोग्राम क्या कर सकता है |
|---|---|---|
queued | भेजे जाने की प्रतीक्षा है। | कुछ नहीं — प्रतीक्षा करें। |
needsReview | एक कारण के साथ रोका गया। किसी व्यक्ति या बदले गए इनपुट की आवश्यकता है। | इसे किसी व्यक्ति को दिखाएं। कारण बदलने के बाद ही पुनः प्रयास करें। |
submitted | आपूर्तिकर्ता के पास बनाया गया, अभी तक स्वीकार और भुगतान नहीं किया गया है। | भुगतान करें, यदि स्टोर मैन्युअल रूप से भुगतान करता है। |
confirmed | आपूर्तिकर्ता द्वारा स्वीकार किया गया और भुगतान किया गया। | कुछ नहीं — प्रतीक्षा करें। |
processing | आपूर्तिकर्ता द्वारा तैयार किया जा रहा है। | कुछ नहीं — प्रतीक्षा करें। |
shipped | आपूर्तिकर्ता द्वारा भेजा गया, ट्रैकिंग के साथ। | कुछ नहीं — प्रतीक्षा करें। |
delivered | डिलीवर किया गया। अंतिम। | कुछ नहीं — प्रतीक्षा करें। |
cancelled | रद्द किया गया। अंतिम। | कुछ नहीं — प्रतीक्षा करें। |
failed | एक अस्थायी त्रुटि, जैसे कि समय समाप्त होना। कार्य इसे अपने आप पुनः प्रयास करता है। | यदि स्वचालित पुनः प्रयास बंद हो गए हैं, तो इसे एक बार पुनः प्रयास करें। |
समीक्षा के कारण
Section titled “समीक्षा के कारण”रुके हुए आपूर्तिकर्ता ऑर्डर में इनमें से ठीक एक कारण होता है। दूसरा कॉलम वह मान है जिसे API प्रत्येक के लिए सेट करता है।
| मान | retryable | अर्थ | एक प्रोग्राम क्या कर सकता है |
|---|---|---|---|
insufficientBalance | false | आपूर्तिकर्ता के पास स्टोर का बैलेंस ऑर्डर को कवर नहीं कर सकता है। | किसी व्यक्ति को बताएं। बैलेंस टॉप अप होने के बाद पुनः प्रयास करें। |
variantUnavailable | false | आपूर्तिकर्ता अब एक वेरिएंट उपलब्ध नहीं कराता है। | मानवीय हस्तक्षेप के बिना कुछ नहीं। |
destinationUnsupported | false | आपूर्तिकर्ता वहां डिलीवरी नहीं करता है, या स्टोर ने इस देश को हटा दिया है। | मानवीय हस्तक्षेप के बिना कुछ नहीं। |
costAboveLimit | false | लागत स्टोर द्वारा निर्धारित सीमा से अधिक है। | केवल किसी व्यक्ति के निर्णय पर पुनः प्रयास करें। |
costChanged | false | आयात के बाद से आपूर्तिकर्ता की कीमत बदल गई है। | नई लागत स्वीकार करते हुए, केवल किसी व्यक्ति के निर्णय पर पुनः प्रयास करें। |
customerPaymentPending | false | खरीदार ने ऑनलाइन भुगतान नहीं किया है। | जब स्टोर तय करे तब इसे सबमिट करें। |
customerPaymentNotSettled | false | भुगतान अधिकृत है लेकिन अभी सेटल नहीं हुआ है। | भुगतान सेटल होने के बाद पुनः प्रयास करें। |
connectionUnhealthy | true | आपूर्तिकर्ता ने उत्तर नहीं दिया, या कनेक्शन रुका हुआ है। | बाद में पुनः प्रयास करें। |
supplierRefused | true | आपूर्तिकर्ता ने ऑर्डर अस्वीकार कर दिया। | संदेश पढ़ें। कारण ठीक होने के बाद पुनः प्रयास करें। |
connectionMissing | false | कनेक्शन बंद है, हटा दिया गया है, या Posty5 द्वारा आपूर्तिकर्ता को अक्षम कर दिया गया है। | कुछ नहीं। किसी व्यक्ति को हस्तक्षेप करना होगा। |
supplierAlreadyShipped | false | आपूर्तिकर्ता द्वारा ऑर्डर शिप करने के बाद रद्दीकरण अनुरोध प्राप्त हुआ। | कुछ नहीं — इसे रिटर्न के रूप में संभालें। |
testMode | false | सैंडबॉक्स वातावरण के बिना किसी आपूर्तिकर्ता के साथ एक परीक्षण कनेक्शन बनाया गया था। कोई ऑर्डर नहीं दिया गया था। | कनेक्शन लाइव होने तक कुछ नहीं। |
customerCaptureFailed | false | बेचने का वादा — आपूर्तिकर्ता को भुगतान कर दिया गया, खरीदार से शुल्क लेना विफल रहा। | तुरंत किसी व्यक्ति को बताएं। |
आपूर्तिकर्ता सूचना पता
Section titled “आपूर्तिकर्ता सूचना पता”POST /api/store-suppliers/webhook/:supplierKey/:integrationIdसूचनाएं भेजने वाले आपूर्तिकर्ता ऑर्डर की स्थिति, ट्रैकिंग और स्टॉक की रिपोर्ट करने के लिए इस पते पर कॉल करते हैं।
Posty5 पते से कनेक्शन ढूंढता है और उस कनेक्शन के अपने क्रेडेंशियल के साथ संदेश की जाँच करता है। हर अस्वीकृति को समान 400 उत्तर मिलता है, और जब Posty5 निर्णय नहीं ले पाता है तो 503 मिलता है, जिससे आपूर्तिकर्ता फिर से भेजता है। एक सूचना केवल Posty5 को आपूर्तिकर्ता से ऑर्डर वापस पढ़ने के लिए प्रेरित करती है। यह अपने आप कभी भी पैसे, स्टॉक या स्थिति नहीं बदलती।
आइडमपोटेंसी और पुनः प्रयास
Section titled “आइडमपोटेंसी और पुनः प्रयास”एक आपूर्तिकर्ता ऑर्डर को डुप्लिकेट से तीन तरीकों से सुरक्षित किया जाता है।
- प्रत्येक ऑर्डर भाग के लिए एक जॉब, चाहे जो भी इसे ट्रिगर करे —
- प्रत्येक प्रयास के लिए एक अद्वितीय कुंजी, जिसे उसके ऑर्डर नंबर के रूप में आपूर्तिकर्ता को भेजा जाता है। बनाने से पहले, Posty5 आपूर्तिकर्ता से पूछता है कि क्या वह नंबर पहले से मौजूद है, ताकि सफलता के बाद टाइम आउट होने वाले निर्माण को ढूंढा जा सके, दोहराया न जाए।
- भुगतान करने से पहले, Posty5 आपूर्तिकर्ता की अपनी स्थिति पढ़ता है। वहाँ पहले से भुगतान किया गया ऑर्डर दर्ज किया जाता है, दोबारा भुगतान नहीं किया जाता।
आपके प्रोग्राम के लिए इसका क्या अर्थ है
Section titled “आपके प्रोग्राम के लिए इसका क्या अर्थ है”- सबमिट को दो बार कॉल करने पर एक आपूर्तिकर्ता ऑर्डर मिलता है।
- dropshipping.developer.idem.rules.retryWhen
- रुका हुआ ऑर्डर अपने आप ठीक नहीं होता। इसके लिए किसी व्यक्ति या बदले हुए इनपुट की आवश्यकता होती है।
- ऑर्डर को ट्रैक करने के लिए, आपूर्तिकर्ता के ऑर्डर को दोबारा पढ़ें। लूप में सबमिट कॉल न करें।
ऑर्डर कब भेजे जाते हैं
Section titled “ऑर्डर कब भेजे जाते हैं”स्वचालित स्तर के साथ, आपूर्तिकर्ता का हिस्सा एक बार भेजा जाता है, जब ऑर्डर कन्फर्म हो जाता है — किसी स्टाफ सदस्य द्वारा या ऑनलाइन भुगतान द्वारा।
आपूर्तिकर्ता को स्वचालित भुगतान के लिए ज़रूरी है कि खरीदार का भुगतान हो चुका हो, जिसकी पुष्टि भुगतान प्रदाता करे। बिना ऑनलाइन भुगतान वाला ऑर्डर तब तक प्रतीक्षा करता है जब तक कनेक्शन बिना भुगतान वाले ऑर्डर की अनुमति न दे।
“बेचने का वादा” के तहत, खरीदार का भुगतान अधिकृत होने के बाद भेजना शुरू होता है, और आपूर्तिकर्ता द्वारा स्वीकार किए जाने पर खरीदार से शुल्क लिया जाता है।
उदाहरण
Section titled “उदाहरण”समीक्षा के लिए प्रतीक्षा कर रहे आपूर्तिकर्ता के ऑर्डर की सूची बनाएं —
curl "https://api.posty5.com/api/store-suppliers/STORE_ID/orders?needsReview=true" \ -H "X-API-Key: YOUR_API_KEY"उत्तर आपूर्तिकर्ता ऑर्डर का एक पेज है। कम बैलेंस के कारण रुकी हुई पंक्ति ऐसी दिखती है —
{ "_id": "SUPPLIER_ORDER_ID", "orderNumber": "1042", "fulfilmentGroupKey": "GROUP_KEY", "supplierKey": "cjdropshipping", "attempt": 1, "status": "needsReview", "reviewReason": "insufficientBalance", "reviewMessage": "Balance is insufficient", "retryable": false, "supplierOrderNumber": "SUPPLIER_ORDER_NUMBER", "payment": { "status": "unpaid" }}TypeScript से वही कॉल —
const response = await fetch( `https://api.posty5.com/api/store-suppliers/${storeId}/orders?needsReview=true`, { headers: { "X-API-Key": process.env.POSTY5_API_KEY! } },);const { result } = await response.json();// result.items: the supplier orders on this page// result.pagination.nextCursor: send it back as `cursor` while result.pagination.hasMoreऔर C# से —
using var http = new HttpClient { BaseAddress = new Uri("https://api.posty5.com") };http.DefaultRequestHeaders.Add("X-API-Key", Environment.GetEnvironmentVariable("POSTY5_API_KEY"));var json = await http.GetStringAsync($"/api/store-suppliers/{storeId}/orders?needsReview=true");// { "result": { "items": [...], "pagination": { "nextCursor": "...", "hasMore": true, ... } } }// Send pagination.nextCursor back as &cursor= while pagination.hasMore is true.SDKs और n8n
Section titled “SDKs और n8n”JavaScript और .NET स्टोर पैकेज में से प्रत्येक में उपर्युक्त प्रत्येक समूह को कवर करने वाला एक आपूर्तिकर्ता क्लाइंट है — कैटलॉग, कनेक्शन, आपूर्तिकर्ता उत्पाद, आयात, लिंक और आपूर्तिकर्ता ऑर्डर। जब समीक्षा के लिए कोई आपूर्तिकर्ता ऑर्डर रुक जाता है, तो सबमिट, रीट्राई और पे करने पर लौटने के बजाय त्रुटि उत्पन्न होती है, इसलिए कारण जानने के लिए आपूर्तिकर्ता ऑर्डर को दोबारा पढ़ें।
- npm —
@posty5/store4.3.0—store.suppliers - NuGet —
Posty5.Store3.2.0—store.Suppliers
इनमें से कोई भी संस्करण अभी प्रकाशित नहीं हुआ है। जब तक वे प्रकाशित नहीं होते, तब तक उपरोक्त रूट को सीधे कॉल करें।
TypeScript से, आपूर्तिकर्ता का मूल्य बदलने के कारण रोके गए प्रत्येक आपूर्तिकर्ता ऑर्डर को दोबारा प्रयास करें, नई लागत को स्वीकार करते हुए —
import { HttpClient } from "@posty5/core";import { IStoreSupplierOrder, StoreClient } from "@posty5/store";
const store = new StoreClient(new HttpClient({ apiKey: process.env.POSTY5_API_KEY }));
// Read every page first: a retry changes the list the cursor walks.const paused: IStoreSupplierOrder[] = [];let cursor: string | undefined;do { const page = await store.suppliers.listSupplierOrders(storeId, { needsReview: true, cursor, pageSize: 100 }); paused.push(...page.items); cursor = page.pagination.hasMore ? page.pagination.nextCursor ?? undefined : undefined;} while (cursor);
for (const supplierOrder of paused) { if (supplierOrder.reviewReason === "costChanged") { await store.suppliers.retry(storeId, supplierOrder._id, { acceptCost: true }); }}और C# से —
using Posty5.Core.Configuration;using Posty5.Core.Http;using Posty5.Core.Models;using Posty5.Store;using Posty5.Store.Models;
var http = new Posty5HttpClient(new Posty5Options { ApiKey = Environment.GetEnvironmentVariable("POSTY5_API_KEY") });var store = new StoreClient(http);
// Read every page first: a retry changes the list the cursor walks.var paused = new List<StoreSupplierOrder>();string? cursor = null;do{ var page = await store.Suppliers.ListSupplierOrdersAsync(storeId, new SupplierOrderSearchParams { NeedsReview = true }, new PaginationParams { Cursor = cursor, PageSize = 100 }); if (page == null) break; paused.AddRange(page.Items); cursor = page.Pagination.HasMore ? page.Pagination.NextCursor : null;} while (cursor != null);
foreach (var supplierOrder in paused){ if (supplierOrder.ReviewReason == "costChanged") await store.Suppliers.RetryAsync(storeId, supplierOrder.Id!, acceptCost: true);}n8n के लिए Posty5 स्टोर नोड (n8n पैकेज का संस्करण 4.4.0) में आपूर्तिकर्ता, आपूर्तिकर्ता उत्पाद, उत्पाद लिंक, आपूर्तिकर्ता ऑर्डर, ऑर्डर के हिस्से और ऑर्डर शामिल हैं। यह भी अभी प्रकाशित नहीं हुआ है।