このページでは、Merchant API を使用して Merchant Center アカウントを作成し、サンプル商品をアップロードする方法について説明します。
始める前に
Google Cloud プロジェクトで Merchant API を有効にします。
ショッピング コンテンツ サービスを使用して AppScript で API 統合を使用すると、デフォルトの Google Cloud プロジェクトが作成され、Merchant API サービスが自動的に有効になります。ただし、Merchant API を使用する前に、デベロッパー登録を 1 回完了する必要があります。詳細については、Apps Script で Merchant API サービスを使用するをご覧ください。
アカウントを作成する
Merchant API を使用するには、Merchant Center アカウントが必要です。アカウントを作成するには、Google Merchant Center の利用を開始するをご覧ください。
デベロッパーとして登録
Merchant API を使用するには、Google Cloud プロジェクトとメインの Merchant Center アカウントの間にリンクを作成する必要があります。この 1 回限りの登録は、Merchant API で使用するすべての Google Cloud プロジェクトで必要です。
デベロッパーとして登録すると、次の 2 つのことが可能になります。
- これにより、Google Cloud プロジェクトがメインの Merchant Center アカウントにリンクされ、正式な接続が確立されます。
- Merchant Center アカウントのユーザーに
API_DEVELOPER
の役割を割り当てることで、技術担当者を作成します。これにより、Google はサービスのお知らせや新機能に関する情報など、API に関する重要な最新情報を送信できます。
Google Cloud プロジェクトを登録する
登録するには、developerRegistration.registerGcp
メソッドを呼び出します。この呼び出しにより、呼び出しを行うために使用する Google Cloud プロジェクトが、リクエストで指定した Merchant Center アカウントにリンクされます。
リクエスト本文で、技術担当者として使用するデベロッパーのメールアドレスを指定する必要があります。このアドレスは、Google アカウント(Google Workspace アカウントまたは Gmail アカウント)に関連付けられている必要があります(例: sampleuser@gmail.com
)。
- メールアドレスが Merchant Center アカウントのユーザーにすでに属している場合、そのユーザーには
API_DEVELOPER
ロールが付与されます。 - メールアドレスが既存のユーザーに属していない場合は、そのアドレスに招待状が送信されます。招待を受けたユーザーは、
API_DEVELOPER
ロールを持つ新しいユーザーとして追加されることを承認する必要があります。
以下にリクエストの例を示します。
POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp
{
"developerEmail": "{DEVELOPER_EMAIL}"
}
呼び出しが成功すると、DeveloperRegistration
リソースが返されます。これにより、プロジェクトとアカウント間のリンクが確認されます。
{
"name": "accounts/{ACCOUNT_ID}/developerRegistration",
"gcpIds": [
"123456789012345"
]
}
デベロッパーの連絡先と権限を管理する
登録後、複数のデベロッパーを追加して、追加のアクセス権を付与することをおすすめします。
追加の権限を付与する
重要な通知を受け取るには API_DEVELOPER
ロールが必要ですが、Merchant Center 内での権限は最小限です。このユーザーが他の API 呼び出しを行ったり、Merchant Center UI で設定を管理したりできるようにするには、STANDARD
や ADMIN
などの追加のロールを付与する必要があります。詳細については、アクセスタイプをご覧ください。
accounts.users.patch
メソッドを使用して、ユーザーのアクセス権を更新できます。
次の例は、ユーザーを更新して ADMIN
ロールと API_DEVELOPER
ロールの両方を付与する方法を示しています。これにより、アカウントを完全に管理できるようになり、API 関連の連絡も届くようになります。
PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
"access_rights": [
"ADMIN",
"API_DEVELOPER"
]
}
バックアップ デベロッパーを追加する
メインのデベロッパーの連絡先が組織を離れた場合に API へのアクセスが中断されないようにするには、少なくとも 1 人のバックアップ デベロッパーを追加する必要があります。
accounts.users.create
メソッドを使用してユーザーを追加したり、accounts.users.patch
メソッドを使用して既存のユーザーを更新したりできます。このユーザーに ADMIN
ロールと API_DEVELOPER
ロールの両方を付与することをおすすめします。
メインの商品データソースを作成する
商品を挿入するには、メインの商品データソースが必要です。次のリクエストは、アカウントに商品を挿入するために使用できるデータソースを作成する方法を示しています。
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources HTTP/1.1
{
"primaryProductDataSource": {
"channel": "ONLINE_PRODUCTS",
"contentLanguage": "en",
"countries": [
"US"
],
"feedLabel": "US"
},
"name": "primary-data-source",
"displayName": "Primary Products Data Source"
}
{ACCOUNT_ID} は、作成した Merchant Center アカウントの ID に置き換えます。
このリクエストが正常に実行されると、次のレスポンスが表示されます。
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "Primary Products Data Source",
"primaryProductDataSource": {
"channel": "ONLINE_PRODUCTS",
"feedLabel": "US",
"contentLanguage": "en",
"countries": [
"US"
],
"defaultRule": {
"takeFromDataSources": [
{
"self": true
}
]
}
},
"input": "API"
}
name
フィールドの値をコピーします。商品を追加する際に必要になります。
このデータソースは Merchant Center の UI で確認できます。詳細については、[データソース] タブを見つける方法をご覧ください。
商品を挿入する
アカウントにサンプル商品を挿入するには、次のリクエストを実行します。
POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME} HTTP/1.1
{
"channel": "ONLINE",
"contentLanguage": "en",
"feedLabel": "US",
"name": "Red T-shirt",
"attributes": {
"gender": "Male",
"brand": "New brand"
},
"offerId": "tshirt-123"
}
{DATASOURCE_NAME} は、前にコピーした値に置き換えます。
このリクエストが正常に実行されると、次のレスポンスが表示されます。
{
"name": "accounts/{ACCOUNT_ID}/productInputs/online~en~US~tshirt-123",
"product": "accounts/{ACCOUNT_ID}/products/online~en~US~tshirt-123",
"channel": "ONLINE",
"offerId": "tshirt-123",
"contentLanguage": "en",
"feedLabel": "US",
"attributes": {
"brand": "New brand",
"gender": "Male"
}
}
新しく作成されたアイテムのアイテム ID は online~en~US~tshirt-123
です。accounts.products.get
メソッドを使用すると、このアイテムの詳細情報を取得できます。Merchant Center の UI を使用してこの商品を表示することもできます。商品データを表示するをご覧ください。