আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
নিম্নলিখিত বিভাগগুলিতে বর্ণিত পদ্ধতি অনুসারে আপনার এপিআই প্রোডাক্ট বান্ডেলের প্রতিটি এপিআই প্রোডাক্টের জন্য ট্রানজ্যাকশন রেকর্ডিং পলিসি কনফিগার করুন।
ভূমিকা
একটি ট্রানজ্যাকশন রেকর্ডিং পলিসি মনিটাইজেশনকে ট্রানজ্যাকশন প্যারামিটার এবং কাস্টম অ্যাট্রিবিউট ক্যাপচার করতে সক্ষম করে। রেট প্ল্যান প্রয়োগের মতো মনিটাইজেশন প্রসেসিং সম্পাদনের জন্য এই তথ্যের প্রয়োজন হয়।
উদাহরণস্বরূপ, আপনি যদি একটি রেভিনিউ শেয়ার রেট প্ল্যান সেট আপ করেন, তাহলে আপনার মনিটাইজড এপিআই প্রোডাক্টের সাথে জড়িত প্রতিটি লেনদেন থেকে অর্জিত আয়ের একটি শতাংশ অনুরোধকারী অ্যাপের ডেভেলপারের সাথে শেয়ার করা হয়। এই রেভিনিউ শেয়ারটি লেনদেনের নেট বা গ্রস মূল্যের উপর ভিত্তি করে নির্ধারিত হয় (আপনি কোনটি তা নির্দিষ্ট করে দেন), অর্থাৎ, প্রতিটি লেনদেনের গ্রস বা নেট মূল্যের একটি শতাংশ ব্যবহার করে রেভিনিউ শেয়ার নির্ধারণ করা হয়। এই কারণে, প্রযোজ্য ক্ষেত্রে, মনিটাইজেশনের একটি লেনদেনের গ্রস বা নেট মূল্য জানা প্রয়োজন। এটি ট্রানজ্যাকশন রেকর্ডিং পলিসিতে আপনার করা সেটিংস থেকে গ্রস বা নেট মূল্য সংগ্রহ করে।
যদি আপনি একটি রেট কার্ড প্ল্যান সেট আপ করেন, যেখানে আপনি প্রতিটি লেনদেনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি একটি কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানটির রেট নির্ধারণ করতে পারেন, যেমন একটি লেনদেনে প্রেরিত বাইটের সংখ্যা। মনিটাইজেশনকে জানতে হবে কাস্টম অ্যাট্রিবিউটটি কী এবং এটি কোথায় পাওয়া যাবে। তাই আপনাকে ট্রানজ্যাকশন রেকর্ডিং পলিসিতে কাস্টম অ্যাট্রিবিউটটি নির্দিষ্ট করে দিতে হবে।
ট্রানজ্যাকশন রেকর্ডিং পলিসিতে ট্রানজ্যাকশন অ্যাট্রিবিউট নির্দিষ্ট করার পাশাপাশি, কখন একটি ট্রানজ্যাকশন সফল হবে (চার্জ করার উদ্দেশ্যে) তা নির্ধারণ করতে আপনি ট্রানজ্যাকশন সফলতার মানদণ্ডও নির্দিষ্ট করতে পারেন। ট্রানজ্যাকশন সফলতার মানদণ্ড নির্ধারণের উদাহরণের জন্য, “একটি ট্রানজ্যাকশন রেকর্ডিং পলিসিতে ট্রানজ্যাকশন সফলতার মানদণ্ড নির্ধারণের উদাহরণ” দেখুন। এছাড়াও আপনি একটি এপিআই প্রোডাক্টের জন্য কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন (যার উপর ভিত্তি করে আপনি রেট প্ল্যানের চার্জ নির্ধারণ করেন)।
লেনদেন রেকর্ডিং নীতি কনফিগার করা
নিচে বর্ণিত পদ্ধতি অনুযায়ী প্রোডাক্ট বান্ডেল পেজটি অ্যাক্সেস করুন।
প্রান্ত
Edge UI ব্যবহার করে একটি API প্রোডাক্ট বান্ডেল যোগ করার সময়, আপনাকে নিম্নলিখিত ধাপগুলি অনুসরণ করে ট্রানজ্যাকশন রেকর্ডিং পলিসি কনফিগার করতে হবে:
- ট্রানজ্যাকশন রেকর্ডিং পলিসি বিভাগে কনফিগার করার জন্য এপিআই প্রোডাক্টটি নির্বাচন করুন (যদি প্রোডাক্ট বান্ডেলে একাধিক এপিআই প্রোডাক্ট থাকে)।
- লেনদেনের বৈশিষ্ট্যগুলো কনফিগার করুন ।
- কাস্টম অ্যাট্রিবিউট কনফিগার করুন ।
- অনন্য লেনদেন আইডি দিয়ে রিসোর্সসমূহকে সংযুক্ত করুন ।
- রিফান্ড কনফিগার করুন ।
- এপিআই প্রোডাক্ট বান্ডেলে সংজ্ঞায়িত প্রতিটি এপিআই প্রোডাক্টের জন্য এটি পুনরাবৃত্তি করুন।
ক্লাসিক এজ (প্রাইভেট ক্লাউড)
ক্লাসিক এজ UI ব্যবহার করে একটি ট্রানজ্যাকশন রেকর্ডিং পলিসি কনফিগার করতে:
-
http:// ms-ip :9000এ সাইন ইন করুন, যেখানে ms-ip হলো ম্যানেজমেন্ট সার্ভার নোডের আইপি অ্যাড্রেস বা ডিএনএস নেম। - উপরের নেভিগেশন বার থেকে প্রকাশ > পণ্য নির্বাচন করুন।
- প্রযোজ্য API প্রোডাক্টের সারিতে থাকা + ট্রানজ্যাকশন রেকর্ডিং পলিসি-তে ক্লিক করুন। নিউ ট্রানজ্যাকশন রেকর্ডিং পলিসি উইন্ডোটি প্রদর্শিত হবে।
- নিম্নলিখিত ধাপগুলি অনুসরণ করে লেনদেন রেকর্ডিং নীতিটি কনফিগার করুন:
- সংরক্ষণ করুন- এ ক্লিক করুন।
লেনদেনের বৈশিষ্ট্য কনফিগার করা
ট্রানজ্যাকশন অ্যাট্রিবিউটস বিভাগে, একটি সফল নগদীকরণ লেনদেন নির্দেশকারী মানদণ্ডগুলো উল্লেখ করুন।
- ট্রানজ্যাকশন সাকসেস ক্রাইটেরিয়া ফিল্ডে, ট্রানজ্যাকশনটি কখন সফল হবে (চার্জ করার উদ্দেশ্যে) তা নির্ধারণ করার জন্য স্ট্যাটাস অ্যাট্রিবিউটের (যা পরবর্তীতে বর্ণনা করা হয়েছে) মানের উপর ভিত্তি করে এক্সপ্রেশনটি উল্লেখ করুন। যে ট্রানজ্যাকশনগুলো সফল হয় না (অর্থাৎ, যেগুলো এক্সপ্রেশনে উল্লেখিত শর্ত পূরণ করে না), সেগুলো রেকর্ড করা হয়, কিন্তু সেগুলোর উপর রেট প্ল্যান প্রয়োগ করা হয় না। উদাহরণস্বরূপ:
txProviderStatus == 'OK' - Status অ্যাট্রিবিউটে সেই মানটি থাকে যা Transaction Success Criteria ফিল্ডে কনফিগার করা এক্সপ্রেশন দ্বারা ব্যবহৃত হয়। নিম্নলিখিত ফিল্ডগুলি সংজ্ঞায়িত করে Status অ্যাট্রিবিউটটি কনফিগার করুন:
মাঠ বর্ণনা এপিআই রিসোর্স এপিআই প্রোডাক্টে সংজ্ঞায়িত ইউআরআই প্যাটার্নগুলো, যা নগদীকৃত লেনদেন শনাক্ত করতে ব্যবহৃত হবে। প্রতিক্রিয়ার অবস্থান রেসপন্সের সেই স্থান যেখানে অ্যাট্রিবিউটটি নির্দিষ্ট করা থাকে। বৈধ মানগুলো হলো: ফ্লো ভ্যারিয়েবল, হেডার, JSON বডি এবং XML বডি। মূল্য প্রতিক্রিয়ার মান। একাধিক মান নির্দিষ্ট করতে, + Add x- এ ক্লিক করুন (উদাহরণস্বরূপ, + Add Flow Variable )। - ঐচ্ছিক লেনদেন অ্যাট্রিবিউটগুলো কনফিগার করতে, ‘Use Optional Attributes’ টগলটি সক্রিয় করুন এবং নিম্নলিখিত সারণীতে সংজ্ঞায়িত যেকোনো লেনদেন অ্যাট্রিবিউট কনফিগার করুন।
বৈশিষ্ট্য বর্ণনা মোট মূল্য এই অ্যাট্রিবিউটটি শুধুমাত্র সেইসব রেট প্ল্যানের জন্য প্রযোজ্য যেগুলো রেভিনিউ শেয়ার মডেল ব্যবহার করে। সেইসব রেট প্ল্যানের জন্য, গ্রস প্রাইস অথবা নেট প্রাইস-এর যেকোনো একটি বাধ্যতামূলক। নিশ্চিত করুন যে সাংখ্যিক মানটি স্ট্রিং টাইপ হিসাবে প্রকাশ করা হয়েছে। একটি লেনদেনের গ্রস প্রাইস। রেভিনিউ শেয়ার প্ল্যানের জন্য, আপনাকে গ্রস প্রাইস অ্যাট্রিবিউট অথবা নেট প্রাইস অ্যাট্রিবিউট রেকর্ড করতে হবে। কোন অ্যাট্রিবিউটটি প্রয়োজন তা রেভিনিউ শেয়ারের ভিত্তির উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি একটি লেনদেনের গ্রস প্রাইসের উপর ভিত্তি করে একটি রেভিনিউ শেয়ার রেট প্ল্যান সেট আপ করতে পারেন। সেক্ষেত্রে, গ্রস প্রাইস ফিল্ডটি আবশ্যক।
নেট মূল্য এই অ্যাট্রিবিউটটি শুধুমাত্র সেইসব রেট প্ল্যানের জন্য প্রযোজ্য যেগুলো রেভিনিউ শেয়ার মডেল ব্যবহার করে। সেইসব রেট প্ল্যানের জন্য, গ্রস প্রাইস অথবা নেট প্রাইস-এর যেকোনো একটি বাধ্যতামূলক। নিশ্চিত করুন যে সংখ্যাসূচক মানটি স্ট্রিং টাইপ হিসাবে প্রকাশ করা হয়েছে। একটি লেনদেনের নেট প্রাইস। রেভিনিউ শেয়ার প্ল্যানের জন্য, আপনাকে হয় নেট প্রাইস ফিল্ড অথবা গ্রস প্রাইস ফিল্ড রেকর্ড করতে হবে। কোন ফিল্ডটি আবশ্যক তা রেভিনিউ শেয়ারের ভিত্তির উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি একটি লেনদেনের নেট প্রাইসের উপর ভিত্তি করে একটি রেভিনিউ শেয়ার রেট প্ল্যান সেট আপ করতে পারেন। সেক্ষেত্রে, নেট প্রাইস ফিল্ডটি আবশ্যক।
মুদ্রা যেসব রেট প্ল্যান রেভিনিউ শেয়ার মডেল ব্যবহার করে, সেগুলোর জন্য এই অ্যাট্রিবিউটটি আবশ্যক। লেনদেনের ক্ষেত্রে প্রযোজ্য মুদ্রার ধরন।
ত্রুটি কোড লেনদেনের সাথে সম্পর্কিত ত্রুটি কোড। এটি একটি ব্যর্থ লেনদেন সম্পর্কে আরও তথ্য প্রদান করে।
পণ্যের বিবরণ লেনদেনটির বিবরণ।
কর এই অ্যাট্রিবিউটটি শুধুমাত্র রেভিনিউ শেয়ারিং মডেলের জন্য প্রাসঙ্গিক এবং শুধুমাত্র তখনই যখন এপিআই কলে ট্যাক্সের পরিমাণ অন্তর্ভুক্ত করা হয়। নিশ্চিত করুন যে সংখ্যাসূচক মানটি স্ট্রিং টাইপ হিসাবে প্রকাশ করা হয়েছে। ক্রয়ের উপর ট্যাক্সের পরিমাণ। নেট মূল্য + ট্যাক্স = মোট মূল্য।
উদাহরণস্বরূপ, নিম্নলিখিত মানগুলি সেট করার মাধ্যমে, মনিটাইজেশন মেসেজ রেসপন্স থেকে ফ্লো ভেরিয়েবলের মানটি response.reason.phrase নামক একটি ভেরিয়েবলে গ্রহণ করে। যদি মানটি OK হয়, এবং API প্রক্সি ProxyEndpoint রিকোয়েস্টের সাথে Monetization Limits Check পলিসিটি সংযুক্ত থাকে, তাহলে মনিটাইজেশন এটিকে একটি ট্রানজ্যাকশন হিসেবে গণ্য করে।
| মাঠ | মূল্য |
|---|---|
| লেনদেন সফলতার মানদণ্ড | txProviderStatus == 'OK' |
| অবস্থা: এপিআই রিসোর্স | ** |
| অবস্থা: প্রতিক্রিয়া অবস্থান | প্রবাহ পরিবর্তনশীল |
| অবস্থা: প্রবাহ পরিবর্তনশীল | response.reason.phrase |
কাস্টম অ্যাট্রিবিউট কনফিগার করা
কাস্টম অ্যাট্রিবিউটস বিভাগে, আপনি ট্রানজ্যাকশন রেকর্ডিং পলিসিতে অন্তর্ভুক্ত করার জন্য কাস্টম অ্যাট্রিবিউটগুলো চিহ্নিত করেন। উদাহরণস্বরূপ, যদি আপনি একটি রেট কার্ড প্ল্যান সেট আপ করেন, যেখানে আপনি প্রতিটি ট্রানজ্যাকশনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি একটি ট্রানজ্যাকশনে প্রেরিত বাইটের সংখ্যার মতো কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানটির রেট নির্ধারণ করতে পারেন। এরপর আপনাকে সেই কাস্টম অ্যাট্রিবিউটটি ট্রানজ্যাকশন রেকর্ডিং পলিসিতে অন্তর্ভুক্ত করতে হবে।
এই প্রতিটি বৈশিষ্ট্য ট্রানজ্যাকশন লগে সংরক্ষিত থাকে, যা আপনি কোয়েরি করতে পারেন। যখন আপনি একটি রেট প্ল্যান তৈরি করেন, তখনও এগুলি প্রদর্শিত হয় (যাতে আপনি প্ল্যানটির রেট নির্ধারণের জন্য এই বৈশিষ্ট্যগুলির মধ্যে এক বা একাধিক বেছে নিতে পারেন)।
"রাজস্ব সারাংশ প্রতিবেদনে কাস্টম লেনদেন অ্যাট্রিবিউট অন্তর্ভুক্ত করা" অংশে বর্ণিত পদ্ধতি অনুসারে, আপনি আপনার রাজস্ব সারাংশ প্রতিবেদনে লেনদেন রেকর্ডিং নীতিতে সংজ্ঞায়িত কাস্টম অ্যাট্রিবিউটগুলো অন্তর্ভুক্ত করতে পারেন।
কাস্টম অ্যাট্রিবিউট কনফিগার করতে, ‘Use Custom Attributes’ টগলটি সক্রিয় করুন এবং সর্বোচ্চ ১০টি কাস্টম অ্যাট্রিবিউট নির্ধারণ করুন। ট্রানজ্যাকশন রেকর্ডিং পলিসিতে অন্তর্ভুক্ত প্রতিটি কাস্টম অ্যাট্রিবিউটের জন্য আপনাকে নিম্নলিখিত তথ্যগুলো উল্লেখ করতে হবে।
| মাঠ | বর্ণনা |
|---|---|
| কাস্টম অ্যাট্রিবিউটের নাম | কাস্টম অ্যাট্রিবিউটটির বর্ণনা দেয় এমন একটি নাম লিখুন। যদি রেট প্ল্যানটি কোনো কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে তৈরি হয়, তাহলে এই নামটি রেট প্ল্যানের বিবরণে ব্যবহারকারীকে দেখানো হয়। উদাহরণস্বরূপ, যদি কাস্টম অ্যাট্রিবিউটটি সময়কাল পরিমাপ করে, তাহলে অ্যাট্রিবিউটটির নাম 'duration' রাখা উচিত। কাস্টম অ্যাট্রিবিউটের প্রকৃত একক (যেমন ঘন্টা, মিনিট বা সেকেন্ড) রেটিং ইউনিট ফিল্ডে সেট করা হয় যখন আপনি একটি কাস্টম অ্যাট্রিবিউট রেট প্ল্যান তৈরি করেন (দেখুন 'কাস্টম অ্যাট্রিবিউটের বিবরণ সহ রেট প্ল্যান নির্দিষ্ট করুন ')। |
| এপিআই রিসোর্স | ট্রানজ্যাকশনে অ্যাক্সেস করা কোনো এপিআই রিসোর্সের এক বা একাধিক ইউআরআই সাফিক্স (অর্থাৎ, বেস পাথের পরের ইউআরআই খণ্ডাংশ) নির্বাচন করুন। উপলব্ধ রিসোর্সগুলো ট্রানজ্যাকশন অ্যাট্রিবিউটের মতোই। |
| প্রতিক্রিয়ার অবস্থান | রেসপন্সের মধ্যে সেই স্থানটি নির্বাচন করুন যেখানে অ্যাট্রিবিউটটি নির্দিষ্ট করা আছে। বৈধ মানগুলো হলো: ফ্লো ভ্যারিয়েবল, হেডার, JSON বডি, এবং XML বডি। |
| মূল্য | কাস্টম অ্যাট্রিবিউটের জন্য একটি মান নির্দিষ্ট করুন। আপনার নির্দিষ্ট করা প্রতিটি মান একটি ফিল্ড, প্যারামিটার বা কন্টেন্ট এলিমেন্টের সাথে সম্পর্কিত, যা আপনার নির্দিষ্ট করা স্থানে কাস্টম অ্যাট্রিবিউটটি সরবরাহ করে। একাধিক মান নির্দিষ্ট করতে, + Add x- এ ক্লিক করুন (উদাহরণস্বরূপ, + Add Flow Variable )। উদাহরণস্বরূপ, যদি আপনি Content Length নামের একটি কাস্টম অ্যাট্রিবিউট কনফিগার করেন এবং রেসপন্স লোকেশন হিসেবে Header নির্বাচন করেন, এবং HTTP Content-Length ফিল্ডে Content Length ভ্যালুটি দেওয়া থাকে, তাহলে আপনাকে ভ্যালু হিসেবে |
অনন্য লেনদেন আইডি দিয়ে রিসোর্স লিঙ্ক করুন
কিছু লেনদেন সহজ হয়, যেখানে একটিমাত্র রিসোর্সে এপিআই (API) কল করা হয়। তবে, অন্যান্য লেনদেন আরও জটিল হতে পারে। উদাহরণস্বরূপ, ধরা যাক একটি মোবাইল গেমিং অ্যাপে কোনো ইন-অ্যাপ পণ্য কেনার লেনদেনের জন্য একাধিক রিসোর্স কল করতে হয়:
- একটি রিজার্ভ এপিআই-কে করা কল, যা নিশ্চিত করে যে একজন প্রিপেইড ব্যবহারকারীর পণ্যটি কেনার জন্য পর্যাপ্ত ক্রেডিট আছে এবং ক্রয়ের জন্য তহবিল বরাদ্দ ("রিজার্ভ") করে।
- একটি চার্জ এপিআই-কে কল করা হয়, যা প্রিপেইড ব্যবহারকারীর অ্যাকাউন্ট থেকে অর্থ কেটে নেয়।
সম্পূর্ণ লেনদেনটি প্রক্রিয়া করার জন্য, মনিটাইজেশনের প্রথম রিসোর্সকে (রিজার্ভ এপিআই-এর সাথে কল এবং রেসপন্স) দ্বিতীয় রিসোর্সের (চার্জ এপিআই-এর সাথে কল এবং রেসপন্স) সাথে সংযুক্ত করার একটি উপায় প্রয়োজন। এটি করার জন্য, এটি 'লিঙ্ক রিসোর্সেস উইথ ইউনিক ট্রানজ্যাকশন আইডি' বিভাগে আপনার নির্দিষ্ট করা তথ্যের উপর নির্ভর করে।
কাস্টম অ্যাট্রিবিউট কনফিগার করতে, ‘Use Unique Transaction IDs’ টগলটি সক্রিয় করুন এবং ট্রানজ্যাকশনগুলো লিঙ্ক করুন। প্রতিটি ট্রানজ্যাকশনের জন্য, আপনাকে একটি রিসোর্স, রেসপন্স লোকেশন এবং অ্যাট্রিবিউট ভ্যালু নির্দিষ্ট করতে হবে, যা অন্য ট্রানজ্যাকশনগুলোর সংশ্লিষ্ট ভ্যালুগুলোর সাথে লিঙ্ক করা থাকে।
উদাহরণস্বরূপ, ধরুন রিজার্ভ এপিআই কল এবং চার্জ এপিআই কল নিম্নরূপভাবে লিঙ্ক করা আছে: রিজার্ভ এপিআই থেকে প্রাপ্ত রেসপন্স হেডারের session_id নামক একটি ফিল্ড, চার্জ এপিআই থেকে প্রাপ্ত reference_id নামক রেসপন্স হেডারের সাথে সঙ্গতিপূর্ণ। এই ক্ষেত্রে, আপনি 'Link Resources with Unique Transaction ID' সেকশনে এন্ট্রিগুলো নিম্নরূপভাবে সেট করতে পারেন:
| সম্পদ | প্রতিক্রিয়ার অবস্থান | মূল্য |
|---|---|---|
reserve/{id}** | হেডার | session_id |
/charge/{id}** | হেডার | reference_id |
রিফান্ড কনফিগার করা
রিফান্ড বিভাগে , আপনি সেই অ্যাট্রিবিউটগুলো নির্দিষ্ট করেন যা মনিটাইজেশন রিফান্ড প্রক্রিয়া করতে ব্যবহার করে।
উদাহরণস্বরূপ, ধরুন একজন ব্যবহারকারী আপনার মনিটাইজড এপিআই ব্যবহার করে এমন একটি মোবাইল অ্যাপ থেকে একটি পণ্য কেনেন। লেনদেনটি শেয়ার্ড রেভিনিউ প্ল্যানের উপর ভিত্তি করে মনিটাইজ করা হয়। তবে, ধরুন ব্যবহারকারী পণ্যটি নিয়ে অসন্তুষ্ট এবং এটি ফেরত দিতে চান। যদি রিফান্ডকারী আপনার এপিআই-কে কল করে পণ্যটির মূল্য ফেরত দেওয়া হয়, তাহলে মনিটাইজেশন প্রয়োজনীয় সমন্বয় সাধন করে। এটি ট্রানজ্যাকশন রেকর্ডিং পলিসির 'রিফান্ডস' বিভাগে আপনার নির্দিষ্ট করা তথ্যের উপর ভিত্তি করে এই কাজটি করে থাকে।
রিফান্ড কনফিগার করতে, 'Use Refund Attributes' টগলটি সক্রিয় করুন এবং রিফান্ডের বিবরণ নির্ধারণ করুন:
- নিম্নলিখিত ক্ষেত্রগুলি নির্ধারণ করে ফেরতের মানদণ্ড সংজ্ঞায়িত করুন:
মাঠ বর্ণনা প্রতিক্রিয়ার অবস্থান রিফান্ড লেনদেনের জন্য রিসোর্স। যদি এপিআই প্রোডাক্টটি একাধিক রিসোর্স প্রদান করে, তবে আপনি শুধুমাত্র সেই রিসোর্সটি নির্বাচন করতে পারেন যা রিফান্ড সম্পন্ন করে। ফেরতের সাফল্যের মানদণ্ড রিফান্ড ট্রানজ্যাকশন কখন সফল (চার্জ করার উদ্দেশ্যে) তা নির্ধারণ করার জন্য, স্ট্যাটাস অ্যাট্রিবিউটের (যা পরবর্তীতে বর্ণনা করা হয়েছে) মানের উপর ভিত্তি করে একটি এক্সপ্রেশন। যে রিফান্ড ট্রানজ্যাকশনগুলো সফল হয় না (অর্থাৎ, যেগুলো এক্সপ্রেশনের শর্ত পূরণ করে না), সেগুলো রেকর্ড করা হয়, কিন্তু সেগুলোর উপর রেট প্ল্যান প্রয়োগ করা হয় না। উদাহরণস্বরূপ: txProviderStatus == 'OK' - নিম্নলিখিত ফিল্ডগুলি নির্ধারণ করে স্ট্যাটাস অ্যাট্রিবিউটটি কনফিগার করুন:
মাঠ বর্ণনা প্রতিক্রিয়ার অবস্থান রেসপন্সের সেই স্থান যেখানে অ্যাট্রিবিউটটি নির্দিষ্ট করা থাকে। বৈধ মানগুলো হলো: ফ্লো ভ্যারিয়েবল, হেডার, JSON বডি এবং XML বডি। মূল্য প্রতিক্রিয়ার মান। একাধিক মান নির্দিষ্ট করতে, + Add x- এ ক্লিক করুন (উদাহরণস্বরূপ, + Add Flow Variable )। - নিম্নলিখিত ফিল্ডগুলি নির্ধারণ করে প্যারেন্ট আইডি অ্যাট্রিবিউটটি কনফিগার করুন:
মাঠ বর্ণনা প্রতিক্রিয়ার অবস্থান রেসপন্সের সেই স্থান যেখানে অ্যাট্রিবিউটটি নির্দিষ্ট করা থাকে। বৈধ মানগুলো হলো: ফ্লো ভ্যারিয়েবল, হেডার, JSON বডি এবং XML বডি। মূল্য যে লেনদেনের জন্য অর্থ ফেরত প্রক্রিয়া করা হয়, তার আইডি। উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারী একটি পণ্য কেনেন এবং তারপর অর্থ ফেরতের জন্য অনুরোধ করেন, তাহলে প্যারেন্ট ট্রানজ্যাকশন আইডি হলো ক্রয় লেনদেনের আইডি। একাধিক মান নির্দিষ্ট করতে, + অ্যাড x-এ ক্লিক করুন (উদাহরণস্বরূপ, + অ্যাড ফ্লো ভ্যারিয়েবল )। - ঐচ্ছিক রিফান্ড অ্যাট্রিবিউট কনফিগার করতে, ‘Use Optional Refund Attributes’ টগলটি সক্রিয় করুন এবং অ্যাট্রিবিউটগুলো কনফিগার করুন। ঐচ্ছিক রিফান্ড অ্যাট্রিবিউটগুলো, ‘ Configuring transaction attributes’ অংশে সংজ্ঞায়িত ঐচ্ছিক ট্রানজ্যাকশন অ্যাট্রিবিউটগুলোর মতোই।
এপিআই ব্যবহার করে লেনদেন রেকর্ডিং নীতি পরিচালনা করা
নিম্নলিখিত বিভাগগুলিতে এপিআই ব্যবহার করে লেনদেন রেকর্ডিং নীতিগুলি কীভাবে পরিচালনা করতে হয় তা বর্ণনা করা হয়েছে।
এপিআই ব্যবহার করে একটি লেনদেন রেকর্ডিং নীতি তৈরি করা
আপনি একটি এপিআই প্রোডাক্টের অ্যাট্রিবিউট হিসেবে একটি ট্রানজ্যাকশন রেকর্ডিং পলিসি নির্দিষ্ট করেন। অ্যাট্রিবিউটটির মান যা শনাক্ত করে তা হলো:
- প্রোডাক্ট রিসোর্সের URI সাফিক্স, যার সাথে ট্রানজ্যাকশন রেকর্ডিং পলিসি সংযুক্ত থাকে। এই সাফিক্সে একটি প্যাটার্ন ভেরিয়েবল থাকে যা কার্লি ব্র্যাকেটের মধ্যে আবদ্ধ থাকে। রানটাইমে API সার্ভিসগুলো এই প্যাটার্ন ভেরিয়েবলটি মূল্যায়ন করে। উদাহরণস্বরূপ, নিম্নলিখিত URI সাফিক্সে
{id}প্যাটার্ন ভেরিয়েবলটি অন্তর্ভুক্ত রয়েছে।/reserve/{id}**এক্ষেত্রে, এপিআই সার্ভিসেস রিসোর্সটির ইউআরআই সাফিক্সকে
/reserveএবং এর পরে এপিআই প্রোভাইডার দ্বারা সংজ্ঞায়িত একটি আইডি দিয়ে শুরু হওয়া যেকোনো সাব-ডিরেক্টরি হিসেবে মূল্যায়ন করে। - রেসপন্সের মধ্যে থাকা রিসোর্স যার সাথে এটি সংযুক্ত থাকে। একটি এপিআই প্রোডাক্টের একাধিক রিসোর্স থাকতে পারে এবং প্রতিটি রিসোর্সের রেসপন্সের সাথে একটি ট্রানজ্যাকশন রেকর্ডিং পলিসি সংযুক্ত থাকতে পারে।
- একটি এক্সট্র্যাক্ট ভ্যারিয়েবল পলিসি যা ট্রানজ্যাকশন রেকর্ডিং পলিসিকে, আপনার ক্যাপচার করতে চাওয়া ট্রানজ্যাকশন প্যারামিটারগুলোর জন্য একটি রেসপন্স মেসেজ থেকে কন্টেন্ট এক্সট্র্যাক্ট করতে সক্ষম করে।
একটি এপিআই প্রোডাক্টে ট্রানজ্যাকশন রেকর্ডিং পলিসি অ্যাট্রিবিউট যোগ করার জন্য, আপনাকে ম্যানেজমেন্ট এপিআই https://api.enterprise.apigee.com/v1/organizations/ {org_name} /apiproducts/ {apiproduct_Id} -এ একটি PUT রিকোয়েস্ট পাঠাতে হবে (কোনো মনিটাইজেশন এপিআই-তে নয়)।
এপিআই ব্যবহার করে লেনদেনের সফলতার মানদণ্ড নির্দিষ্ট করা
কখন একটি লেনদেন সফল হবে (চার্জ করার উদ্দেশ্যে) তা নির্ধারণ করার জন্য আপনি লেনদেন সফলতার মানদণ্ড নির্দিষ্ট করতে পারেন। যে লেনদেনগুলো সফল হয় না (অর্থাৎ, সেগুলো এক্সপ্রেশনে থাকা মানদণ্ড পূরণ করে না), সেগুলো রেকর্ড করা হয়, কিন্তু সেগুলোর উপর রেট প্ল্যান প্রয়োগ করা হয় না। লেনদেন সফলতার মানদণ্ড নির্ধারণের উদাহরণের জন্য, একটি লেনদেন রেকর্ডিং পলিসিতে লেনদেন সফলতার মানদণ্ড নির্ধারণের উদাহরণ দেখুন।
আপনি একটি এপিআই প্রোডাক্টের অ্যাট্রিবিউট হিসেবে ট্রানজ্যাকশন সফলতার মানদণ্ড নির্দিষ্ট করেন। এটি করার জন্য, ম্যানেজমেন্ট এপিআই https://api.enterprise.apigee.com/v1/organizations/ {org_name} /apiproducts/ {apiproduct_Id} -এ একটি PUT রিকোয়েস্ট পাঠান (মনিটাইজেশন এপিআই-তে নয়)।
উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধে একটি লেনদেন সফল হয় যদি txProviderStatus এর মান success হয় (লেনদেন সফল হওয়ার মানদণ্ড-সম্পর্কিত নির্দিষ্ট বিবরণগুলো হাইলাইট করা হয়েছে)।
$ curl -H "Content-Type: application/json" -X PUT -d \
'{
"apiResources": [
"/reserve/{id}**"
],
"approvalType": "auto",
"attributes": [
{
"name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
"value": "txProviderStatus == 'OK'"
}
],
"description": "Payment",
"displayName": "Payment",
"environments": [
"dev"
],
"name": "payment",
"proxies": [],
"scopes": [
""
]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password
এপিআই ব্যবহার করে কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করা
আপনি একটি এপিআই প্রোডাক্টের জন্য কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন, যার উপর ভিত্তি করে আপনি রেট প্ল্যানের চার্জ নির্ধারণ করেন। উদাহরণস্বরূপ, যদি আপনি একটি রেট কার্ড প্ল্যান সেট আপ করেন, যেখানে আপনি প্রতিটি লেনদেনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি একটি লেনদেনে প্রেরিত বাইটের সংখ্যার মতো কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানটির রেট নির্ধারণ করতে পারেন। যখন আপনি একটি রেট প্ল্যান তৈরি করেন, তখন আপনি প্ল্যানটির রেট নির্ধারণের জন্য এক বা একাধিক কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন। তবে, একটি রেট প্ল্যানের যেকোনো নির্দিষ্ট প্রোডাক্টে, প্ল্যানটির রেট নির্ধারণের জন্য শুধুমাত্র একটি কাস্টম অ্যাট্রিবিউট থাকতে পারে।
আপনি একটি এপিআই প্রোডাক্টের অ্যাট্রিবিউট হিসেবে কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন। এটি করার জন্য, ম্যানেজমেন্ট এপিআই https://api.enterprise.apigee.com/v1/organizations/ {org_name} /apiproducts/ {apiproduct_Id} -এ একটি PUT রিকোয়েস্ট পাঠান (মনিটাইজেশন এপিআই-তে নয়)।
একটি API প্রোডাক্টে আপনি যে প্রতিটি কাস্টম অ্যাট্রিবিউট যোগ করেন, তার জন্য আপনাকে একটি নাম এবং একটি অ্যাট্রিবিউট ভ্যালু নির্দিষ্ট করতে হবে। নামটি অবশ্যই MINT_CUSTOM_ATTRIBUTE_ {num} আকারে হতে হবে, যেখানে {num} একটি পূর্ণসংখ্যা।
উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটিতে তিনটি কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করা হয়েছে।
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**", "/charge/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_CUSTOM_ATTRIBUTE_1", "value": "test1" }, { "name": "MINT_CUSTOM_ATTRIBUTE_2", "value": "test2" } ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
একটি লেনদেন রেকর্ডিং নীতিতে লেনদেনের সফলতার মানদণ্ড নির্ধারণের উদাহরণ
নিম্নলিখিত সারণীটি, ট্রানজ্যাকশন সফলতার মানদণ্ড এক্সপ্রেশন এবং এপিআই প্রক্সি দ্বারা ফেরত দেওয়া txProviderStatus মানের উপর ভিত্তি করে, সফল ও অসফল ট্রানজ্যাকশনের উদাহরণ প্রদান করে। txProviderStatus হলো একটি অভ্যন্তরীণ ভেরিয়েবল যা মনিটাইজেশন ট্রানজ্যাকশনের সাফল্য নির্ধারণ করতে ব্যবহার করে।
| সাফল্যের মানদণ্ড প্রকাশ | বৈধ অভিব্যক্তি? | এপিআই প্রক্সি থেকে txProviderStatus মান | মূল্যায়ন ফলাফল |
|---|---|---|---|
null | সত্য | "200" | মিথ্যা |
"" | মিথ্যা | "200" | মিথ্যা |
" " | মিথ্যা | "200" | মিথ্যা |
"sdfsdfsdf" | মিথ্যা | "200" | মিথ্যা |
"txProviderStatus =='100'" | সত্য | "200" | মিথ্যা |
"txProviderStatus =='200'" | সত্য | "200" | সত্য |
"true" | সত্য | "200" | সত্য |
"txProviderStatus=='OK' OR | সত্য | "OK" | সত্য |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" | সত্য | "OK" | সত্য |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" | সত্য | "Not Found" | সত্য |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" | সত্য | "Bad Request" | সত্য |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | "Bad Request" | সত্য |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | null | মিথ্যা |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | "bad request" | সত্য |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | "Redirect" | মিথ্যা |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | "heeeelllooo" | মিথ্যা |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" | সত্য | null | মিথ্যা |
"txProviderStatus == 100" | সত্য | "200" | মিথ্যা |