क्लाइंट लाइब्रेरी जनरेट करें

ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड और फ़ुलफ़िलमेंट एपीआई परिभाषाओं का मशीन से पढ़ा जा सकने वाला वर्शन, क्लाइंट सोर्स कोड जनरेट करने और JSON डेटा के स्ट्रक्चर की पुष्टि करने के लिए उपलब्ध कराया जाता है. इससे आपको इंटिग्रेशन के लिए ज़रूरी ऐप्लिकेशन की क्षमताओं और कारोबारी नियम को डेवलप करने में ज़्यादा समय देने में मदद मिलती है.

इस उदाहरण में, हम Quicktype CLI का इस्तेमाल करके इस्तेमाल में आसान क्लाइंट लाइब्रेरी जनरेट करते हैं.

JSON स्कीमा डाउनलोड करना

डेटा फ़ीड और एपीआई के मशीन से पढ़े जा सकने वाले इन वर्शन की ज़रूरत, कोड जनरेट करने और उसकी पुष्टि करने के लिए होती है.

कोड जनरेट करें

Quicktype की मदद से, एपीआई बदले जाने पर कोड फिर से जनरेट किए जा सकते हैं, ताकि आप उस ऐप्लिकेशन कोड को आसानी से अपडेट कर सकें जिस पर असर पड़ा है. QuickType, C++, Java, JavaScript, Python, और अन्य प्रोग्रामिंग भाषाओं के साथ काम करता है.

क्लाइंट लाइब्रेरी जनरेट करने के लिए, ऐसे उपलब्ध कोड जनरेटर टूल का भी इस्तेमाल किया जा सकता है जो JSON स्कीमा की परिभाषाओं के साथ काम करते हैं.

अपने ऑर्डरिंग एंड-टू-एंड इंटिग्रेशन के लिए, प्रोजेक्ट डायरेक्ट्री में Quicktype इंस्टॉल करने के लिए नोड पैकेज मैनेजर (npm) का इस्तेमाल करें.

npm install quicktype

TypeScript

  1. ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड के लिए क्लाइंट सोर्स कोड जनरेट करना.
    quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
            
  2. फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
            
  3. रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
            
  4. जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और अपना कारोबारी नियम लागू करें.

इस्तेमाल और पुष्टि

इकाइयां बनाने और उन्हें 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

  1. ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड के लिए क्लाइंट सोर्स कोड जनरेट करना.
    quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
            
  2. फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
            
  3. रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
            
  4. जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और अपना कारोबारी नियम लागू करें.

इस्तेमाल और पुष्टि

इकाइयां बनाने और उन्हें 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

  1. ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड के लिए क्लाइंट सोर्स कोड जनरेट करना.
    quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
            
  2. फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
            
  3. रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
            
  4. जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और अपना कारोबारी नियम लागू करें.

इस्तेमाल और पुष्टि

इकाइयां बनाने और उन्हें 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

  1. ऑर्डरिंग एंड-टू-एंड डेटा फ़ीड के लिए क्लाइंट सोर्स कोड जनरेट करना.
    quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
            
  2. फ़ुलफ़िलमेंट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
            
  3. रीयल-टाइम अपडेट एपीआई के लिए क्लाइंट सोर्स कोड जनरेट करें.
    quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
            
  4. जनरेट की गई फ़ाइलों को अपने फ़ाइल फ़ोल्डर में कॉपी करें और अपना कारोबारी नियम लागू करें.

इस्तेमाल का तरीका

इकाइयां बनाने और उन्हें 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))