Get a terms of service agreement state

  • This code sample demonstrates how to retrieve the Terms of Service Agreement State for a specific kind of service and country.

  • The code examples are provided in Java, PHP, and Python, showcasing how to use the Merchant API to get the terms of service agreement state.

  • Each sample code initializes a TermsOfServiceAgreementStateServiceClient and uses a GetTermsOfServiceAgreementStateRequest to query the API.

  • The required identifier to identify a TermsOfServiceAgreementState is composed of the TermsOfServiceKind and country , presented in the format: "{TermsOfServiceKind}-{country}".

  • The response from the API includes the current state of the terms of service, including details if acceptance is required along with the specific version and link.

Merchant API code sample to get a terms of service agreement state.

Java

  // Copyright 2024 Google LLC 
 // 
 // Licensed under the Apache License, Version 2.0 (the "License"); 
 // you may not use this file except in compliance with the License. 
 // You may obtain a copy of the License at 
 // 
 //     https://www.apache.org/licenses/LICENSE-2.0 
 // 
 // Unless required by applicable law or agreed to in writing, software 
 // distributed under the License is distributed on an "AS IS" BASIS, 
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 // See the License for the specific language governing permissions and 
 // limitations under the License. 
 package 
  
 shopping.merchant.samples.accounts.termsofservices.v1 
 ; 
 import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.GetTermsOfServiceAgreementStateRequest 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.TermsOfServiceAgreementState 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.TermsOfServiceAgreementStateName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.TermsOfServiceAgreementStateServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.TermsOfServiceAgreementStateServiceSettings 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** 
 * This class demonstrates how to get a TermsOfServiceAgreementState for a specific 
 * TermsOfServiceKind and country. 
 */ 
 public 
  
 class 
 GetTermsOfServiceAgreementStateSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 getTermsOfServiceAgreementState 
 ( 
 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. 
  
 TermsOfServiceAgreementStateServiceSettings 
  
 termsOfServiceAgreementStateServiceSettings 
  
 = 
  
 TermsOfServiceAgreementStateServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates TermsOfServiceAgreementState name to identify TermsOfServiceAgreementState. 
  
 String 
  
 name 
  
 = 
  
 TermsOfServiceAgreementStateName 
 . 
 newBuilder 
 () 
  
 . 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()) 
  
 // The Identifier is: "{TermsOfServiceKind}-{country}" 
  
 . 
 setIdentifier 
 ( 
 "MERCHANT_CENTER-US" 
 ) 
  
 . 
 build 
 () 
  
 . 
 toString 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 name 
 ); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 TermsOfServiceAgreementStateServiceClient 
  
 termsOfServiceAgreementStateServiceClient 
  
 = 
  
 TermsOfServiceAgreementStateServiceClient 
 . 
 create 
 ( 
  
 termsOfServiceAgreementStateServiceSettings 
 )) 
  
 { 
  
 // The name has the format: 
  
 // accounts/{account}/termsOfServiceAgreementStates/{TermsOfServiceKind}-{country} 
  
 GetTermsOfServiceAgreementStateRequest 
  
 request 
  
 = 
  
 GetTermsOfServiceAgreementStateRequest 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Get TermsOfServiceAgreementState request:" 
 ); 
  
 TermsOfServiceAgreementState 
  
 response 
  
 = 
  
 termsOfServiceAgreementStateServiceClient 
 . 
 getTermsOfServiceAgreementState 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Retrieved TermsOfServiceAgreementState below" 
 ); 
  
 // If the terms of service needs to be accepted, the "required" field will include the 
  
 // specific version of the terms of service which needs to be accepted, alongside a link to 
  
 // the terms of service itself. 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 getTermsOfServiceAgreementState 
 ( 
 config 
 ); 
  
 } 
 } 
  
 

