Toplu besleme

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:

  1. Veri feed'i dosyalarınızı oluşturun.
  2. Bir barındırma çözümü seçin.
  3. Veri feed'lerinizi barındırın.
  4. 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:

  • Erişim anahtarı kimliği
  • Gizli erişim anahtarı
  • Üretim ve korumalı alan S3 dizinlerinizin ve marker.txt dosyasının yolları. Yol s3:// ile başlamalıdır.

S3 paketinde aşağıdaki bilgiler bulunmalıdır:

  • Envanteriniz için feed dosyaları.
  • Getirme işlemi için kullanılan bir zaman damgası içeren marker.txt.

Örnek marker.txt dosyası: 2018-12-03T08:30:42.694Z

Google'a üretim ve korumalı alan paket dizinlerinizin ve marker.txt dosyasının yollarını sağlayın. Yollar gs:// ile başlamalıdır.

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:

  • Envanteriniz için feed dosyaları.
  • Getirme işlemi için kullanılan bir zaman damgası içeren marker.txt.

Örnek marker.txt dosyası: 2018-12-03T08:30:42.694Z

Google'a aşağıdaki bilgileri sağlayın:

  • Temel kimlik doğrulamanız için kimlik bilgileri.
  • Üretim ve korumalı alan site haritası yollarınızın yolu. Yol https:// ile başlamalıdır.
  • Protokol: Feed dosyalarınızı HTTP değil HTTPS üzerinden kullanıma sunmanız gerekir.
  • Güvenlik: Google, barındırılan feed dosyalarınızı Temel Kimlik Doğrulama ile korumanızı önemle tavsiye eder.
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

  1. İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
  2. 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.
  3. Gönder'i tıklayın.
  4. 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

  1. İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
  2. 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.
  3. Gönder'i tıklayın.
  4. 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.
  5. 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

  1. İşlem Merkezi'nde Yapılandırma > Feed'ler'e gidin.
  2. 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.
  3. Gönder'i tıklayın.
  4. 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 ise https://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 veya dateModified 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.