মার্চেন্ট সেন্টার এবং এর বৈশিষ্ট্যগুলি ব্যবহার করার জন্য, আপনাকে আপনার ব্যবসার অবস্থানের জন্য মার্চেন্ট সেন্টার পরিষেবার শর্তাবলী (ToS) গ্রহণ করতে হবে। এই চুক্তিগুলি মার্চেন্ট সেন্টার পরিষেবা ব্যবহারের আইনি শর্তাবলী বর্ণনা করে।
এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে আপনি এই চুক্তিগুলি পরিচালনা করতে মার্চেন্ট API ব্যবহার করতে পারেন, তা আপনার নিজের অ্যাকাউন্টের জন্য হোক বা তৃতীয় পক্ষের সরবরাহকারী (3P) হিসাবে আপনার পরিচালিত অ্যাকাউন্টগুলির জন্য।
আপনি নিম্নলিখিতগুলি অর্জন করতে পারেন:
- একটি অ্যাকাউন্টের বর্তমান ToS চুক্তির স্থিতি পরীক্ষা করুন।
- প্রয়োজনীয় ToS গ্রহণ করতে ব্যবসায়ীদের গাইড করুন।
- ক্লায়েন্ট অ্যাকাউন্টের জন্য পরিষেবা প্রদানকারী হিসেবে ToS পরিচালনা করুন।
পূর্বশর্ত
মার্চেন্ট এপিআই ব্যবহার করার জন্য আপনার একটি মার্চেন্ট সেন্টার অ্যাকাউন্ট প্রয়োজন। মার্চেন্ট সেন্টার ইউজার ইন্টারফেস (UI) ব্যবহার করে এটি তৈরি করার পরে, আপনি UI অথবা API ব্যবহার করে অ্যাকাউন্টে পরিবর্তন করতে পারেন (যেমন, আপনার ব্যবসার তথ্য আপডেট করা, ব্যবহারকারীদের পরিচালনা করা ইত্যাদি)।
যদি আপনার একাধিক অ্যাকাউন্ট পরিচালনা করার প্রয়োজন হয়, তাহলে আপনি Merchant API ব্যবহার করে ক্লায়েন্ট অ্যাকাউন্ট তৈরি করতে পারেন। অ্যাকাউন্ট তৈরি করুন দেখুন।
একটি অ্যাকাউন্টের ToS চুক্তির অবস্থা পরীক্ষা করুন
কোনও ব্যবসায়ী সম্পূর্ণরূপে Merchant Center ব্যবহার করতে পারার আগে, অথবা যদি আপনার তাদের বর্তমান চুক্তির স্থিতি যাচাই করার প্রয়োজন হয়, তাহলে আপনি তাদের পরিষেবার শর্তাবলী চুক্তির স্থিতি পুনরুদ্ধার করতে পারেন।
মূল মার্চেন্ট সেন্টার অ্যাপ্লিকেশনের জন্য ToS চুক্তির অবস্থা পেতে termsOfServiceAgreementStates.retrieveForApplication পদ্ধতি ব্যবহার করুন। এই পদ্ধতিটি আপনার বর্তমান ToS, যদি থাকে, এবং, যদি আপনার শেষ গ্রহণের পর থেকে ToS আপডেট করা হয়ে থাকে, তাহলে আপনাকে যে সর্বশেষ সংস্করণটি গ্রহণ করতে হবে তা ফেরত পাঠায়।
এখানে একটি নমুনা অনুরোধ:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/termsOfServiceAgreementStates:retrieveForApplication
একটি সফল কল একটি TermsOfServiceAgreementState রিসোর্স ফেরত পাঠায়। এই রিসোর্সে রয়েছে:
-
name: এই চুক্তির রাষ্ট্রের শনাক্তকারী। -
regionCode: যে দেশে এই চুক্তির শর্ত প্রযোজ্য, সাধারণত অ্যাকাউন্টের ব্যবসায়িক দেশ। -
termsOfServiceKind: এটি হবেMERCHANT_CENTER। -
accepted: অ্যাকাউন্টটি ইতিমধ্যেই যে ToS সংস্করণটি গ্রহণ করেছে তার বিশদ বিবরণ, যার মধ্যেtermsOfServiceরিসোর্স নাম (যেমন,termsOfService/132) এবং এটি কারacceptedByছিল তা অন্তর্ভুক্ত। যদি একটি নতুন ToS সংস্করণrequiredহয় তবে এতে একটিvalidUntildateও অন্তর্ভুক্ত থাকতে পারে। -
required: অ্যাকাউন্টটি যে ToS সংস্করণটি গ্রহণ করবে তার বিশদ বিবরণ। এর মধ্যে রয়েছেtermsOfServiceরিসোর্স নাম এবং একটিtosFileUriযা মানুষের পাঠযোগ্য ToS ডকুমেন্টের দিকে নির্দেশ করে।
উদাহরণ প্রতিক্রিয়া:
{
"name": "accounts/{ACCOUNT_ID}/termsOfServiceAgreementStates/MERCHANT_CENTER-{REGION_CODE}",
"regionCode": "{REGION_CODE}",
"termsOfServiceKind": "MERCHANT_CENTER",
"accepted": {
"termsOfService": "termsOfService/132",
"acceptedBy": "accounts/{ACCOUNT_ID}"
},
"required": {
"termsOfService": "termsOfService/132",
"tosFileUri": "https://www.google.com/intl/{REGION_CODE}/policies/merchants/terms/"
}
}
যদি একটি নতুন ToS required হয়, তাহলে আপনার উচিত ব্যবসায়ীকে এটি গ্রহণ করার জন্য নির্দেশ দেওয়া।
একটি নির্দিষ্ট অ্যাকাউন্ট এবং দেশের জন্য পরিষেবার শর্তাবলী চুক্তির অবস্থা পুনরুদ্ধার করতে আপনি এখানে একটি নমুনা ব্যবহার করতে পারেন:
জাভা
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);
}
}
পিএইচপি
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();
পাইথন
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()
পরিষেবার শর্তাবলী গ্রহণ করুন
মার্চেন্ট সেন্টারের বৈশিষ্ট্যগুলিতে অ্যাক্সেস বজায় রাখতে ব্যবসায়ীদের অবশ্যই সর্বশেষ পরিষেবার শর্তাবলী মেনে নিতে হবে।
আপনার নিজের অ্যাকাউন্টের জন্য ToS গ্রহণ করুন
আপনি যদি নিজের মার্চেন্ট সেন্টার অ্যাকাউন্ট পরিচালনা করেন, তাহলে নিম্নলিখিতগুলি করুন:
- কোনও ToS
requiredকিনা তা সনাক্ত করতেtermsOfServiceAgreementStates.retrieveForApplicationএ কল করুন। - যদি একটি ToS প্রয়োজন হয়, তাহলে
requiredক্ষেত্র থেকেtermsOfServiceনামটি নোট করুন (যেমন,termsOfService/132)। ToS গ্রহণ করতে
termsOfService.acceptএ কল করুন। আপনার ToS নাম, আপনারACCOUNT_IDএবং retrieveForApplication দ্বারা প্রদত্তregionCodeপ্রয়োজন হবে।এখানে একটি নমুনা অনুরোধ:
POST https://merchantapi.googleapis.com/accounts/v1/{name={termsOfService/VERSION}}:accept { "account": "accounts/{ACCOUNT_ID}", "regionCode": "{REGION_CODE}" }একটি সফল কল একটি খালি প্রতিক্রিয়া বডি ফেরত পাঠায় এবং অ্যাকাউন্টের ToS চুক্তির অবস্থা আপডেট করে।
ব্যবসায়ীদের ToS গ্রহণ করার জন্য নির্দেশিকা দিন (তৃতীয় পক্ষের প্রদানকারীদের জন্য)
আপনি যদি অন্য ব্যবসার জন্য মার্চেন্ট সেন্টার অ্যাকাউন্ট পরিচালনাকারী তৃতীয় পক্ষের (3P) সরবরাহকারী হন, তাহলে আপনাকে তাদের পক্ষ থেকে ToS গ্রহণ করতে হবে না। পরিবর্তে, আপনার উচিত:
সর্বশেষ ToS পুনরুদ্ধার করুন : ব্যবসায়ীর
regionCodeএবংMERCHANT_CENTERটাইপের জন্যtermsOfService.retrieveLatestএ কল করুন যাতে তাদের গ্রহণ করতে হতে পারে এমন সর্বশেষ ToS সংস্করণের বিবরণ পাওয়া যায়।নমুনা অনুরোধ:
GET https://merchantapi.googleapis.com/accounts/v1/termsOfService:retrieveLatest?regionCode={REGION_CODE}&kind=MERCHANT_CENTERনমুনা প্রতিক্রিয়া:
{ "name": "{termsOfService/VERSION}", "regionCode": "{REGION_CODE}", "kind": "MERCHANT_CENTER", "fileUri": "https://www.google.com/intl/{REGION_CODE}/policies/merchants/terms/" }ToS প্রদর্শন করুন : আপনার অ্যাপ্লিকেশনের UI-এর মধ্যে বণিকের কাছে পরিষেবার শর্তাবলীর সম্পূর্ণ লেখা প্রদর্শন করতে প্রতিক্রিয়া থেকে
fileUriব্যবহার করুন।বণিকের গ্রহণযোগ্যতা পান : বণিককে অবশ্যই আপনার UI-এর মধ্যে থাকা শর্তাবলীতে স্পষ্টভাবে সম্মত হতে হবে।
API ব্যবহার করে গ্রহণযোগ্যতা রেকর্ড করুন : মার্চেন্ট গ্রহণ করার পরে, ধাপ ১-এ প্রাপ্ত
name, মার্চেন্টেরACCOUNT_IDএবং তাদেরregionCodeব্যবহার করেtermsOfService.acceptকল করুন।নমুনা অনুরোধ:
POST https://merchantapi.googleapis.com/accounts/v1/{name={termsOfService/VERSION}}:accept { "account": "accounts/{MERCHANT_ACCOUNT_ID}", "regionCode": "{REGION_CODE}" }
এখানে একটি নমুনা দেওয়া হল যা আপনি কোনও নির্দিষ্ট অ্যাকাউন্টের জন্য পরিষেবার শর্তাবলী চুক্তিতে সম্মতি জানাতে ব্যবহার করতে পারেন (বণিক সম্মত হওয়ার পরে):
জাভা
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AcceptTermsOfServiceRequest;
import com.google.shopping.merchant.accounts.v1.TermsOfServiceServiceClient;
import com.google.shopping.merchant.accounts.v1.TermsOfServiceServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to accept the TermsOfService agreement in a given account. */
public class AcceptTermsOfServiceSample {
public static void acceptTermsOfService(String accountId, String tosVersion, String regionCode)
throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
TermsOfServiceServiceSettings tosServiceSettings =
TermsOfServiceServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Calls the API and catches and prints any network failures/errors.
try (TermsOfServiceServiceClient tosServiceClient =
TermsOfServiceServiceClient.create(tosServiceSettings)) {
// The parent has the format: accounts/{account}
AcceptTermsOfServiceRequest request =
AcceptTermsOfServiceRequest.newBuilder()
.setName(String.format("termsOfService/%s", tosVersion))
.setAccount(String.format("accounts/%s", accountId))
.setRegionCode(regionCode)
.build();
System.out.println("Sending request to accept terms of service...");
tosServiceClient.acceptTermsOfService(request);
System.out.println("Successfully accepted terms of service.");
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
// See GetTermsOfServiceAgreementStateSample to understand how to check which version of the
// terms of service needs to be accepted, if any.
// Likewise, if you know that the terms of service needs to be accepted, you can also simply
// call RetrieveLatestTermsOfService to get the latest version of the terms of service.
// Region code is either a country when the ToS applies specifically to that country or 001 when
// it applies globally.
acceptTermsOfService(config.getAccountId().toString(), "VERSION_HERE", "REGION_CODE_HERE");
}
}
পিএইচপি
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\AcceptTermsOfServiceRequest;
use Google\Shopping\Merchant\Accounts\V1\Client\TermsOfServiceServiceClient;
/**
* Demonstrates how to accept the TermsOfService agreement in a given account.
*/
class AcceptTermsOfService
{
/**
* Accepts the Terms of Service agreement.
*
* @param string $accountId The account ID.
* @param string $tosVersion The Terms of Service version.
* @param string $regionCode The region code.
* @return void
*/
public static function acceptTermsOfService($accountId, $tosVersion, $regionCode): void
{
// Get OAuth credentials.
$credentials = Authentication::useServiceAccountOrTokenFile();
// Create client options.
$options = ['credentials' => $credentials];
// Create a TermsOfServiceServiceClient.
$tosServiceClient = new TermsOfServiceServiceClient($options);
try {
// Prepare the request.
$request = new AcceptTermsOfServiceRequest([
'name' => sprintf("termsOfService/%s", $tosVersion),
'account' => sprintf("accounts/%s", $accountId),
'region_code' => $regionCode,
]);
print "Sending request to accept terms of service...\n";
$tosServiceClient->acceptTermsOfService($request);
print "Successfully accepted terms of service.\n";
} catch (ApiException $e) {
print $e->getMessage();
}
}
/**
* Helper to execute the sample.
*
* @return void
*/
public function callSample(): void
{
$config = Config::generateConfig();
// Replace with actual values.
$tosVersion = "132";
$regionCode = "US";
self::acceptTermsOfService($config['accountId'], $tosVersion, $regionCode);
}
}
// Run the script
$sample = new AcceptTermsOfService();
$sample->callSample();
পাইথন
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import AcceptTermsOfServiceRequest
from google.shopping.merchant_accounts_v1 import TermsOfServiceServiceClient
# Replace with your actual values.
_ACCOUNT_ID = configuration.Configuration().read_merchant_info()
_TOS_VERSION = ( # Replace with the Terms of Service version to accept
"VERSION_HERE"
)
_REGION_CODE = "US" # Replace with the region code
def accept_terms_of_service():
"""Accepts the Terms of Service agreement for a given account."""
credentials = generate_user_credentials.main()
client = TermsOfServiceServiceClient(credentials=credentials)
# Construct the request
request = AcceptTermsOfServiceRequest(
name=f"termsOfService/{_TOS_VERSION}",
account=f"accounts/{_ACCOUNT_ID}",
region_code=_REGION_CODE,
)
try:
print("Sending request to accept terms of service...")
client.accept_terms_of_service(request=request)
print("Successfully accepted terms of service.")
except RuntimeError as e:
print(e)
if __name__ == "__main__":
accept_terms_of_service()
তৃতীয় পক্ষের সরবরাহকারীদের জন্য বিশেষ বিবেচনা
তৃতীয় পক্ষের সরবরাহকারী হিসেবে আপনি ক্লায়েন্ট অ্যাকাউন্টের জন্য পরিষেবার শর্তাবলী পরিচালনা করতে পারেন।
ক্লায়েন্ট অ্যাকাউন্টের জন্য ToS পরিচালনা করুন
যদি আপনি একটি উন্নত অ্যাকাউন্ট পরিচালনা করেন এবং বিভিন্ন ব্যবসার জন্য ক্লায়েন্ট অ্যাকাউন্ট তৈরি করেন:
- অ্যাডভান্সড অ্যাকাউন্ট গ্রহণযোগ্যতা : যদি কোনও অ্যাডভান্সড অ্যাকাউন্ট ক্লায়েন্ট অ্যাকাউন্টগুলিতে অ্যাকাউন্ট একত্রিতকরণ পরিষেবা প্রদান করে, তাহলে অ্যাডভান্সড অ্যাকাউন্ট দ্বারা গৃহীত একটি ToS সেই পরিষেবা সহ তার সমস্ত ক্লায়েন্ট অ্যাকাউন্টগুলিতেও প্রযোজ্য হবে।
- প্রদর্শন এবং সম্মতি : এমনকি যদি অ্যাডভান্সড অ্যাকাউন্টের গ্রহণযোগ্যতা ক্লায়েন্ট অ্যাকাউন্টগুলিকে অন্তর্ভুক্ত করে, তবুও প্রতিটি ক্লায়েন্টের প্রকৃত ব্যবসার মালিকের কাছে প্রাসঙ্গিক Google Merchant Center ToS প্রদর্শন করা একটি সর্বোত্তম পদ্ধতি (এবং এটি একটি আইনি প্রত্যাশাও হতে পারে)। আপনাকে তাদের স্পষ্ট সম্মতি নিতে হবে যে তারা এই শর্তাবলী বোঝে এবং এতে সম্মত, এমনকি যদি অ্যাডভান্সড অ্যাকাউন্ট স্তরে গ্রহণের জন্য API আহ্বান করা হয়।
- ক্লায়েন্ট অ্যাকাউন্টের স্থিতি পরীক্ষা করা : একটি নির্দিষ্ট ক্লায়েন্ট অ্যাকাউন্টের ToS স্থিতি যাচাই করতে
termsOfServiceAgreementStates.retrieveForApplicationব্যবহার করুন এবং দেখুন যে এটি অ্যাডভান্সড অ্যাকাউন্টের চুক্তির আওতাভুক্ত কিনা অথবা কোনও সরাসরি পদক্ষেপের প্রয়োজন কিনা।
অন্যান্য অ্যাকাউন্টের জন্য পরিষেবার শর্তাবলী পরিচালনা করুন
"বিদেশী ব্যবসায়ীদের ToS গ্রহণের নির্দেশিকা" বইয়ে বিস্তারিতভাবে বলা হয়েছে, যখন আপনি কোনও ব্যবসাকে তাদের নিজস্ব অ্যাকাউন্ট তৈরি বা পরিচালনা করতে সহায়তা করেন, তখন সেই ব্যবসা (অ্যাকাউন্ট মালিক) ব্যক্তিগতভাবে পরিষেবার শর্তাবলী গ্রহণ করতে হবে। আপনি ToS পুনরুদ্ধার করে এবং প্রদর্শন করে এবং তারপর আপনার ইন্টারফেসের মাধ্যমে তাদের স্পষ্ট সম্মতি দেওয়ার পরে তাদের পক্ষ থেকে termsOfService.accept পদ্ধতিতে কল করে এটি সহজতর করেন।