このページでは、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 アカウントが必要です。Merchant Center アカウントを作成するには、Merchant Center の利用を開始するをご覧ください。
デベロッパーとして登録
Merchant API を使用するには、デベロッパー登録の方法を使用して、Merchant Center アカウントと Google Cloud プロジェクトを次のようにリンクする必要があります。
Merchant Center と Google Cloud プロジェクトをリンクする: 呼び出し元が Google Cloud プロジェクトの有効なアクセス トークンまたは API キーを持ち、Merchant Center アカウントの承認済みユーザーであるため、リンクは自動的に承認されます。
API デベロッパー ユーザーを Merchant Center アカウントに追加する: 登録 API は、API デベロッパー ユーザーを Merchant Center アカウントに追加します。ユーザーがすでに存在する場合は、新しいアクセスタイプが付与されます。新しいユーザーの場合は、Merchant Center の招待メールが届きます。
accounts.users.create
メソッドを使用して、追加の API デベロッパーまたはバックアップ API デベロッパーを追加し、組織を離れたり削除されたりした場合でも、有効なデベロッパー登録を維持できるようにすることをおすすめします。
登録後、GetDeveloperRegistration
を使用して登録ステータスを表示したり、UnregisterGCP
を使用して登録を解除したりできます。
登録呼び出しは
POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp
{
developer_email:"example-email@example.com"
}
リクエストが正常に実行されると、次のレスポンスが返されます。
{
"developerRegistration": {
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": ["GOOGLE_CLOUD_PROJECT_ID"]
}
}
API デベロッパーが登録されたら、accounts.users.patch
メソッドを使用して、STANDARD
や ADMIN
などの追加のロールを付与できます。
アカウント ID を取得する
アカウント ID は、accounts.list
メソッドを使用して取得できます。
Google APIs Explorer を使用して Merchant API リクエストを実行できます。API Explorer は認証に Google OAuth 2.0 を使用します。リクエストを実行する前に、[Google OAuth 2.0] チェックボックスがオンになっていることを確認します。
OAuth 2.0 を使用して認証するには、Google アカウントにログインしてから、API Explorer にログインする必要があります。また、API Explorer に商品リスティングとアカウントの管理を許可する必要があります。
次のリクエストは、アカウント ID を取得する方法を示しています。
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts
または
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}
リクエストが正常に実行されると、次のレスポンスが表示されます。
{
"accounts": [
{
"name": "{ACCOUNT_NAME}",
"accountId": "{ACCOUNT_ID}",
"accountName": "{ACCOUNT_DISPLAY_NAME}",
"timeZone": {
"id": "America/Los_Angeles"
},
"languageCode": "en-US"
}
]
}
他のリクエストを実行するために必要になるため、{ACCOUNT_ID}
をコピーします。
メインの商品データソースを作成する
商品を挿入するには、メインの商品データソースが必要です。次のリクエストは、アカウントに商品を挿入するために使用できるデータソースを作成する方法を示しています。
POST https://merchantapi.googleapis.com/datasources/v1beta/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/v1beta/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 を使用してこの商品を表示することもできます。