İstemci kaynak kodu oluşturmak ve JSON verilerinin yapısını doğrulamak için Order with Google veri feed'i ve sipariş karşılama API tanımlarının makine tarafından okunabilir bir sürümü sunulur. Bu sayede, entegrasyon için gereken uygulama özelliklerini ve iş mantığını geliştirmeye daha fazla zaman ayırabilirsiniz.
Bu örnekte, kullanımı kolay bir istemci kitaplığı oluşturmak için quicktype CLI kullanıyoruz.
JSON Schema'ları indirin
Kod oluşturma ve doğrulama için, veri feed'lerinin ve API'lerin makine tarafından okunabilir sürümleri gerekir.
Kod oluştur
Quicktype, API'ler değiştirildiğinde kodları yeniden oluşturmak için kullanılabilir. Böylece etkilenen uygulama kodunu kolayca güncelleyebilirsiniz. QuickType; C++, Java, JavaScript, Python ve diğer programlama dillerini destekler.
İstemci kitaplıklarını oluşturmak için JSON Şeması tanımlarını destekleyen diğer kod oluşturma araçlarını da kullanabilirsiniz.
Order with Google entegrasyonunuzun proje dizinine hızlı tür yüklemek için Düğüm paket yöneticisi'ni (npm) kullanın.
npm install quicktype
TypeScript
- Order with Google veri feed'leri için istemci kaynak kodu oluşturun.
quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
- Karşılama API'si için istemci kaynak kodu oluşturun.
quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
- Gerçek zamanlı güncellemeler API'si için istemci kaynak kodu oluşturun.
quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
- Oluşturulan dosyaları çalışma alanınıza kopyalayın ve iş mantığınızı uygulayın.
Kullanım ve doğrulama
Varlık oluşturma ve bunları JSON'a dönüştürme örneği:
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
- Order with Google veri feed'leri için istemci kaynak kodu oluşturun.
quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
- Karşılama API'si için istemci kaynak kodu oluşturun.
quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
- Gerçek zamanlı güncellemeler API'si için istemci kaynak kodu oluşturun.
quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
- Oluşturulan dosyaları çalışma alanınıza kopyalayın ve iş mantığınızı uygulayın.
Kullanım ve doğrulama
Varlık oluşturma ve bunları JSON'a dönüştürme örneği:
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
- Order with Google veri feed'leri için istemci kaynak kodu oluşturun.
quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
- Karşılama API'si için istemci kaynak kodu oluşturun.
quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
- Gerçek zamanlı güncellemeler API'si için istemci kaynak kodu oluşturun.
quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
- Oluşturulan dosyaları çalışma alanınıza kopyalayın ve iş mantığınızı uygulayın.
Kullanım ve doğrulama
Varlık oluşturma ve bunları JSON'a dönüştürme örneği:
// 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
- Order with Google veri feed'leri için istemci kaynak kodu oluşturun.
quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
- Karşılama API'si için istemci kaynak kodu oluşturun.
quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
- Gerçek zamanlı güncellemeler API'si için istemci kaynak kodu oluşturun.
quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
- Oluşturulan dosyaları çalışma alanınıza kopyalayın ve iş mantığınızı uygulayın.
Kullanım
Varlık oluşturma ve bunları JSON'a dönüştürme örneği:
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))