PHP

 < ?php 
 /** 
 * Copyright 2025 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     https://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 require_once __DIR__ . '/../../../../vendor/autoload.php'; 
 require_once __DIR__ . '/../../../Authentication/Authentication.php'; 
 require_once __DIR__ . '/../../../Authentication/Config.php'; 
 use Google\ApiCore\ApiException; 
 use Google\Shopping\Merchant\Accounts\V1\Client\TermsOfServiceAgreementStateServiceClient; 
 use Google\Shopping\Merchant\Accounts\V1\GetTermsOfServiceAgreementStateRequest; 
 /** 
 * Demonstrates how to get a TermsOfServiceAgreementState. 
 */ 
 class GetTermsOfServiceAgreementState 
 { 
 /** 
 * Gets a TermsOfServiceAgreementState. 
 * 
 * @param array $config The configuration data. 
 * @return void 
 */ 
 public static function getTermsOfServiceAgreementState($config): void 
 { 
 // Get OAuth credentials. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Create client options. 
 $options = ['credentials' => $credentials]; 
 // Create a TermsOfServiceAgreementStateServiceClient. 
 $termsOfServiceAgreementStateServiceClient = new TermsOfServiceAgreementStateServiceClient($options); 
 // Service agreeement identifier 
 $identifier = "MERCHANT_CENTER-US"; 
 // Create TermsOfServiceAgreementState name. 
 $name = "accounts/" . $config['accountId'] . "/termsOfServiceAgreementStates/" . $identifier; 
 print $name . PHP_EOL; 
 try { 
 // Prepare the request. 
 $request = new GetTermsOfServiceAgreementStateRequest([ 
 'name' => $name, 
 ]); 
 print "Sending Get TermsOfServiceAgreementState request:" . PHP_EOL; 
 $response = $termsOfServiceAgreementStateServiceClient->getTermsOfServiceAgreementState($request); 
 print "Retrieved TermsOfServiceAgreementState below\n"; 
 print $response->serializeToJsonString() . PHP_EOL; 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Helper to execute the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 self::getTermsOfServiceAgreementState($config); 
 } 
 } 
 // Run the script 
 $sample = new GetTermsOfServiceAgreementState(); 
 $sample->callSample();  
 
 

Python

  # -*- coding: utf-8 -*- 
 # Copyright 2024 Google LLC 
 # 
 # Licensed under the Apache License, Version 2.0 (the "License"); 
 # you may not use this file except in compliance with the License. 
 # You may obtain a copy of the License at 
 # 
 #     http://www.apache.org/licenses/LICENSE-2.0 
 # 
 # Unless required by applicable law or agreed to in writing, software 
 # distributed under the License is distributed on an "AS IS" BASIS, 
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 # See the License for the specific language governing permissions and 
 # limitations under the License. 
 """Module for retrieving the state for a specific kind of the TermsOfService.""" 
 from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 GetTermsOfServiceAgreementStateRequest 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 TermsOfServiceAgreementStateServiceClient 
 # Replace with your actual value. 
 _ACCOUNT_ID 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 _IDENTIFIER 
 = 
 "MERCHANT_CENTER-US" 
 # Replace with your identifier 
 def 
  
 get_terms_of_service_agreement_state 
 (): 
  
 """Gets a TermsOfServiceAgreementState for a specific TermsOfServiceKind and country.""" 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 client 
 = 
 TermsOfServiceAgreementStateServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 name 
 = 
 ( 
 "accounts/" 
 + 
 _ACCOUNT_ID 
 + 
 "/termsOfServiceAgreementStates/" 
 + 
 _IDENTIFIER 
 ) 
 print 
 ( 
 name 
 ) 
 request 
 = 
 GetTermsOfServiceAgreementStateRequest 
 ( 
 name 
 = 
 name 
 ) 
 try 
 : 
 print 
 ( 
 "Sending Get TermsOfServiceAgreementState request:" 
 ) 
 response 
 = 
 client 
 . 
 get_terms_of_service_agreement_state 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 "Retrieved TermsOfServiceAgreementState below" 
 ) 
 print 
 ( 
 response 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 get_terms_of_service_agreement_state 
 () 
  
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: