Veri feed'leriniz sayesinde restoranınızı, hizmetlerinizi ve menünüzü Ordering End-to-End'de kullanıma sunabilirsiniz.
Bu dokümanda, korumalı alan ve üretim envanterlerinizi barındırma ve Sipariş Sonu-Ucu'nda envanterinizi güncellemek için toplu beslemeyi kullanma hakkında bilgiler verilmektedir.
Veri feed'i ortamları
Entegrasyon geliştirmeniz için üç veri feed'i ortamı vardır:
Feed ortamı | Açıklama | Toplu besleme |
---|---|---|
Korumalı Alan | Feed geliştirmeniz için test ortamı. | Zorunlu |
Üretim | Lansman yapmak istediğiniz envanteriniz için üretim ortamı. | Zorunlu |
Veri feed'lerini barındırma
Sipariş Sonuna Kadar Süreci'nin, korumalı alan ve üretim veri feed'lerinizi toplu beslemeyle işleyebilmesi için veri feed'i dosyalarınızı bir site haritasıyla birlikte Google Cloud Storage, Amazon S3 veya HTTPS'de barındırmanız gerekir.
Korumalı alan ve üretim ortamlarınıza ait veri feed'lerini ayrı olarak barındırmanızı öneririz. Bu yaklaşım, değişiklikleri üretime dağıtmadan önce korumalı alan feed'i ortamınızda geliştirme ve test yapmanıza olanak tanır.
Örneğin, barındırma seçeneği olarak Google Cloud Storage'ı kullanıyorsanız aşağıdaki yollara sahip olursunuz:
- Sandbox Feed'i:
gs://foorestaurant-google-feed-sandbox/
- Üretim feed'i:
gs://foorestaurant-google-feed-prod/
Envanterinizi barındırmak için aşağıdakileri yapın:
- Veri feed'i dosyalarınızı oluşturun.
- Bir barındırma çözümü seçin.
- Veri feed'lerinizi barındırın.
- Veri feed'i dosyalarınızın düzenli olarak güncellendiğinden emin olun. Üretim veri feed'leri her gün güncellenmelidir.
Envanter feed'i oluşturma hakkında ayrıntılı bilgi edinmek için Restaurant
, Service
ve Menu
öğelerinin dokümanlarına ve Veri feed'i oluşturma bölümüne bakın.
Veri feed'i dosyaları ile ilgili kurallar
Birden fazla öğe içerebilen her dosya 200 MB'ı aşmamalıdır. Üst düzey Restaurant
, Service
ve Menu
varlıkları ile alt varlıkları toplam 4 MB'ı aşmamalıdır.
Barındırma çözümü seçme
Aşağıdaki tabloda, veri feed'lerinizi barındırma seçenekleri ve bu barındırıcıların Ordering uçtan uca çözümüyle nasıl çalıştığı listelenmiştir:
Amazon S3 | Google Cloud Storage | Site haritası içeren HTTPS | |
---|---|---|---|
Kimlik bilgileri ve erişim |
Google'a aşağıdaki bilgileri sağlayın:
S3 paketinde aşağıdaki bilgiler bulunmalıdır:
Örnek |
Google'a üretim ve korumalı alan paket dizinlerinizin ve Google danışmanınız tarafından sağlanan hizmet hesabını Google Cloud Storage paketinizin okuyucusu olarak ekleyin. Google Cloud Storage (GCS) erişimini kontrol etme hakkında daha fazla bilgi için Google Cloud Platform Console: Paket izinlerini ayarlama başlıklı makaleyi inceleyin. GCS paketinde aşağıdaki bilgiler bulunmalıdır:
Örnek |
Google'a aşağıdaki bilgileri sağlayın:
|
Google, hangi dosyaların getirilmesi gerektiğini nasıl bilir? | Paketteki tüm dosyaların dizin girişi. | Paketteki tüm dosyaların dizin girişi. | Site haritasında listelenen dosyaların ayrı URL'leri. |
Google, dosyaların getirilmeye hazır olduğunu nasıl anlar? | Veri feed'lerinizi oluşturmayı bitirdikten sonra marker.txt dosyasını en son zaman damgasıyla güncelleyin. |
Veri feed'lerinizi oluşturmayı bitirdikten sonra marker.txt dosyasını en son zaman damgasıyla güncelleyin. |
Veri feed'lerinizi oluşturmayı bitirdikten sonra sitemap.xml öğenizin last-modified yanıt üstbilgisini en son zaman damgasıyla güncelleyin. |
Dosya sınırları |
Maksimum dosya sayısı: 100.000. Amazon S3 paketinizde toplam 100.000'den az dosya olmalıdır. |
Maksimum dosya sayısı: 100.000. Google Cloud Storage paketinizde toplam 100.000'den az dosya olmalıdır. |
Maksimum dosya sayısı: 100.000. Site haritası XML dosyanızdaki dosya yollarının sayısı 100.000'den az olmalıdır. |
Toplu besleme için veri feed'lerinizi bağlama
Feed'lerinizi barındırdıktan sonra Actions Center'da projenize bağlamanız gerekir. Üretim feed'lerinin ilk yapılandırması İlk katılım görevleri sayfasında yapılır. Daha sonra, üretim ve korumalı alan feed'i yapılandırması, yönetici rolüne sahip tüm portal kullanıcıları tarafından Yapılandırma > Feed'ler sayfasından güncellenebilir. Korumalı alan ortamı geliştirme ve test amacıyla kullanılırken üretim feed'leri kullanıcılara gösterilir.
Veri feed'lerinizi Amazon S3'te barındırıyorsanız
- İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
-
Düzenle'yi tıklayın ve Feed'i Güncelle formunu doldurun:
- Feed yayınlama yöntemi: Amazon S3 olarak ayarlayın.
- İşaretçi dosyası:
marker.txt
dosyasının URL'sini sağlayın. - Veri Dosyaları: Veri feed'lerini içeren S3 paketinin URL'sini sağlayın.
- Erişim kimliği: S3 kaynaklarından okuma izni olan IAM erişim anahtarı kimliğini girin.
- Erişim Anahtarı: S3 kaynaklarından okuma izni olan IAM gizli erişim anahtarını girin.
- Gönder'i tıklayın.
- Bir veya iki saat sonra toplu beslemenin feed dosyalarınızı getirip getirmediğini kontrol edin.
Veri feed'lerinizi Google Cloud Storage ile barındırıyorsanız
- İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
-
Düzenle'yi tıklayın ve Feed'i Güncelle formunu doldurun:
- Feed yayınlama yöntemi: Google Cloud Storage olarak ayarlayın.
- İşaretçi dosyası:
marker.txt
dosyasının URL'sini sağlayın. - Veri Dosyaları: Veri feed'lerini içeren GCS paketinin URL'sini sağlayın.
- Gönder'i tıklayın.
- GCS paketinize erişmek için bir hizmet hesabı oluşturulur. Hesap adını, ilk katılım görevleri tamamlandıktan sonra Yapılandırma > Feed'ler bölümünde bulabilirsiniz. Bu hizmet hesabının "Depolama Eski Nesne Okuyucu" rolüne sahip olması gerekir. Bu rol, Google Cloud Console'un IAM sayfasından hizmet hesabına verilebilir.
- Bir veya iki saat sonra toplu beslemenin feed dosyalarınızı getirip getirmediğini kontrol edin.
Veri feed'lerinizi HTTPS ile barındırıyorsanız
- İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
-
Düzenle'yi tıklayın ve Feed'i Güncelle formunu doldurun:
- Feed yayınlama yöntemi: HTTPS olarak ayarlayın.
- Site Haritası Dosyası:
sitemap.xml
dosyasının URL'sini sağlayın. - Kullanıcı adı: HTTPS sunucusuna erişmek için kullanıcı adı kimlik bilgilerini girin.
- Şifre: HTTPS sunucusuna erişmek için şifreyi girin.
- Gönder'i tıklayın.
- Bir veya iki saat sonra toplu beslemenin feed dosyalarınızı getirip getirmediğini kontrol edin.
Örnek yollar
Aşağıdaki tabloda her bir barındırma seçeneğinin örnek yolları yer almaktadır:
Amazon S3 | Google Cloud Storage | Site haritası içeren HTTPS | |
---|---|---|---|
Path | s3://foorestaurant-google-feed-sandbox/ |
gs://foorestaurant-google-feed-sandbox/ |
https://sandbox-foorestaurant.com/sitemap.xml |
İşaretçi dosyası | s3://foorestaurant-google-feed-sandbox/marker.txt |
gs://foorestaurant-google-feed-sandbox/marker.txt |
Geçerli değil |
HTTPS barındırma için site haritaları
Site haritalarını tanımlarken aşağıdaki yönergeleri kullanın:
- Site haritanızdaki bağlantılar, dosyaların kendilerine yönlendirmelidir.
- Site haritanızda kendi alan adınız yerine bir bulut sağlayıcıya referanslar varsa URL'lerin başlangıcının (ör.
https://www.yourcloudprovider.com/your_id
) sabit olduğundan ve toplu işinize özgü olduğundan emin olun. - Kısmi site haritaları yüklememeye dikkat edin (ör. kısmi veri yükleme durumunda). Bu, Google'ın yalnızca site haritasındaki dosyaları beslemesine neden olur. Bu da envanter seviyelerinizin düşmesine ve feed beslemenizin engellenmesine yol açabilir.
- Site haritasında başvurulan dosyaların yollarının değişmediğinden emin olun. Örneğin, site haritanızda bugün
https://www.yourcloudprovider.com/your_id/10000.json
'e, yarın isehttps://www.yourcloudprovider.com/your_id/20000.json
'a referans vermeyin.
Örnek site haritası
Aşağıda, veri feed'i dosyaları yayınlayan bir sitemap.xml
dosyası örneği verilmiştir:
1. Örnek: Satıcılara göre gruplandırılmış öğeler (Önerilen).
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
2. Örnek: Türlere göre gruplandırılmış varlıklar.
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/menu.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/service.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
Veri feed'lerinizi güncelleme
Veri feed'leriniz bağlandıktan sonra Google, güncellemeleri saatte bir kontrol eder ancak tüm veri feed'leri yalnızca marker.txt
veya sitemap.xml
dosyaları değiştirildiğinde alınır. Eski envanteri önlemek için veri feed'lerinizi günde bir kez güncellemenizi bekliyoruz.
Veri feed'lerinin değiştirildiğini ve toplu beslemeye hazır olduğunu belirtmek için marker.txt
dosyasının last-modified
nesne meta veri alanını (GCP ve S3 için) veya sitemap.xml
dosyasının last-modified
yanıt üstbilgisini güncelleyin. Google, bir veri feed'inin ne kadar güncel olduğunu belirlemek için bu değerleri kullanır.
Toplu feed beslenirken,
- Mevcut uçtan uca sipariş envanterinizde bulunmayan ve hatası olmayan yeni varlıklar eklenir.
-
Envanterde zaten mevcut olan ve aktarımda herhangi bir hataya sahip olmayan,
dateModified
değeri mevcut girişlerinden daha yeni olan veyadateModified
değeri olmayan ancak feed aktarma başlangıç zamanı mevcut girişlerinden daha yeni olan varlıklar güncellenir. Aksi takdirde eski olarak işaretlenirler. - Feed'de dosya düzeyinde hata olmadığı sürece, önceki bir feed'in parçası olan ve artık işlenmekte olan toplu feed'e dahil edilmeyen öğeler silinir.
Zaman damgası veya last-modified
yanıt başlığı yalnızca tüm veri feed'i dosyalarının oluşturulup güncellenmesinden sonra güncellenmelidir. Veri feed'lerinizi güncelleyen toplu işleri günde yalnızca bir kez çalışacak şekilde sınırlayın. Alternatif olarak, her toplu iş arasında en az üç saatlik bir boşluk bırakın. Bu adımları uygulamazsanız Google eski dosyaları getirebilir.