এই নির্দেশিকায় মার্চেন্ট এপিআই-তে লয়্যালটি কাস্টমার ম্যাচ সার্ভিস কীভাবে ব্যবহার করতে হয় তা বর্ণনা করা হয়েছে। এই পরিষেবাটি মার্চেন্টদের একটি সক্রিয় গুগল অ্যাডস অ্যাকাউন্ট ছাড়াই গুগল সার্চে অর্গানিক পার্সোনালাইজেশনের জন্য গ্রাহক লয়্যালটি ডেটা, যেমন ইউজার আইডেন্টিফায়ার এবং টিয়ার তথ্য, পরিচালনা করতে সক্ষম করে।
সংক্ষিপ্ত বিবরণ
লয়্যালটি ডেটা আপলোড করতে লয়্যালটি কাস্টমার ম্যাচ সার্ভিস ব্যবহার করুন, যা পরবর্তীতে গুগল সার্চে অর্গানিক লয়্যালটি পার্সোনালাইজেশন ফিচার, যেমন সদস্য-নির্দিষ্ট মূল্য প্রদর্শন করতে ব্যবহৃত হয়। আপনি আপনার গ্রাহকদের লয়্যালটি প্রোগ্রামের স্তরগুলির সাথে যুক্ত করতে ManageLoyaltyCustomerMatch কাস্টম মেথডটি ব্যবহার করেন, যা আপনাকে ইউজার আইডেন্টিফায়ারের উপর ভিত্তি করে তাদের লয়্যালটি স্ট্যাটাস যোগ করতে , আপডেট করতে বা মুছে ফেলতে সক্ষম করে।
মূল ধারণা
- একীভূত ইন্টারফেস: গ্রাহকের লয়্যালটি টিয়ারের বিবরণ যোগ, আপডেট বা অপসারণ করার জন্য একটি অনন্য এন্ডপয়েন্ট।
- গোপনীয়তা-কেন্দ্রিক ডিজাইন: ব্যবহারকারীর গোপনীয়তা রক্ষা করতে এবং অননুমোদিত অ্যাকাউন্ট অনুসন্ধান প্রতিরোধ করতে, এপিআইটি GET বা LIST অপারেশন সমর্থন করে না, যা ডেটা পুনরুদ্ধার বা নিরীক্ষা ছাড়াই পরিচালিত হওয়া নিশ্চিত করে।
- নমনীয় শনাক্তকরণ: ইমেল ঠিকানা, ঠিকানা বা ফোন নম্বরের মতো অন্তত একটি বৈধ শনাক্তকারী ব্যবহার করে ব্যবহারকারীদের শনাক্ত করুন।
- সম্মতি-ভিত্তিক প্রক্রিয়াকরণ: পরিষেবাটি গ্রাহকের ডেটা শুধুমাত্র তখনই সংরক্ষণ ও ব্যবহার করে, যখন ব্যবহারকারী Google-কে প্রয়োজনীয় সম্মতি প্রদান করেন। অ্যাকাউন্টের অস্তিত্ব যাচাই বা সম্মতির অবস্থা সম্পর্কে জিজ্ঞাসা প্রতিরোধ ও সুরক্ষার জন্য, যদি কোনো মিল খুঁজে না পাওয়া যায় বা সম্মতি প্রদান করা না হয়, তবে পরিষেবাটি নীরবে সফলতার বার্তা প্রদর্শন করে।
পূর্বশর্ত
লয়্যালটি কাস্টমার ম্যাচ সার্ভিস ব্যবহার করার জন্য এই শর্তাবলী অনুসরণ করুন:
- অ্যাকাউন্ট সেটআপ: নিশ্চিত করুন যে আপনার একটি সক্রিয় মার্চেন্ট সেন্টার অ্যাকাউন্ট আছে। লয়্যালটি কাস্টমার ম্যাচ সার্ভিস ব্যবহার করার জন্য আপনার কোনো গুগল অ্যাডস অ্যাকাউন্ট তৈরি করার প্রয়োজন নেই।
- লয়্যালটি প্রোগ্রাম কনফিগারেশন: আপনার মার্চেন্ট সেন্টার অ্যাকাউন্টে লয়্যালটি প্রোগ্রামটি সক্রিয় করুন এবং নিশ্চিত করুন যে আপনি লয়্যালটি টিয়ারগুলো নির্ধারণ করেছেন।
- টিয়ারের ক্রম সম্পর্কে সচেতনতা: মার্চেন্ট সেন্টার UI-তে আপনার লয়্যালটি টিয়ারগুলো যে ক্রমে সংজ্ঞায়িত করা হয়েছে, সে সম্পর্কে সচেতন থাকুন। API তার enum ম্যাপিংয়ের জন্য এই সুনির্দিষ্ট ক্রমটিই ব্যবহার করে।
পদ্ধতি: ManageLoyaltyCustomerMatch
ManageLoyaltyCustomerMatch মেথডটি গ্রাহকের লয়্যালটি অ্যাসোসিয়েশনগুলো পরিচালনা করার জন্য কেন্দ্রীয় ইন্টারফেস হিসেবে কাজ করে। প্রদত্ত ইনপুটের উপর ভিত্তি করে, সার্ভিসটি স্বয়ংক্রিয়ভাবে নির্ধারণ করে যে কোনো গ্রাহকের লয়্যালটি টিয়ার স্ট্যাটাস যোগ, আপডেট বা অপসারণ করা হবে কিনা। এই অপারেশনটি আইডম্পোটেন্ট : বারবার একই অনুরোধ করলেও তার ফলাফল একটিমাত্র অনুরোধের মতোই হয়।
নিম্নলিখিত অনুরোধটি দেখায় কিভাবে API-এর মাধ্যমে গ্রাহক আনুগত্য অ্যাসোসিয়েশনগুলি পরিচালনা করা যায়:
POST https://merchantapi.googleapis.com/{api_version}/accounts/{account_id}/loyaltyCustomers:manage
এই অনুরোধটি নিম্নলিখিত প্রয়োজনীয় পাথ প্যারামিটারগুলি সংজ্ঞায়িত করে:
-
api_version: এপিআই সংস্করণ, যেমন v1। -
account_id: মার্চেন্ট সেন্টার অ্যাকাউন্ট আইডি।
অনুরোধের মূল অংশে একটি loyaltyCustomer অবজেক্ট অন্তর্ভুক্ত করুন।
{
"userIdentifier": {
"emailAddress": "string",
"address": {
"addressLines": ["string"],
"locality": "string",
"administrativeArea": "string",
"postalCode": "string",
"regionCode": "string"
},
"phoneNumber": "string"
},
"loyaltyTier": "LoyaltyTier",
"pointBalance": "integer"
}
আনুগত্য গ্রাহক ক্ষেত্র
- userIdentifier : গ্রাহককে শনাক্ত করতে ব্যবহৃত শনাক্তকারীসমূহের সেট। userIdentifier-এর অন্তর্ভুক্ত অন্তত একটি ফিল্ড অবশ্যই প্রদান করতে হবে এবং তা বৈধ হতে হবে।
- loyaltyTier : গ্রাহকের সাথে যুক্ত করার জন্য লয়্যালটি টিয়ার। এটি মার্চেন্ট সেন্টার সেটআপে টিয়ারের ক্রমের সাথে ম্যাপ করা হয়। বিস্তারিত জানতে, 'understanding
loyaltyTiermapping' দেখুন। বিদ্যমান সংযোগটি সরাতে NON_MEMBER ব্যবহার করুন। - পয়েন্ট ব্যালেন্স : গ্রাহকের বর্তমান পয়েন্ট ব্যালেন্স।
ব্যবহারকারী শনাক্তকারী ক্ষেত্র
নিম্নলিখিত ক্ষেত্রগুলির মধ্যে অন্তত একটি প্রদান করুন:
- ইমেইল ঠিকানা : গ্রাহকের ইমেইল ঠিকানা।
- ঠিকানা : গ্রাহকের প্রকৃত ঠিকানা। পোস্টাল কোড আবশ্যক।
- ফোন নম্বর : গ্রাহকের ফোন নম্বর। ই.১৬৪ ফরম্যাট ব্যবহার করার পরামর্শ দেওয়া হয়।
loyaltyTier ম্যাপিং বুঝুন
এপিআইটি কাস্টম নাম ব্যবহার করে না। loyaltyTier enum ভ্যালুগুলো ( TIER1 থেকে TIER7 ) হলো সিমান্টিক লেবেল। এগুলো আপনার মার্চেন্ট সেন্টার UI-তে দেওয়া কাস্টম নাম (যেমন, "Gold Rewards") বা কাস্টম লেবেল (যেমন, "gold_tier") ব্যবহার করে না। এর পরিবর্তে, এগুলো মার্চেন্ট সেন্টারের লয়ালটি প্রোগ্রাম সেটিংসে আপনি যে ক্রমে আপনার টিয়ারগুলো সংজ্ঞায়িত করেছেন, ঠিক সেই ক্রমেই ম্যাপ করা হয়।
-
TIER1: আপনার মার্চেন্ট সেন্টার লয়ালটি প্রোগ্রাম কনফিগারেশনে তালিকাভুক্ত প্রথম টিয়ারকে বোঝায়। -
TIER2: এটি আপনার মার্চেন্ট সেন্টার লয়ালটি প্রোগ্রাম কনফিগারেশনে তালিকাভুক্ত দ্বিতীয় টিয়ারকে বোঝায়। -
TIER3থেকেTIER7: আপনার মার্চেন্ট সেন্টার লয়ালটি প্রোগ্রাম কনফিগারেশনে তালিকাভুক্ত তৃতীয় থেকে সপ্তম টিয়ারগুলোর সাথে সঙ্গতিপূর্ণ।
উদাহরণ:
যদি আপনার মার্চেন্ট সেন্টার লয়্যালটি প্রোগ্রামে স্তরগুলো এই ক্রমে সংজ্ঞায়িত করা থাকে:
- টিয়ারের নাম: "সিলভার স্ট্যাটাস" , টিয়ার লেবেল: "সিলভার"
- টিয়ারের নাম: "গোল্ড মেম্বার" , টিয়ার লেবেল: "গোল্ড"
- টিয়ারের নাম: "প্ল্যাটিনাম এলিট" , টিয়ার লেবেল: "প্ল্যাটিনাম"
তারপর, accounts.loyaltyCustomers.manage API কলগুলিতে:
- কোনো গ্রাহককে 'সিলভার স্ট্যাটাস'- এ উন্নীত করতে হলে, আপনাকে অবশ্যই
loyaltyTier: TIER1) ব্যবহার করতে হবে। - কোনো গ্রাহককে 'গোল্ড মেম্বার' হিসেবে অন্তর্ভুক্ত করতে হলে, আপনাকে অবশ্যই
loyaltyTier: TIER2) ব্যবহার করতে হবে। - কোনো গ্রাহককে 'প্ল্যাটিনাম এলিট'- এ অন্তর্ভুক্ত করতে হলে, আপনাকে অবশ্যই
loyaltyTier: TIER3ব্যবহার করতে হবে।
LoyaltyTier enum মান
-
TIER1 -
TIER2 -
TIER3 -
TIER4 -
TIER5 -
TIER6 -
TIER7 -
NON_MEMBER(গ্রাহকের আনুগত্য সম্পর্ক অপসারণের সংকেত দিতে ব্যবহৃত হয়)
ManageLoyaltyCustomerMatch রেসপন্স বডিটি বুঝুন
ManageLoyaltyCustomerMatch মেথডটি একটি ManageLoyaltyCustomerMatchResponse অবজেক্ট রিটার্ন করে:
{
"loyaltyCustomer": {
// loyaltyCustomer object from the request
}
}
প্রতিক্রিয়ার জন্য গুরুত্বপূর্ণ বিবেচ্য বিষয়সমূহ
সফল আপসার্ট (ডেটা সংরক্ষিত): কোনো গ্রাহকের লয়ালটি টিয়ার অ্যাসোসিয়েশন সফলভাবে সংরক্ষণ বা আপডেট করতে, নিম্নলিখিত শর্তগুলো পূরণ করুন:
- আপনি প্রদত্ত
userIdentifierসাথে একজন গুগল ব্যবহারকারীকে মেলান। - আপনি অনুরোধে
loyaltyTierNON_MEMBERব্যতীত একটি বৈধ মানে সেট করেছেন। - নির্ধারিত ব্যবহারকারী লয়ালটি ডেটা ব্যবহারে সম্মতি দিয়েছেন।
- আপনি প্রদত্ত
প্রতিক্রিয়াটিতে আপনার অনুরোধ থেকে প্রাপ্ত loyaltyCustomer অবজেক্টটি রয়েছে, যা নির্দেশ করে যে পরিষেবাটি সফলভাবে ডেটা প্রক্রিয়া ও সংরক্ষণ করেছে:
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"loyaltyTier": "TIER2",
"pointBalance": 1500
}
}
- সফলভাবে মুছে ফেলা: এই মার্চেন্টের সাথে গ্রাহকের বিদ্যমান যেকোনো লয়্যালটি অ্যাসোসিয়েশন সফলভাবে অপসারণ করতে হলে, নিম্নলিখিত শর্তগুলো অবশ্যই পূরণ করতে হবে:
- আপনি প্রদত্ত
userIdentifierসাথে একজন গুগল ব্যবহারকারীকে মেলান। - আপনি অনুরোধে
loyaltyTierNON_MEMBERহিসেবে সেট করেছেন।
- আপনি প্রদত্ত
প্রতিক্রিয়াটি একটি খালি JSON অবজেক্ট:
{}
- মিল নেই / সম্মতি নেই (নীরব সাফল্য): যদি প্রদত্ত
userIdentifierকোনো Google Account-এর সাথে না মেলে, অথবা যদি মিলে যাওয়া ব্যবহারকারী লয়ালটি ডেটা ব্যবহারে সম্মতি না দিয়ে থাকেন, তাহলে API একটি খালি JSON অবজেক্ট:{}সহ একটি HTTP 200 OK স্ট্যাটাস রিটার্ন করে। এটি আপসার্ট এবং রিমুভাল উভয় চেষ্টার ক্ষেত্রেই ঘটে।
উদাহরণ
TIER1 হলো প্রথম নির্ধারিত স্তর (যেমন, 'বেসিক' ), এবং TIER2 হলো দ্বিতীয় স্তর (যেমন, 'প্রিমিয়াম' )।
ইমেল ঠিকানা ব্যবহার করে কোনো গ্রাহককে TIER2- তে যুক্ত করতে বা তার স্ট্যাটাস আপডেট করতে, নিম্নলিখিত অনুরোধটি পাঠান:
POST
"https://merchantapi.googleapis.com/v1/accounts/{account_id}/loyaltyCustomers:manage"
-d '{
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"loyaltyTier": "TIER2",
"pointBalance": 1500
}'
যখন কোনো ব্যবহারকারীকে সফলভাবে শনাক্ত করা যায় এবং তিনি সম্মতি দেন, তখন এপিআই নিম্নলিখিত প্রতিক্রিয়াটি ফেরত দেয়:
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"loyaltyTier": "TIER2",
"pointBalance": 1500
}
}
যখন কোনো মিল পাওয়া যায় না বা ব্যবহারকারী সম্মতি দেননি, তখন API নিম্নলিখিত প্রতিক্রিয়াটি ফেরত দেয়:
{}
ফোন নম্বর ব্যবহার করে কোনো গ্রাহকের লয়ালটি অ্যাসোসিয়েশন অপসারণ করতে, নিম্নলিখিত অনুরোধটি পাঠান:
POST
"https://merchantapi.googleapis.com/v1/accounts/{account_id}/loyaltyCustomers:manage" \
-d '{
"userIdentifier": {
"phoneNumber": "+18005550132"
},
"loyaltyTier": "NON_MEMBER"
}'
রেকর্ডটি বিদ্যমান থাকুক বা না থাকুক, এপিআইটি নিম্নলিখিত সফল প্রতিক্রিয়া প্রদান করে:
{}
একাধিক শনাক্তকারী ব্যবহার করে গ্রাহক যোগ করতে বা আপডেট করতে, নিম্নলিখিত অনুরোধটি পাঠান:
POST
"https://merchantapi.googleapis.com/v1/accounts/{account_id}/loyaltyCustomers:manage" \
-d '{
"userIdentifier": {
"emailAddress": "user@example.com",
"address": {
"postalCode": "94043",
"regionCode": "US"
}
},
"loyaltyTier": "TIER1"
}'
মিল ও সম্মতির ওপর নির্ভর করে প্রতিক্রিয়াটি প্রথম উদাহরণের মতোই হয়।
ত্রুটি পরিচালনা
এপিআইটি স্ট্যান্ডার্ড HTTP কোড ব্যবহার করে। সাধারণ ত্রুটির স্ট্রিংগুলির মধ্যে রয়েছে:
| HTTP কোড | ত্রুটি স্ট্রিং | বর্ণনা |
| ৪০০ | অবৈধ আর্গুমেন্ট | user_identifier বা loyalty_tier অনুপস্থিত, অথবা identifier খালি। |
| ৪০১ | অপ্রমাণিত | অবৈধ বা অনুপস্থিত পরিচয়পত্র। |
| ৪০৩ | অনুমতি_প্রত্যাখ্যাত | প্রমাণীকৃত ব্যবহারকারীর নির্দিষ্ট মার্চেন্ট সেন্টার অ্যাকাউন্টে প্রবেশাধিকার নেই। |
| ৪০৪ | পাওয়া যায়নি | আপনার কনফিগারেশনে নির্দিষ্ট লয়্যালটি টিয়ার লেবেলটি বিদ্যমান নেই। |
| ৪১২ | ব্যর্থ_পূর্বশর্ত | আপনি আপনার অ্যাকাউন্টে কোনো লয়ালটি প্রোগ্রাম কনফিগার করেননি। |
| ৪২৯ | সম্পদ নিঃশেষিত | কোটা সীমা পূর্ণ হয়েছে। |
ত্রুটির উদাহরণ
404 NOT_FOUND এর উদাহরণ:
এমন কোনো অ্যাকাউন্ট আইডিতে করা বৈধ অনুরোধ, যেটিতে কোনো লয়্যালটি প্রোগ্রাম কনফিগার করা নেই।
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 404,
"message": "The loyalty program is not found for account: {account_id}.",
"status": "NOT_FOUND",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "notFound",
"domain": "merchantapi.googleapis.com",
"metadata": {
"ACCOUNT_ID": "{account_id}",
"REASON": "NOT_FOUND_LOYALTY_PROGRAM"
}
}
]
}
}
কারণ: উল্লিখিত মার্চেন্ট অ্যাকাউন্টটিতে কোনো সক্রিয় লয়্যালটি প্রোগ্রাম নেই।
400 INVALID_ARGUMENT এর উদাহরণ:
অনুরোধে loyaltyTier ফিল্ডের জন্য কোনো অবৈধ মান থাকলে একটি ত্রুটি ঘটে:
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"loyaltyTier": "TIER11",
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "Invalid value at 'loyalty_customer.loyalty_tier' (type.googleapis.com/google.shopping.merchant.loyaltycustomers.v1.LoyaltyCustomer.LoyaltyTier), \"TIER11\"",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "loyalty_customer.loyalty_tier",
"description": "Invalid value at 'loyalty_customer.loyalty_tier' (type.googleapis.com/google.shopping.merchant.loyaltycustomers.v1.LoyaltyCustomer.LoyaltyTier), \"TIER11\""
}
]
}
]
}
}
কারণ: loyaltyTier জন্য TIER11 একটি বৈধ enum ভ্যালু নয়। যখন কেবল একটি টিয়ার উপলব্ধ থাকে, তখন আপনি TIER2 নির্দিষ্ট করার চেষ্টা করলেও একই ত্রুটি ঘটতে পারে।
অনুরোধের মূল অংশে প্রয়োজনীয় loyaltyTier ফিল্ডটি অনুপস্থিত থাকলে একটি ত্রুটি ঘটে:
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "[loyalty_customer.loyalty_tier] Required field not provided: loyalty_customer.loyalty_tier",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "required",
"domain": "merchantapi.googleapis.com",
"metadata": {
"FIELD_LOCATION": "loyalty_customer.loyalty_tier",
"REASON": "MISSING_REQUIRED_FIELD"
}
}
]
}
}
কারণ: loyaltyTier ফিল্ডটি আবশ্যক।
ঠিকানা শনাক্তকারী অসম্পূর্ণ থাকলে একটি ত্রুটি ঘটে, যেমন যখন postalCode ফিল্ডটি অনুপস্থিত থাকে:
{
"loyaltyCustomer": {
"userIdentifier": {
"address": {
"locality": "Sunnyvale",
"administrativeArea": "CA",
"regionCode": "US"
}
},
"loyaltyTier": "TIER1",
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "[loyalty_customer.user_identifier] The format of loyalty_customer.user_identifier does not match the expected format ... Value: at least one valid user identifier should be provided.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "invalid",
"domain": "merchantapi.googleapis.com",
"metadata": {
"FIELD_NAME": "loyalty_customer.user_identifier",
"REASON": "INVALID_VALUE"
}
}
]
}
}
কারণ: একটি ঠিকানা দেওয়া হয়েছে, কিন্তু এতে প্রয়োজনীয় postalCode ফিল্ডটি না থাকায় এটিকে একটি বৈধ শনাক্তকারী হিসেবে বিবেচনা করা হচ্ছে না।
কনফিগার করা প্রোগ্রামের সীমার বাইরে কোনো টিয়ার ইনডেক্সের জন্য অনুরোধ করলে একটি ত্রুটি ঘটে:
দৃশ্যকল্প: মার্চেন্ট সেন্টারে মার্চেন্টের কেবল একটি টিয়ার কনফিগার করা আছে।
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@example.com"
},
"loyaltyTier": "TIER2",
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "[loyalty_customer.loyalty_tier] The format of loyalty_customer.loyalty_tier does not match the expected format `valid LoyaltyTier`. Value: TIER2.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "invalid",
"domain": "merchantapi.googleapis.com",
"metadata": {
"FIELD_NAME": "loyalty_customer.loyalty_tier",
"PATTERN": "valid LoyaltyTier",
"FIELD_VALUE": "TIER2",
"REASON": "INVALID_VALUE"
}
}
]
}
}
কারণ: টিয়ার২ (TIER2) অনুরোধ করা হয়েছে, কিন্তু অ্যাকাউন্টের সাথে সংযুক্ত লয়ালটি প্রোগ্রামে দ্বিতীয় কোনো টিয়ার সংজ্ঞায়িত নেই।
অনুরোধে ভুল emailAddress থাকলে একটি ত্রুটি ঘটে:
{
"loyaltyCustomer": {
"userIdentifier": {
"emailAddress": "customer@google"
},
"loyaltyTier": "TIER1",
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "[loyalty_customer.user_identifier] The format of loyalty_customer.user_identifier does not match the expected format `email_address: \t \"customer@google\"\n`. Value: at least one valid user identifier should be provided.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "invalid",
"domain": "merchantapi.googleapis.com",
"metadata": {
"FIELD_NAME": "loyalty_customer.user_identifier",
"REASON": "INVALID_VALUE"
}
}
]
}
}
কারণ: ইমেল ঠিকানার ফরম্যাটটি সঠিক নয়।
userIdentifier অবজেক্টটি খালি থাকলে একটি ত্রুটি ঘটে:
{
"loyaltyCustomer": {
"userIdentifier": {},
"loyaltyTier": "TIER1",
"pointBalance": 100
}
}
এপিআইটি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া প্রদান করে:
{
"error": {
"code": 400,
"message": "[loyalty_customer.user_identifier] Required field not provided: loyalty_customer.user_identifier",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "required",
"domain": "merchantapi.googleapis.com",
"metadata": {
"FIELD_LOCATION": "loyalty_customer.user_identifier",
"REASON": "MISSING_REQUIRED_FIELD"
}
}
]
}
}
কারণ: userIdentifier অবজেক্টটি উপস্থিত থাকলেও এতে কোনো প্রকৃত আইডেন্টিফায়ার ফিল্ড নেই।
দ্রষ্টব্য: শনাক্তকারী যাচাইকরণ।
- এপিআইটি আইডেন্টিফায়ারগুলোর ওপর প্রাথমিক ফরম্যাট যাচাই করে (যেমন, ইমেইলের গঠন, ঠিকানায়
postalCodeউপস্থিতি)। - তবে, কিছু আইডেন্টিফায়ার যা প্রাথমিক যাচাইয়ে উত্তীর্ণ হয়, তা কোনো গুগল ব্যবহারকারী অ্যাকাউন্টের সাথে নাও মিলতে পারে অথবা ব্যাকএন্ড ম্যাচিং সিস্টেম দ্বারা স্বীকৃত ফরম্যাটে নাও থাকতে পারে। এই ধরনের ক্ষেত্রে, আপনি HTTP স্ট্যাটাস
200 OKসহ একটি সাইলেন্ট সাকসেস এম্পটি রেসপন্স{}পাবেন।
সর্বোত্তম অনুশীলন
আপনার ইন্টিগ্রেশনকে অপ্টিমাইজ করতে এই সেরা পদ্ধতিগুলো অনুসরণ করুন।
বৃহৎ পরিসরের ইন্টিগ্রেশনের জন্য: যেহেতু এপিআইটি প্রতি-অনুরোধ ভিত্তিতে কাজ করে, তাই বৃহৎ ডেটাসেটের জন্য প্রয়োজনীয় থ্রুপুট অর্জন করতে ক্লায়েন্ট-সাইড প্যারালালিজম প্রয়োজন। আপনার ইন্টিগ্রেশনটি এমনভাবে ডিজাইন করা উচিত যাতে এটি একই সাথে একাধিক অনুরোধ পরিচালনা করতে পারে। প্যারালালাইজেশনের মাধ্যমে উচ্চ ভলিউম সামলানোর জন্য আপনার ইমপ্লিমেন্টেশন কীভাবে গঠন করবেন সে সম্পর্কে নির্দেশনার জন্য, আমাদের 'কিভাবে একাধিক অনুরোধ পাঠাতে হয়' শীর্ষক গাইডটি দেখুন।
কোটা ব্যবস্থাপনা: ডিফল্ট কোটা হলো দৈনিক ১০,০০,০০০ অনুরোধ এবং প্রতি মিনিটে ১০,০০০ অনুরোধ । আপনি কীভাবে আপনার কোটা নিরীক্ষণ ও পরীক্ষা করতে পারেন তা দেখতে, ‘কোটা ও সীমা’ দেখুন।
ইমেল ঠিকানাকে অগ্রাধিকার দিন: যখনই সম্ভব, ব্যবহারকারীর
userIdentifier) গ্রাহকেরemailAddressঅন্তর্ভুক্ত করুন। ব্যবহারকারীদের তাদের গুগল অ্যাকাউন্টের সাথে মেলানোর জন্য ইমেল ঠিকানা সাধারণত সবচেয়ে নির্ভুল এবং নির্ভরযোগ্য শনাক্তকারী।খালি প্রতিক্রিয়া পরিচালনা করুন: আপনার অ্যাপ্লিকেশনটিকে এমনভাবে ডিজাইন করুন যাতে এটি খালি
{}প্রতিক্রিয়াগুলিকে সফল হিসেবে সঠিকভাবে ব্যাখ্যা করতে পারে এবং বুঝতে পারে যে গোপনীয়তার কারণে (মিল না পাওয়া বা সম্মতি না থাকা) ডেটা সংরক্ষণ করা হয়নি। অনুরোধটি পুনরায় চেষ্টা করবেন না।টিয়ারের ক্রম যাচাই করুন: আপনার API কলগুলিতে আপনি সঠিক
TIER1থেকেTIER7enum ভ্যালু ব্যবহার করছেন কিনা, তা নিশ্চিত করতে মার্চেন্ট সেন্টার UI-তে আপনার লয়্যালটি টিয়ারগুলির ক্রম সর্বদা নিশ্চিত করুন। এই ম্যাপিংটি UI-তে নির্ধারিত ক্রমের উপর ভিত্তি করে করা হয়, তাদের নামের উপর নয়।ত্রুটি নিরীক্ষণ করুন: API প্রতিক্রিয়াগুলি লগ এবং নিরীক্ষণ করুন, ইন্টিগ্রেশন সমস্যাগুলি ধরতে যেকোনো
4xxত্রুটির দিকে মনোযোগ দিন, বিশেষ করে404ত্রুটি যা টিয়ার বোঝাপড়ার অমিল নির্দেশ করতে পারে।