Untuk menggunakan Merchant API, Anda harus menautkan project Google Cloud ke akun Merchant Center utama melalui pendaftaran developer. Selama siklus proses integrasi, Anda mungkin perlu mengubah project ID Google Cloud yang terkait dengan akun Merchant Center, mengelola beberapa project di berbagai lingkungan, atau mentransisikan project saat bermigrasi dari Content API for Shopping.
Panduan ini menjelaskan cara:
- Mengubah atau merotasi project ID Google Cloud untuk integrasi Merchant API yang ada tanpa periode nonaktif.
- Membatalkan pendaftaran project Google Cloud dari satu akun Merchant Center dan mendaftarkannya ke akun Merchant Center lain.
- Pilih dan jalankan strategi transisi project Google Cloud yang tepat jika Anda bermigrasi dari Content API for Shopping ke Merchant API.
Prasyarat
Sebelum mengelola atau mentransisikan project Google Cloud, pastikan Anda memenuhi prasyarat pendaftaran developer. Untuk mengetahui detail selengkapnya, lihat bagian Prasyarat dalam panduan Mendaftar sebagai developer.
Aturan dan batasan utama
Saat merencanakan perubahan pada project Google Cloud Anda, perhatikan aturan berikut:
- Pendaftaran project one-to-many: Satu akun Merchant Center utama dapat memiliki beberapa project Google Cloud yang terdaftar secara bersamaan. Namun, setiap project Google Cloud hanya dapat didaftarkan ke satu akun Merchant Center utama pada satu waktu. Upaya mendaftarkan project yang sudah ditautkan ke akun Merchant Center lain akan menampilkan error
ALREADY_EXISTS(409 Conflict) dengan alasanDUPLICATE_PROJECT_REGISTRATION. - Privasi kepemilikan project: Karena alasan keamanan dan privasi, dukungan Google Shopping dan Merchant API tidak dapat mengungkapkan alamat email pemilik atau administrator project Google Cloud. Jika Anda kehilangan akses ke project, hubungi Dukungan Google Cloud.
- Ekstensi penonaktifan Content API for Shopping bersifat spesifik per project: Jika Anda menerima persetujuan akses yang diperpanjang untuk Content API for Shopping, perpanjangan tersebut hanya berlaku untuk ID project Google Cloud tertentu yang dikirimkan dalam permintaan Anda. Ekstensi tidak otomatis ditransfer ke project Google Cloud baru.
Mengubah ID project Google Cloud untuk akun Merchant API
Jika Anda sudah menggunakan Merchant API dan perlu mengalihkan integrasi ke project Google Cloud baru—misalnya, karena restrukturisasi organisasi, kebijakan rotasi kredensial, atau kehilangan akses administratif ke project lama—Anda dapat mentransisikan project tanpa periode nonaktif. Karena akun Merchant Center mendukung beberapa project Google Cloud yang terdaftar secara bersamaan, Anda dapat mendaftarkan project baru sebelum menghentikan project lama.
Langkah 1: Buat dan konfigurasi project Google Cloud baru Anda
- Buat project baru di Konsol Google Cloud. Untuk mengetahui petunjuk mendetail, lihat Membuat project Google Cloud.
- Aktifkan Merchant API (
merchantapi.googleapis.com) di project baru. Lihat bagian Mengaktifkan Merchant API dari Membuat project Google Cloud. - Buat kredensial autentikasi (akun layanan atau client ID OAuth 2.0) di project Google Cloud baru.
- Tambahkan alamat email autentikasi (seperti email akun layanan baru)
sebagai pengguna dengan peran
ADMINdi akun Merchant Center utama Anda.
Langkah 2: Daftarkan project Google Cloud baru
Lakukan autentikasi menggunakan kredensial dari project Google Cloud baru Anda
dan panggil
metode
accounts.developerRegistration.registerGcp
untuk menautkan project baru ke akun Merchant Center utama Anda. Untuk
mengetahui petunjuk mendetail, lihat
bagian Melakukan panggilan pendaftaran
dari
Mendaftar sebagai developer.
Langkah 3: Verifikasi project Google Cloud Anda yang terdaftar
Untuk mengonfirmasi bahwa project Google Cloud yang sudah ada dan yang baru
ditautkan ke akun Merchant Center Anda, panggil
metode
accounts.developerRegistration.getDeveloperRegistration:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration
Authorization: Bearer ACCESS_TOKEN
Ganti kode berikut:
ACCOUNT_ID: ID Merchant Center AndaACCESS_TOKEN: token otorisasi untuk melakukan panggilan API
Respons akan menampilkan resource
DeveloperRegistration
dengan nomor project Google Cloud numerik dari semua project yang ditautkan
di kolom gcpIds:
{
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": [
"123456789012",
"987654321098"
]
}
Anda juga dapat memverifikasi akun Merchant Center yang terdaftar dengan project Google Cloud yang memanggil dengan memanggil metode accounts.developerRegistration.getAccountForGcpRegistration:
GET https://merchantapi.googleapis.com/accounts/v1/accounts:getAccountForGcpRegistration
Authorization: Bearer ACCESS_TOKEN
Ganti kode berikut:
ACCESS_TOKEN: token otorisasi yang dibuat menggunakan kredensial dari project Google Cloud yang ingin Anda periksa
Langkah 4: Alihkan traffic dan batalkan pendaftaran project Google Cloud lama
- Perbarui konfigurasi aplikasi Anda untuk menggunakan kredensial dari project Google Cloud baru Anda. Karena kedua project terdaftar, workload Anda akan bertransisi tanpa gangguan.
- Setelah semua traffic menggunakan project baru, Anda dapat menghapus link project lama secara opsional dengan melakukan autentikasi menggunakan kredensial project Google Cloud lama dan memanggil metode
accounts.developerRegistration.unregisterGcp:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp
Content-Type: application/json
Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN
Ganti kode berikut:
ACCOUNT_ID: ID Merchant Center AndaOLD_PROJECT_ACCESS_TOKEN: token otorisasi dari project Google Cloud lama untuk melakukan Panggilan API
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationName;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceClient;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceSettings;
import com.google.shopping.merchant.accounts.v1.UnregisterGcpRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to unregister the GCP project currently used to call the Merchant API
* for a specific account.
*/
public class UnregisterGcpSample {
public static void unregisterGcp(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
DeveloperRegistrationServiceSettings developerRegistrationServiceSettings =
DeveloperRegistrationServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates DeveloperRegistration name to identify the DeveloperRegistration.
// The name has the format: accounts/{account}/developerRegistration
String name =
DeveloperRegistrationName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Calls the API and propagates any network failures/errors.
try (DeveloperRegistrationServiceClient developerRegistrationServiceClient =
DeveloperRegistrationServiceClient.create(developerRegistrationServiceSettings)) {
// Creates a request to unregister the GCP project.
UnregisterGcpRequest request = UnregisterGcpRequest.newBuilder().setName(name).build();
System.out.println("Sending UnregisterGcp request for: " + name);
developerRegistrationServiceClient.unregisterGcp(request);
System.out.println("Unregister GCP successful.");
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
unregisterGcp(config);
}
}
cURL
curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN"
Menetapkan ulang project Google Cloud yang terdaftar ke akun Merchant Center yang berbeda
Karena project Google Cloud hanya dapat didaftarkan ke satu akun Merchant Center utama dalam satu waktu, ikuti langkah-langkah berikut untuk menetapkan ulang project yang ada dari satu akun Merchant Center (OLD_ACCOUNT_ID) ke akun Merchant Center lainnya (NEW_ACCOUNT_ID). Untuk panduan tentang cara memilih akun Merchant Center yang akan digunakan untuk mendaftarkan project Anda, lihat Pertimbangan penting:
- Lakukan autentikasi menggunakan kredensial dari project Google Cloud yang
memiliki akses ke
OLD_ACCOUNT_IDdan panggilunregisterGcpdiaccounts/OLD_ACCOUNT_ID/developerRegistration. - Pastikan identitas yang melakukan autentikasi memiliki peran
ADMINdiNEW_ACCOUNT_IDdanNEW_ACCOUNT_IDmemiliki situs yang terverifikasi. - Panggil
registerGcpdiaccounts/NEW_ACCOUNT_ID/developerRegistrationmenggunakan kredensial dari project Google Cloud yang sama. JikaNEW_ACCOUNT_IDbelum memiliki pengguna dengan peranAPI_DEVELOPER, teruskan email pengguna yang valid di kolom permintaandeveloperEmail. Email akun layanan yang diakhiri dengan.gserviceaccount.comtidak dapat digunakan sebagaideveloperEmail.
Mentransisikan project Google Cloud saat bermigrasi dari Content API for Shopping
Saat bermigrasi dari Content API for Shopping ke Merchant API, Anda mungkin mengalami batasan akses pada project Google Cloud lama—misalnya, jika kunci API asli Anda dikonfigurasi langsung melalui alur kerja autentikasi Merchant Center lama atau jika pemilik project asli keluar dari organisasi Anda.
Bergantung pada apakah Anda ingin mempertahankan project yang ada atau menggunakan project baru untuk Merchant API sambil mempertahankan Content API for Shopping di project lama, pilih salah satu dari dua opsi berikut.
Memilih strategi project migrasi Anda
| Skenario | Apakah akses admin ke project lama diperlukan? | API yang akan diaktifkan | Apakah ekstensi Content API for Shopping diperlukan di project baru? |
|---|---|---|---|
| Opsi 1: Pertahankan project yang ada | Ya (atau pulihkan melalui Dukungan Google Cloud) | Mengaktifkan Merchant API di project yang ada (Content API for Shopping sudah diaktifkan) | Tidak (ekstensi yang ada di project ID lama tetap valid) |
| Opsi 2: Mempertahankan project lama untuk Content API for Shopping dan menggunakan project baru untuk Merchant API | Tidak | Aktifkan Merchant API di project baru (tetap aktifkan Content API for Shopping di project lama) | Tidak (project lama mempertahankan ekstensinya; project baru hanya memanggil Merchant API) |
Opsi 1: Mempertahankan project Google Cloud yang ada
Pilih opsi ini jika Anda ingin menggunakan project Google Cloud yang ada untuk Content API for Shopping dan Merchant API.
Sebelum memulai, verifikasi atau pulihkan akses ke project yang ada. Login ke Konsol Google Cloud dan konfirmasi bahwa akun Anda memiliki salah satu peran berikut di project yang ada:
- Pemilik (
roles/owner), - (
roles/editor) Editor - Service Usage Admin (
roles/serviceusage.serviceUsageAdmin)
- Aktifkan Merchant API: Aktifkan
merchantapi.googleapis.comdi Library Google Cloud API atau dengan perintahgcloud. Untuk mengetahui petunjuk langkah demi langkah, lihat Mengonfigurasi autentikasi API dari Merchant Center. - Daftarkan project Google Cloud ke Merchant Center:
Ikuti langkah-langkah dalam panduan
Mendaftar sebagai developer
untuk mengizinkan permintaan dari project yang ada dan panggil metode
registerGcpuntuk menautkan project Google Cloud yang ada ke akun Merchant Center utama Anda. Kunci akun layanan yang ada dan ekstensi Content API for Shopping yang disetujui akan terus berfungsi tanpa perubahan.
Opsi 2: Menggunakan project Google Cloud lama untuk Content API for Shopping dan project baru untuk Merchant API
Pilih opsi ini jika integrasi Content API for Shopping lama Anda sudah berjalan dengan kredensial yang valid dan ekstensi yang disetujui di project Google Cloud lama, dan Anda ingin membangun integrasi Merchant API baru di project Google Cloud khusus yang terpisah:
- Pertahankan integrasi Content API for Shopping Anda di project lama: Biarkan alur kerja dan kredensial Content API for Shopping yang ada berjalan di project Google Cloud lama. Jika permintaan perpanjangan untuk project ID lama disetujui, integrasi Content API for Shopping Anda saat ini akan terus berfungsi hingga batas waktu yang diperpanjang.
- Buat project Google Cloud baru khusus untuk
Merchant API: Buat project Google Cloud baru, aktifkan
merchantapi.googleapis.com, dan buat kredensial (akun layanan atau client ID OAuth 2.0) untuk workload Merchant API baru Anda. - Daftarkan project baru: Ikuti langkah-langkah di
Mendaftar sebagai developer untuk
mengizinkan permintaan dari project baru Anda dan panggil
metode
registerGcpdengan email kontak developer yang valid. Email akun layanan (berakhiran.gserviceaccount.com) tidak dapat digunakan sebagaideveloperEmail. - Migrasikan workload secara bertahap: Alihkan panggilan API dari project Content API for Shopping lama ke project Merchant API baru secara bertahap, sebelum tanggal penghentian terjadwal Content API for Shopping (atau sebelum perpanjangan yang disetujui berakhir), dan hentikan project lama setelah migrasi selesai.
Kasus khusus: Kehilangan akses ke project Google Cloud lama sebelum menyelesaikan migrasi
Karena Content API for Shopping tidak digunakan lagi, API ini tidak lagi tercantum di Library Google Cloud API dan tidak dapat diaktifkan di project Google Cloud yang baru dibuat. Oleh karena itu, Anda tidak dapat memindahkan workload Content API for Shopping yang ada ke project Google Cloud baru sendiri.
Jika Anda tidak dapat lagi melakukan panggilan Content API for Shopping dari project lama (misalnya, karena kredensial dicabut atau akses project tidak dapat dipulihkan):
- Hubungi Dukungan Google Cloud untuk memulihkan akses ke project Google Cloud yang ada (Opsi 1), atau
- Ikuti Opsi 2 untuk membuat dan mendaftarkan project Google Cloud baru serta memigrasikan alur kerja yang terpengaruh langsung ke Merchant API. Jika Anda mengalami pemblokir migrasi yang penting, hubungi dukungan Merchant API.
Langkah berikutnya
- Pelajari lebih lanjut persyaratan pendaftaran developer di Mendaftar sebagai developer dan FAQ pendaftaran Developer.
- Tinjau perilaku kredensial lama di Mengonfigurasi autentikasi API dari Merchant Center.
- Rencanakan peluncuran sub-API Anda dengan Memulai migrasi.
- Temukan detail tentang akses yang diperpanjang untuk Content API for Shopping di Meminta perpanjangan migrasi.