চেকআউট সম্পন্ন হওয়ার পর এবং অর্ডার দেওয়ার পরে, আপনাকে অবশ্যই অর্ডার ওয়েবহুক ব্যবহার করে গুগল-কে স্ট্যাটাস আপডেট পাঠাতে হবে। এই ইভেন্টগুলো পাঠানোর ফলে গ্রাহকের 'আমার অর্ডার' পেজে অর্ডার ট্র্যাকিং, শিপিং এবং রিটার্নের তথ্য সঠিকভাবে প্রতিফলিত হয়।
ওয়েবহুক এন্ডপয়েন্ট
অর্ডার আপডেট পাঠাতে, সম্পূর্ণ অর্ডার এনটিটি পেলোড সহ নিম্নলিখিত এন্ডপয়েন্টে একটি POST অনুরোধ পাঠান:
POST https://shoppingdataintegration.googleapis.com/v1/webhooks/partners/PARTNER_ID/events/order?key=API_KEY
অনবোর্ডিংয়ের সময় গুগল আপনার সাথে একটি নির্দিষ্ট PARTNER_ID এবং API_KEY শেয়ার করে। দুটি উপায়ের যেকোনো একটিতে API কী-টি প্রদান করুন:
- URL কোয়েরি প্যারামিটার হিসেবে:
?key=API_KEY - HTTP হেডার ব্যবহার করে:
X-Goog-Api-Key: API_KEY
বাধ্যতামূলক অর্ডার আপডেট ইভেন্ট
আপনাকে অবশ্যই নিম্নলিখিত অর্ডার স্ট্যাটাস পরিবর্তনগুলি রিপোর্ট করতে হবে:
- অর্ডার তৈরি হয়েছে: অর্ডার নিশ্চিত হওয়ার সাথে সাথেই এটি সক্রিয় হয় (
status: processing)। - অর্ডার পাঠানো হয়েছে: অর্ডারের পণ্যগুলো গুদাম থেকে পাঠানো হলে এটি সক্রিয় হয়। এর জন্য
tracking_numberএবংtracking_urlপ্রয়োজন। - অর্ডার ডেলিভারড: প্রাপকের কাছে পণ্য পৌঁছে গেলে এটি ট্রিগার হয়।
প্রস্তাবিত অর্ডার আপডেট ইভেন্টগুলি
সর্বোত্তম ব্যবহারকারী অভিজ্ঞতা প্রদানের জন্য, আমরা নিম্নলিখিত ইভেন্টগুলির আপডেট পাঠানোরও সুপারিশ করি:
সমন্বয় ঘটনা:
-
dispute: যখন কোনো গ্রাহক কোনো চার্জ নিয়ে আপত্তি জানান।
-
পরিপূর্ণতা ইভেন্ট:
-
canceled: যখন কোনো ফুলফিলমেন্ট বাতিল করা হয় (fulfillment.eventsঅ্যারের মধ্যে পাঠানো হয়)।
-
অর্ডার লজিক এবং স্ট্যাটাস ম্যাপিং
'আমার অর্ডার' পেজটি সঠিকভাবে রেন্ডার করার জন্য, গুগল আপনার পেলোডের মধ্যে থাকা নির্দিষ্ট লজিক ম্যাপিংয়ের ওপর নির্ভর করে।
লাইন আইটেমের প্রয়োজনীয়তা
- লাইন আইটেমগুলো খালি রাখা যাবে না এবং
itemতথ্য অবশ্যই অন্তর্ভুক্ত থাকতে হবে। UCP স্পেসিফিকেশন অনুযায়ী, একটি লাইন আইটেমের স্ট্যাটাসে অবশ্যই
totalএবংfulfilledপরিমাণ (যেখানেfulfilledডেলিভারি করা আইটেম বোঝায়) সঠিকভাবে প্রতিফলিত হতে হবে।-
processing: যখনfulfilledমান ০ এবংtotal> ০ (উদাহরণস্বরূপ,total: 2,fulfilled: 0)। -
partial: যখনfulfilled০-এর চেয়ে বেশি কিন্তুtotalচেয়ে কম হয় (উদাহরণস্বরূপ,total: 2,fulfilled: 1)। -
fulfilled: যখনfulfilledtotalসমান হয় এবংtotal> ০ হয় (উদাহরণস্বরূপ,total: 2,fulfilled: 2)। -
removed: যখনtotal০ হয় (উদাহরণস্বরূপ,total: 0,fulfilled: 0)।
-
সমন্বয় ঘটনা
অর্থ লেনদেন সংক্রান্ত যেকোনো ঘটনা adjustments অ্যারের অংশ হিসেবে পাঠানো উচিত।
-
cancellation: অর্ডারটি সম্পন্ন হওয়ার আগে সম্পূর্ণ অর্ডার অথবা অর্ডারের অন্তর্ভুক্ত নির্দিষ্ট কোনো আইটেম বাতিল করা হলে। -
return: অর্ডার সম্পন্ন হওয়ার পর গ্রাহক কর্তৃক অর্ডারের পণ্যগুলো ফেরত দেওয়া হলে। -
refund: যখন কোনো অর্ডার বা নির্দিষ্ট পণ্যের জন্য অর্থ ফেরত দেওয়া হয়।
একাধিক আইটেমের অর্ডার
নিম্নলিখিত বিভাগগুলিতে ব্যাখ্যা করা হয়েছে কীভাবে একাধিক আইটেমযুক্ত অর্ডার এবং প্যাকেজগুলিকে গোষ্ঠীভুক্ত ও ট্র্যাক করা হয়।
একাধিক আইটেমের প্যাকেজ গ্রুপিং
"আমার অর্ডার" পৃষ্ঠার আইটেমগুলো প্যাকেজ অনুযায়ী গ্রুপ করা থাকে (যেগুলোর tracking_url একই)। যদি কোনো প্যাকেজ আংশিকভাবে ফেরত দেওয়া হয়, তাহলে ফেরত দেওয়া আইটেমগুলো "আমার অর্ডার" পৃষ্ঠার একটি আলাদা বিভাগে ভাগ করে দেওয়া হয়।
প্যাকেজের অবস্থা
প্যাকেজের জন্য প্রদর্শিত স্ট্যাটাসগুলো হলো: অর্ডার করা হয়েছে, পাঠানো হয়েছে, ডেলিভারি করা হয়েছে, ফেরত দেওয়া হয়েছে, অর্থ ফেরত দেওয়া হয়েছে, বাতিল করা হয়েছে। প্যাকেজের স্ট্যাটাসগুলো fulfillment ইভেন্টস এবং adjustments অবজেক্টের type অ্যাট্রিবিউট থেকে নেওয়া হয়।
প্যাকেজের অবস্থা কীভাবে নির্ধারণ করা হয়
যদি status: completed সহ কোনো অ্যাডজাস্টমেন্ট ইভেন্ট থাকে, তাহলে অ্যাডজাস্টমেন্ট ইভেন্টের ধরনের উপর ভিত্তি করে প্যাকেজটিতে 'Returned', 'Refunded' বা 'Cancelled'-এর উপযুক্ত স্ট্যাটাস প্রদর্শিত হবে।
| সমন্বয় ইভেন্টের বৈশিষ্ট্য | প্যাকেজের অবস্থা |
|---|---|
type: return , status: completed | ফেরত দেওয়া হয়েছে |
type: refund , status: completed | ফেরত দেওয়া হয়েছে |
type: cancellation , status: completed | বাতিল করা হয়েছে |
যদি কোনো সম্পন্ন সমন্বয় না থাকে, তাহলে স্ট্যাটাসটি ফুলফিলমেন্ট ইভেন্টের ধরনের উপর ভিত্তি করে নির্ধারিত হবে:
| পরিপূর্ণতা ইভেন্টের বৈশিষ্ট্য | প্যাকেজের অবস্থা |
|---|---|
type: shipped | পাঠানো হয়েছে (আগামী <তারিখ> এর মধ্যে প্রত্যাশিত) |
type: delivered | বিতরণ করা হয়েছে |
| কোন পরিপূর্ণতা ইভেন্ট নেই | আদেশ করা হয়েছে |
প্রযুক্তিগত বৈধতা নিয়ম
অর্ডার আপডেটগুলো সফলভাবে সম্পন্ন করা নিশ্চিত করতে, আপনার ওয়েবহুক পেলোডগুলোকে অবশ্যই নির্দিষ্ট ডেটা যাচাইকরণ এবং মূল্য নির্ধারণের ফরম্যাটিং নিয়ম মেনে চলতে হবে।
অর্ডার প্রত্যাখ্যানের কারণগুলি
গুগল আগত ওয়েবহুক পেলোডগুলো যাচাই করে এবং নিম্নলিখিত শর্তগুলোর কোনোটি পূরণ হলে আপডেটগুলো প্রত্যাখ্যান করে:
- অনুরোধের বডিতে কোনো অর্ডার এনটিটি নেই।
- পেলোডে
checkout_idবাid( অর্ডার কনফার্মেশন আইডি ) অনুপস্থিত। - পেলোডটিতে সর্বশেষ রেকর্ড করা আপডেটের চেয়ে পুরোনো একটি টাইমস্ট্যাম্প রয়েছে।
-
refund,return,credit,price_adjustment,disputeবাcancellationছাড়া অন্য কোনো টাইপের সাথে একটি অ্যাডজাস্টমেন্ট ইভেন্ট পাঠানো হয়। - যেকোনো শিপিং বিবরণ ২০০ অক্ষরের বেশি।
কর-সহ মূল্য
আপনি যদি এমন বাজারে ব্যবসা করেন যেখানে সাবটোটালের মধ্যে ট্যাক্স অন্তর্ভুক্ত থাকে, তাহলে সমস্ত ওয়েবহুক ইভেন্ট জুড়ে অর্ডার এনটিটির totals অ্যারেতে নিম্নলিখিত বিষয়গুলো অবশ্যই প্রতিফলিত করতে হবে:
- সাবটোটাল:
subtotalপরিমাণে সমস্ত প্রযোজ্য কর অন্তর্ভুক্ত করুন এবংdisplay_text"Subtotal (including taxes)"এ সেট করুন। - ফুলফিলমেন্ট: শিপিং বা ফুলফিলমেন্ট খরচের জন্য একটি
display_textএন্ট্রি অন্তর্ভুক্ত করুন (উদাহরণস্বরূপ,"Shipping")। - কর:
totalsঅ্যারে থেকে পৃথক"tax"এন্ট্রিগুলি বাদ দিন।
পরবর্তী পদক্ষেপ
সংস্করণ-নির্দিষ্ট JSON পেলোড উদাহরণ, ওয়েবহুক হেডার এবং অনুরোধ স্বাক্ষর করার নির্দেশাবলী দেখতে, আপনার লক্ষ্য UCP সংস্করণের বাস্তবায়ন নির্দেশিকা দেখুন: