Untuk menggunakan Merchant API, Anda harus menautkan project Google Cloud ke akun Merchant Center utama Anda 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:
- Ubah atau ganti project ID Google Cloud untuk integrasi Merchant API yang ada tanpa menyebabkan periode nonaktif.
- Membatalkan pendaftaran project Google Cloud dari satu akun Merchant Center dan mendaftarkannya dengan 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. Mencoba 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.
- Perpanjangan 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 ditransfer secara otomatis ke project Google Cloud baru.
Mengubah ID project Google Cloud untuk akun Merchant API
Jika 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 melakukan transisi project tanpa waktu henti. 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 Aktifkan Merchant API dari Buat 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
petunjuk mendetail, lihat bagian
Lakukan panggilan pendaftaran
dari
Mendaftar sebagai developer.
Langkah 3: Verifikasi project Google Cloud terdaftar Anda
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 tertaut
di kolom gcpIds:
{
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": [
"123456789012",
"987654321098"
]
}
Anda juga dapat memverifikasi akun Merchant Center yang terdaftar di 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 terdaftar ke akun Merchant Center lain
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 dalam 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. - Verifikasi bahwa identitas yang melakukan autentikasi memiliki peran
ADMINdiNEW_ACCOUNT_IDdan bahwaNEW_ACCOUNT_IDmemiliki situs 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 Anda—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 | Perlu akses admin ke project lama? | 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) | Aktifkan 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: Tetap menggunakan 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 Anda, dan Anda ingin membuat integrasi Merchant API baru di project Google Cloud khusus yang terpisah:
- Pertahankan integrasi Content API for Shopping 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 yang dijadwalkan untuk 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 sudah ada (Opsi 1), atau
- Ikuti Opsi 2 untuk membuat dan mendaftarkan project Google Cloud baru dan memigrasikan alur kerja yang terpengaruh langsung ke Merchant API. Jika Anda mengalami masalah migrasi yang kritis, 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 Mulai migrasi Anda.
- Temukan detail tentang akses yang diperpanjang ke Content API for Shopping di Meminta perpanjangan migrasi.