Bu bölümde, Merchant API için geliştirici kaydıyla ilgili sık sorulan sorular ele alınmaktadır.
Genel Kayıt
Kayıt süreciyle ilgili sık sorulan sorular:
Merchant API'yi kullanmak için geliştirici kaydı zorunlu mu?
Evet. Google'ın hizmet duyuruları ve yeni özelliklerle ilgili bilgiler gibi API'ye özgü önemli güncellemeleri gönderebilmesi için geliştirici iletişim bilgilerinizi kaydetmeniz gerekir.
Merchant API'yi yalnızca keşfetmek ve test etmek istiyorsanız kayıt gerektirmeyen Google OAuth Playground ve API Gezgini gibi araçları kullanabilirsiniz.
Ne sıklıkta kaydolmam gerekiyor?
Kayıt, her Google Cloud projesi için tek seferlik bir kurulumdur. Birden fazla satıcı hesabıyla çalışıyor olsanız da olmasanız da kayıt işlemini yalnızca bir kez yaparsınız ve bu işlem, bağlı Google Cloud projesindeki tüm kullanıcılar ve hizmet hesapları için geçerli olur.
Bir Google Cloud projesi başarıyla kaydedildikten sonra, unregisterGcp yöntemi çağrılarak açıkça kaldırılmadığı sürece bağlantı etkin kalır. API Gezgini veya OAuth Playground gibi Google'a ait paylaşılan projeleri kaydedemezsiniz.
Geliştirici iletişim bilgisi olarak hangi e-posta adresini vermeliyim?
Bir kişinin kurumsal e-posta adresini kullanmanızı öneririz. Alternatif olarak genel grup takma adlarını kullanabilirsiniz. İletişimler gerçek kişiler için tasarlandığından hizmet hesabı e-postalarını kullanamazsınız. Google, hizmet duyuruları ve yeni özellikler hakkında bilgiler gibi önemli API'ye özgü güncellemeler gönderir.
E-posta adresi, Merchant Center hesabında mevcut bir kullanıcıya aitse bu kullanıcıya otomatik olarak API_DEVELOPER rolü verilir. Aksi takdirde, bu adrese bir davetiye gönderilir.
Geliştirici iletişim e-posta adresi alanı, registerGcp yönteminde isteğe bağlıdır. Kayıt sırasında bu alan için bir değer sağlamazsanız Merchant Center kullanıcı arayüzünde veya accounts.users.create yöntemini çağırarak API_DEVELOPER rolüne sahip bir kullanıcı oluşturmanız gerekir.
Geliştirici iletişim e-posta adresinin Google Hesabı olması gerekir mi?
Evet. Mevcut bir Google dışı e-posta adresini kullanmak için Google Hesabı oluşturma kaydolma sürecinde Mevcut e-postanızı kullanın seçeneğini belirleyerek bu e-posta adresini bir Google Hesabı ile ilişkilendirebilirsiniz. Hizmet hesapları e-posta alamadığından hizmet hesabı e-posta adreslerini kullanamazsınız.
Kayıt çağrısı için kimlik doğrulama ve yetkilendirme işlemlerini nasıl yaparım?
Kullanım alanınıza bağlı olarak kayıt çağrısının kimlik doğrulaması ve yetkilendirilmesi için iki farklı kimlik doğrulama senaryosu mevcuttur:
- OAuth 2.0: Birden fazla satıcı hesabı yöneten üçüncü taraf sağlayıcılar veya ajanslar için
- Hizmet hesapları: Kendi Merchant Center hesabınıza erişmek için
Önceki şemada, kayıt çağrısı için iki kimlik doğrulama ve yetkilendirme akışı gösterilmektedir. Aşağıdakilerden birini seçebilirsiniz:
- Google Hesabı ile ilişkili account@email.com gibi bir e-posta adresiyle OAuth kullanma
- sa@project.iam.gserviceaccount.com gibi bir hizmet hesabı kullanma
OAuth'u kullanmaya karar verirseniz:
- E-postanız için Google Cloud projenizde OAuth kimlik bilgileri oluşturun.
- Yetkilendiren e-posta adresinin Merchant Center'da bulunduğundan ve
ADMINerişim türüne sahip olduğundan emin olun.
Hizmet hesabı kullanmaya karar verirseniz:
- Hizmet hesabının Google Cloud projenizde bulunduğundan emin olun.
- Hizmet hesabıyla ilişkili e-posta adresinin Merchant Center hesabınızda bulunduğundan ve
ADMINerişim türüne sahip olduğundan emin olun.
Doğrudan API çağrılarını veya istemci kitaplıklarını kullanarak kimlik doğrulayan kimliğin güvenlik bağlamı altında kayıt çağrısını gerçekleştirin. Geliştiriciyle iletişime geçmek için bir e-posta adresi sağlayın (ör. developer@email.com).
Kayıt çağrısı başarılı olursa Merchant Center hesabınızda, sağlanan geliştirici e-posta adresi ve API_DEVELOPER rolüyle bir kullanıcı bulunur. Yanıt olarak DeveloperRegistration kaynağını alırsınız.
Kimlik doğrulama e-postası ile geliştirici iletişim e-postası arasındaki fark nedir?
İki e-posta adresi, Merchant API ekosisteminde farklı amaçlara hizmet eder:
- E-posta kimlik doğrulaması: Merchant API'ye istekleri yetkilendirmek için genellikle Google Hesabınızla veya bir hizmet hesabıyla ilişkili bir e-posta adresini kimlik olarak kullanırsınız. Bunun için:
- Merchant Center hesabınızda bulunur ve
ADMINrolüne sahiptir. - Merchant API'nin etkin olduğu bir Google Cloud projesi, API çağrılarını yetkilendiren e-postayla ilişkili OAuth istemcisini veya hizmet hesabını barındırır.
- Merchant Center hesabınızda bulunur ve
- Geliştirici iletişim e-postası: Geliştirici iletişim e-postası da bir Google Hesabı ile ilişkilendirilmelidir ancak Google'dan gelen önemli hizmet duyuruları ve API güncellemeleri için birincil iletişim adresi olarak kullanılır. Bir kullanıcıya veya bir kullanıcı grubuna ait olabilir. Varsayılan olarak, Merchant Center'da
API developerrolünü alır.
Geliştirici iletişim e-postasına gönderilen daveti kabul etmem gerekir mi?
Evet. Geliştirici iletişim e-postası alıcısı olarak belirttiğiniz kişinin, daveti 14 gün içinde kabul etmesi gerekir. Kayıt, yalnızca davetiye kabul edildikten sonra tamamlanır. Ancak bu süre zarfında API çağrıları yapabilirsiniz.
Davet, belirtilen süre içinde kabul edilmezse davet bağlantısının süresi dolar. Artık Merchant API çağrıları yapamazsınız ve kayıt işlemini yeniden başlatmanız gerekir.
Hesap ve Proje Yönetimi
Hesap ve proje yönetimiyle ilgili sık sorulan sorular:
Birden fazla Merchant Center hesabı ile çalışıyorum. Merchant API ile kullanmak istediğim her Merchant Center hesabını kaydetmem gerekir mi?
Hayır. Üçüncü taraf geliştiriciyseniz veya birden fazla satıcının hesabını yöneten bir ajanssanız Google Cloud projenizi her bir satıcının hesabıyla değil, kendi birincil Merchant Center hesabınızla kaydettirirsiniz. Bu şekilde, satıcılarınız için yaptığınız tüm API çalışmalarında geliştiriciyi temsil edersiniz.
Birden fazla Merchant Center hesabı ile çalışıyorum. Birincil Merchant Center hesabımı nasıl seçerim?
Kullanılacak ana hesabı seçme işlemi, işletmenizin türüne bağlıdır:
- Mevcut bir gelişmiş hesabı olan pazar yerleri: İşletmeniz bir pazar yeri olarak faaliyet gösteriyorsa ve platformun tamamını temsil eden bir gelişmiş hesabı varsa birincil Merchant Center hesabı olarak bu mevcut hesap kimliğini kullanın.
- Karşılaştırmalı Alışveriş Hizmetleri (CSS): CSS iseniz benzersiz CSS hesap kimliğinizi veya CSS grubu hesap kimliğinizi kullanın.
- Ajanslar, geliştiriciler ve diğer 3. taraflar: Birden fazla satıcı hesabı yöneten ve işletmenizi temsil eden tek bir Merchant Center Kimliğine sahip olmayan bir 3. taraf işletmesi (ör. ajans veya üçüncü taraf geliştirici)yseniz yeni bir birincil Merchant Center hesabı oluşturmalı ve bu hesabın gelişmiş hesaba dönüştürülmesini istemelisiniz.
Google Cloud projeniz birincil Merchant Center hesabınıza kaydedildikten sonra, erişiminiz olan diğer Merchant Center hesaplarını tek tek kaydetmenize gerek kalmadan yönetmek için aynı projeyi kullanabilirsiniz.
Birden fazla Google Cloud projesi kullanıyorum. Her birini kaydetmem gerekiyor mu?
Evet. Kayıt işlemi, çağıran Google Cloud projesini bağladığından registerGcp çağrısını, API çağrıları yapmak için kullandığınız her Google Cloud projesinden yapmanız gerekir.
Tek bir Google Cloud projesi, aynı anda yalnızca tek bir Merchant Center hesabına kaydedilebilir. Ancak tek bir Merchant Center hesabına birden fazla Google Cloud projesi kaydedilebilir. Benzer şekilde, birden fazla Google Cloud projesinde veya birden fazla Merchant Center'da birden fazla kayıt işlemi gerçekleştirmek için aynı geliştirici e-posta adresini kullanabilirsiniz.
Bir Google Cloud projesini birden fazla Merchant Center hesabıyla kaydedersem ne olur?
Başka bir Merchant Center hesabına zaten kayıtlı olan bir Google Cloud projesini kaydetmeye çalışmak ALREADY_REGISTERED hatasına neden olur.
Geliştirici kaydı API çağrısının kimliğini nasıl doğrularım?
Merchant API için geliştirici kaydı API çağrısının kimliğini doğrulamak üzere Google Cloud projesi üzerinden yönetilen kimlik bilgilerini kullanırsınız. Kimlik doğrulama işlemini gerçekleştiren kimlik için iki temel seçeneğiniz vardır:
- OAuth 2.0 kullanan Gmail gibi bir Google Hesabı: Bu yöntemde, Google Cloud projenizde oluşturulan OAuth 2.0 istemci kimlik bilgileri kullanılır. API çağrısı, kullanıcının oturum açtığı belirli bir Google Hesabı adına yetkilendirilir.
- Hizmet Hesabı: Bu yöntemde, uygulamalar için tasarlanmış özel bir Google Hesabı türü olan Google Cloud Hizmet Hesabı kullanılır. Hizmet hesabının kimlik bilgileri de Google Cloud projenizde yönetilir.
Geliştirici kaydının başarılı olması için kimlik doğrulama kimliğinin (Google Hesabı veya hizmet hesabı) Merchant Center'da aşağıdaki ölçütleri karşılaması gerekir:
- Merchant Center'da kullanıcı olarak mevcut: Kimlik doğrulama için kullanılan Google Hesabı veya hizmet hesabıyla ilişkili e-posta adresi, kayıt yaptırdığınız Merchant Center hesabına kullanıcı olarak eklenmelidir.
- Yönetici Rolü Gerekli: Bu kullanıcıya, söz konusu Merchant Center hesabında
ADMINrolü atanmış olmalıdır.
API çağrıları yapılırken:
- Doğrudan API çağrıları kullanıyorsanız
Authorizationüstbilgisinde geçerli bir erişim jetonu alıp sağlamanız gerekir. Bu jeton, Google Hesabı için OAuth 2.0 akışı veya hizmet hesabı için sunucudan sunucuya kimlik doğrulama akışı tarafından oluşturulur. - Google tarafından sağlanan istemci kitaplıkları, yapılandırmalarının bir parçası olarak genellikle sizin için erişim jetonlarını alma ve yenileme işlemlerinin karmaşıklığını ele alır.
Kimliği doğrulayan kullanıcı, geliştirici iletişim kullanıcısıyla aynı olmayabilir. Daha fazla bilgi için Kimlik doğrulama e-postası ile geliştirici iletişim e-postası arasındaki fark nedir? başlıklı makaleyi inceleyin.
Erişim jetonlarını ne sıklıkta yenilemem gerekir?
Hem hizmet hesapları hem de OAuth 2.0 için erişim jetonlarının süresi genellikle 1 saat sonra dolar. Ancak yeni bir kod alma mekanizması, kullandığınız kimlik doğrulama yöntemine bağlıdır:
- Hizmet hesapları, gerektiğinde yeni bir erişim jetonu oluşturmak için özel anahtar veya ortam kimlik bilgileri kullanır.
- OAuth 2.0 akışları, Google OAuth2 jeton uç noktasını çağırarak 1 saatlik yeni bir erişim jetonu almak için refresh_token kullanır.
Bu rotasyonu otomatik olarak işleyen resmi Google Auth Kitaplıklarını kullanmanızı önemle tavsiye ederiz. Böylece uygulamanız hiçbir zaman kapalı kalmaz.
Kullanıcılar ve roller
Kullanıcılar ve roller hakkında sık sorulan sorular:
Geliştirici e-posta hesabı Merchant Center'da mevcut olmalı mı?
Hayır. Kayıt e-posta hesabı Merchant Center'da mevcut değilse Merchant API, hesabı Merchant Center'da Beklemede durumuyla oluşturur. Geliştirici e-posta adresi, Merchant Center hesabında mevcut bir kullanıcıya aitse bu kullanıcıya otomatik olarak API_DEVELOPER rolü verilir.
Geliştirici iletişim e-posta adresinin Merchant Center'da yönetici haklarına sahip olması gerekir mi?
Hayır. Geliştirici iletişim e-postasıyla ilişkili Merchant Center kullanıcısı, önemli bildirimleri almak için gereken API_DEVELOPER rolünü varsayılan olarak alır. Ancak, Merchant Center'da minimum izinlere sahiptir. Bu kullanıcının başka API çağrıları yapmasına veya Merchant Center kullanıcı arayüzünde ayarları yönetmesine izin vermek için kullanıcıya STANDARD veya ADMIN gibi ek roller vermeniz gerekir. Merchant Center rolleri hakkında daha fazla bilgi için Erişim türleri başlıklı makaleyi inceleyin.
"API Geliştirici" rolü hangi izinlere sahiptir?
API Developer rolü, Merchant Center'da minimum haklara sahip bir roldür. Merchant API'ye yapılan çağrıları yetkilendirmek için geliştirici iletişim e-posta adresini kullanmayı planlıyorsanız kullanıcının API çağrıları yapabilmesi için ADMIN veya STANDARD izinlerini eklemenizi öneririz.
API'yi çağıran her geliştirici kullanıcısını veya hizmet hesabını kaydetmem gerekir mi?
Hayır. Geliştirici kaydı, API çağrıları yapmak için kullanılan Google Cloud projesine bağlıdır. Tek tek kullanıcılara veya hizmet hesaplarına bağlı değildir. Bir Google Cloud projesi, birincil Merchant Center hesabınıza başarıyla kaydedildikten sonra, Merchant API çağrılarını yetkilendirmek için OAuth kimlik bilgilerini veya hizmet hesaplarını kullanarak bağlı Google Cloud projesi üzerinden yönetilen herhangi bir kimliği kullanabilirsiniz. Bunun için kimliklerin Merchant Center hesabınızda bulunması ve ADMIN rolünün atanmış olması gerekir.
İlk kayıttan sonra geliştirici iletişim e-posta adresini nasıl değiştiririm?
Kişileri yönetmek veya değiştirmek için standart accounts.users hizmetini ya da Merchant Center kullanıcı arayüzündeki "Erişim ve hizmetler" sayfasını kullanarak API Developer rolüne sahip kullanıcıları ekleyebilir veya kaldırabilirsiniz.
Son "API Geliştiricisi" kullanıcısı Merchant Center hesabından kaldırılırsa ne olur?
Hizmetin hemen kesintiye uğramasını önlemek için 30 günlük ek süre başlatılır. Bu süre boyunca:
- Yöneticiler e-posta yoluyla üç zorunlu hizmet duyurusu alır (genellikle engellemeden yaklaşık 30, 17 ve 4 gün önce).
- API çağrıları normal şekilde çalışmaya devam eder.
- Yeni bir
API Developer, ek süre sona ermeden önce eklenmezse ilişkili Google Cloud projelerinden gelen API çağrılarıAUTH_GCP_NOT_REGISTEREDhatasıyla engellenir.
30 günlük ek süre sona erdiğinde, ilişkili Google Cloud projelerinden gelen API çağrıları engellenir ve geçerli bir geliştirici iletişim bilgisi geri yüklenene kadar AUTH_GCP_NOT_REGISTERED hatası alınır.
Geliştirici kaydının yapıldığı Merchant Center kimliği silinirse ne olur?
Entegrasyonunuz etkin durumdayken geliştirici kaydı için kullanılan Merchant Center hesabını silmeyin. Bu hesabın silinmesi entegrasyonunuzu hemen bozar ve artık ilişkili Google Cloud projesinden API çağrıları yapamazsınız.
Söz konusu Merchant Center hesabını silmeniz gerekiyorsa bağlantıyı güvenli bir şekilde kaldırmak için önce unregisterGcp yöntemini çağırmalı, ardından Merchant Center kimliğini silme işlemine devam etmelisiniz. Merchant API'yi kullanmaya devam etmek istiyorsanız mevcut Merchant Center kimliğinin kaydını sildikten hemen sonra başka bir Merchant Center kimliğiyle kaydolmanız gerekir. Ancak bu durumda Merchant Center kimliğini silme işlemine devam edin.
Özel Kullanım Alanları
Özel kullanım alanlarıyla ilgili sık sorulan sorular:
Birden fazla satıcı hesabı yöneten bir ajans veya üçüncü taraf geliştiriciyim. Bunu ayarlamanın en iyi yolu nedir?
Üçüncü taraf geliştiriciler ve ajanslar kendi birincil Merchant Center hesaplarını korumalı ve tüm Google Cloud projelerini tek bir merkezi hesaba kaydetmelidir. Google Cloud projenizi her bir satıcının hesabına ayrı ayrı kaydetmeyin.
Google Apps Komut Dosyaları'nda kayıt nasıl çalışır?
Apps Komut Dosyaları genellikle varsayılan bir Google Cloud projesinde çalışır. Bu varsayılan Google Cloud kimliğini Merchant Center hesabınıza kaydetmeniz gerekir. Google Cloud kimliği API tarafından otomatik olarak alındığı için parametre olarak sağlamanız gerekmez.
Bir Merchant Center kimliğinin belirli bir Google Cloud proje kimliğine kayıtlı olup olmadığını kontrol edebilir miyim?
Evet. getAccountForGcpRegistration yöntemini kullanarak belirli bir Google Cloud projesine hangi Merchant Center kimliğinin kaydedildiğini kontrol edebilirsiniz. Google Cloud proje bağlantısını Merchant Center hesabınızdan kaldırmak için unregisterGcp yöntemini kullanın.