ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड और फ़ुलफ़िलमेंट एपीआई की परिभाषाओं का ऐसा वर्शन उपलब्ध कराया जाता है जिसे मशीन पढ़ सकती है. इससे क्लाइंट सोर्स कोड जनरेट करने और JSON डेटा के स्ट्रक्चर की पुष्टि करने में मदद मिलती है. इससे, इंटिग्रेशन के लिए ज़रूरी ऐप्लिकेशन की क्षमताओं और कारोबार के लॉजिक को डेवलप करने में ज़्यादा समय बिताया जा सकता है.
इस उदाहरण में, हम आसानी से इस्तेमाल की जा सकने वाली क्लाइंट लाइब्रेरी जनरेट करने के लिए, quicktype CLI का इस्तेमाल करते हैं.
JSON स्कीमा डाउनलोड करना
कोड जनरेट करने और पुष्टि करने के लिए, डेटा फ़ीड और एपीआई के ऐसे वर्शन ज़रूरी हैं जिन्हें मशीन पढ़ सके.
कोड जनरेट करना
एपीआई में बदलाव होने पर, कोड फिर से जनरेट करने के लिए Quicktype का इस्तेमाल किया जा सकता है. इससे, आपको उस ऐप्लिकेशन कोड को अपडेट करने की ज़रूरत नहीं पड़ेगी जिस पर असर पड़ा है. QuickType, C++, Java, JavaScript, Python, और अन्य प्रोग्रामिंग भाषाओं के साथ काम करता है.
क्लाइंट लाइब्रेरी जनरेट करने के लिए, JSON स्कीमा की परिभाषाओं के साथ काम करने वाले अन्य उपलब्ध कोड जनरेटर टूल का भी इस्तेमाल किया जा सकता है.
ऑर्डरिंग के एंड-टू-एंड इंटिग्रेशन के लिए, प्रोजेक्ट डायरेक्ट्री में quicktype इंस्टॉल करने के लिए, Node package manager (npm) का इस्तेमाल करें.
npm install quicktype
TypeScript
- ऑर्डरिंग के एंड-टू-एंड डेटा फ़ीड के लिए, क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
- फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
- रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
- जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और कारोबार के नियम लागू करें.
इस्तेमाल और पुष्टि
इकाइयां बनाने और उन्हें JSON में बदलने का उदाहरण:
import { Convert, Fee, OperationHours, Restaurant, Service, ServiceArea, ServiceHours, Menu, MenuSection, Availability, MenuItem, MenuItemOption, MenuItemOffer, FeeType, FeeTypeEnum, RestaurantType } from './owg-inventory'; const restaurant: Restaurant = { "@id": "McDonalds", "@type": RestaurantType.Restaurant, "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": new Date() } const fee: Fee = { "@id": "123", "@type": FeeTypeEnum.Fee, "priceCurrency": "US", "serviceId": "123", "feeType": FeeType.Delivery, "dateModified": new Date() } const restaurantJson: string = Convert.restaurantToJson(restaurant); const feeJson: string = Convert.feeToJson(fee);
Java
- ऑर्डरिंग के एंड-टू-एंड डेटा फ़ीड के लिए, क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
- फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
- रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
- जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और कारोबार के नियम लागू करें.
इस्तेमाल और पुष्टि
इकाइयां बनाने और उन्हें JSON में बदलने का उदाहरण:
package com.example; import com.example.inventory.Converter; import com.example.inventory.Fee; import com.example.inventory.FeeType; import com.example.inventory.Restaurant; import com.example.inventory.RestaurantType; public class FoodOrderingResponse { public static void main(String[] args) { Restaurant restaurant = new Restaurant(); restaurant.setId("MacDonalds"); restaurant.setType(RestaurantType.RESTAURANT); restaurant.setAddressCountry("US"); restaurant.setAddressLocality("123 Local"); restaurant.setAddressRegion("Region"); restaurant.setName("MacDonald's"); restaurant.setPostalCode("1234"); restaurant.setStreetAddress("123"); restaurant.setTelephone("+15552999983"); restaurant.setUrl("https://example.com"); restaurant.setDateModified("2022-09-19T13:10:00.000Z"); Fee fee = new Fee(); fee.setId("123"); fee.setType(FeeTypeEnum.FEE); fee.setPriceCurrency("US"); fee.setServiceId("123"); fee.setFeeType(FeeType.DELIVERY); fee.setDateModified("2022-09-19T13:13:10.000Z"); String restaurantJson = Converter.RestaurantToJsonString(restaurant); String feeJson = Converter.FeeToJsonString(fee); } }
JavaScript
- ऑर्डरिंग के एंड-टू-एंड डेटा फ़ीड के लिए, क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
- फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
- रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
- जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और कारोबार के नियम लागू करें.
इस्तेमाल और पुष्टि
इकाइयां बनाने और उन्हें JSON में बदलने का उदाहरण:
// Converts JSON strings to/from your types // and asserts the results of JSON.parse at runtime const Convert = require("./owg-inventory"); const restaurantJson = Convert.restaurantToJson({ "@id": "McDonalds", "@type": 'Restaurant', "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": new Date() })); const restaurant = Convert.toRestaurant(restaurantJson);
Python
- ऑर्डरिंग के एंड-टू-एंड डेटा फ़ीड के लिए, क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
- फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
- रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
- जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और कारोबार के नियम लागू करें.
इस्तेमाल
इकाइयां बनाने और उन्हें JSON में बदलने का उदाहरण:
import json import owg_inventory restaurant: owg_inventory.Restaurant = owg_inventory.restaurant_from_dict({ "@id": "McDonalds", "@type": "Restaurant", "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": "2022-09-19T13:10:00.000Z" }) restaurant_json: str = json.dumps(owg_inventory.restaurant_to_dict(restaurant))