আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
আপনার API প্রোডাক্ট বান্ডেলের প্রতিটি API প্রোডাক্টের জন্য ট্রানজ্যাকশন রেকর্ডিং নীতি কনফিগার করুন, যা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।
ভূমিকা
ট্রানজ্যাকশন রেকর্ডিং নীতি, ট্রানজ্যাকশন প্যারামিটার ও কাস্টম অ্যাট্রিবিউট ক্যাপচার করার জন্য মনিটাইজেশন চালু করে। মনিটাইজেশন প্রসেস করার জন্য মনিটাইজেশনের এই তথ্য প্রয়োজন যেমন, রেট প্ল্যান প্রয়োগ করা।
যেমন, আপনি যদি উপার্জনের শেয়ারের রেট প্ল্যান সেট-আপ করেন, তাহলে আপনার মনিটাইজ করা API প্রোডাক্টের সাথে যুক্ত প্রতিটি ট্রানজ্যাকশন থেকে হওয়া উপার্জনের একটি শতাংশ অনুরোধ ইস্যু করা অ্যাপের ডেভেলপারের সাথে শেয়ার করা হয়। ট্রানজ্যাকশনের নিট বা গ্রস মূল্যের (আপনি যেটি নির্দিষ্ট করবেন) উপর ভিত্তি করে উপার্জনের শেয়ার নির্ধারণ করা হয়, অর্থাৎ, প্রতিটি ট্রানজ্যাকশনের গ্রস বা নিট মূল্যের একটি শতকরা হার উপার্জনের শেয়ার নির্ধারণ করতে ব্যবহার করা হয়। এই কারণে, প্রযোজ্য হলে, মনিটাইজেশনকে ট্রানজ্যাকশনের মোট বা নিট মূল্য জানতে হবে। ট্রানজ্যাকশন রেকর্ডিং নীতিতে আপনার করা সেটিংস থেকে এটি মোট বা নিট মূল্য পায়।
আপনি যদি কোনও রেট কার্ড প্ল্যান সেট-আপ করেন, যেখানে আপনি প্রতিটি ট্রানজ্যাকশনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি কোনও কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানের রেট সেট করতে পারেন, যেমন কোনও ট্রানজ্যাকশনে ট্রান্সমিট করা বাইটের সংখ্যা। মনিটাইজেশনকে জানতে হবে যে কাস্টম অ্যাট্রিবিউট কী এবং এটি কোথায় পাওয়া যাবে। তাই আপনাকে ট্রানজ্যাকশন রেকর্ডিং নীতিতে কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে হবে।
ট্রানজ্যাকশন রেকর্ডিং নীতিতে ট্রানজ্যাকশন অ্যাট্রিবিউট নির্দিষ্ট করা ছাড়াও, আপনি ট্রানজ্যাকশন সফল হওয়ার মাপকাঠি নির্দিষ্ট করতে পারেন, যাতে কোনও ট্রানজ্যাকশন কখন সফল হয়েছে তা নির্ধারণ করা যায় (চার্জ করার উদ্দেশ্যে)। ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড সেট করার উদাহরণের জন্য, ট্রানজ্যাকশন রেকর্ডিং নীতিতে ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড সেট করার উদাহরণ দেখুন। এছাড়াও, আপনি API প্রোডাক্টের জন্য কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন (যেটির উপর ভিত্তি করে আপনি রেট প্ল্যানের চার্জ নির্ধারণ করেন)।
ট্রানজ্যাকশন রেকর্ডিং নীতি কনফিগার করা
নিচে বর্ণনা করা পদ্ধতি অনুযায়ী প্রোডাক্ট বান্ডেল পৃষ্ঠা অ্যাক্সেস করুন।
Edge
Edge UI ব্যবহার করে API প্রোডাক্ট বান্ডেল যোগ করার সময়, আপনাকে নিম্নলিখিত ধাপগুলি অনুসরণ করে ট্রানজ্যাকশন রেকর্ডিং নীতি কনফিগার করতে হবে:
- ট্রানজ্যাকশন রেকর্ডিং নীতি বিভাগে কনফিগার করার জন্য API প্রোডাক্ট বেছে নিন (প্রোডাক্ট বান্ডেলে একাধিক API প্রোডাক্ট থাকলে)।
- ট্রানজ্যাকশন অ্যাট্রিবিউট কনফিগার করুন।
- কাস্টম অ্যাট্রিবিউট কনফিগার করুন।
- অনন্য ট্রানজ্যাকশন আইডি সহ রিসোর্স লিঙ্ক করুন।
- রিফান্ড কনফিগার করা।
- API প্রোডাক্ট বান্ডেলে সংজ্ঞায়িত প্রতিটি API প্রোডাক্টের জন্য এটি পুনরাবৃত্তি করুন।
ক্লাসিক Edge (প্রাইভেট ক্লাউড)
ক্লাসিক Edge UI ব্যবহার করে ট্রানজ্যাকশন রেকর্ডিং নীতি কনফিগার করতে:
http://ms-ip:9000-এ সাইন-ইন করুন, যেখানে ms-ip হল ম্যানেজমেন্ট সার্ভার নোডের IP অ্যাড্রেস বা DNS নাম।- উপরের নেভিগেশন বারে প্রকাশ করুন > প্রোডাক্ট বিকল্প বেছে নিন।
- প্রযোজ্য API প্রোডাক্টের সারিতে + ট্রানজ্যাকশন রেকর্ডিং নীতি বিকল্পে ক্লিক করুন। নতুন ট্রানজ্যাকশন রেকর্ডিং নীতি উইন্ডো দেখানো হয়।
- নিম্নলিখিত ধাপগুলি অনুসরণ করে ট্রানজ্যাকশন রেকর্ডিং নীতি কনফিগার করুন:
- সেভ করুন বিকল্পে ক্লিক করুন।
ট্রানজ্যাকশন অ্যাট্রিবিউট কনফিগার করা
ট্রানজ্যাকশন অ্যাট্রিবিউট বিভাগে, সফল মনিটাইজেশন ট্রানজ্যাকশন নির্দেশ করে এমন মানদণ্ড নির্দিষ্ট করুন।
- ট্রানজ্যাকশন সফল হওয়ার মাপকাঠি ফিল্ডে, ট্রানজ্যাকশন কখন সফল হয়েছে তা নির্ধারণ করার জন্য স্ট্যাটাস অ্যাট্রিবিউটের ভ্যালুর উপর ভিত্তি করে এক্সপ্রেশন নির্দিষ্ট করুন
(পরের অংশে বর্ণনা করা হয়েছে) (চার্জ করার উদ্দেশ্যে)। সফল হয়নি এমন ট্রানজ্যাকশন
(অর্থাৎ, সেগুলি এক্সপ্রেশনের মাপকাঠি পূরণ করে না) রেকর্ড করা হয়, কিন্তু সেগুলিতে রেট প্ল্যান প্রয়োগ করা হয় না। যেমন:
txProviderStatus == 'OK' - স্ট্যাটাস অ্যাট্রিবিউটে সেই ভ্যালু থাকে যা
ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড ফিল্ডে কনফিগার করা এক্সপ্রেশন ব্যবহার করে। নিম্নলিখিত ফিল্ড নির্ধারণ করে স্ট্যাটাস অ্যাট্রিবিউট কনফিগার করুন:
ফিল্ড বিবরণ API রিসোর্স API প্রোডাক্টে URI প্যাটার্ন সংজ্ঞায়িত করা হয় যা মনিটাইজ করা ট্রানজ্যাকশন শনাক্ত করতে ব্যবহার করা হবে। উত্তরের লোকেশন উত্তরের সেই লোকেশন যেখানে অ্যাট্রিবিউট নির্দিষ্ট করা আছে। বৈধ মানের মধ্যে এগুলি অন্তর্ভুক্ত: ফ্লো ভেরিয়েবল, হেডার, JSON বডি ও XML বডি। ভ্যালু উত্তরের ভ্যালু। একাধিক ভ্যালু নির্দিষ্ট করতে, + যোগ করুন x বিকল্পে ক্লিক করুন (যেমন, + ফ্লো ভেরিয়েবল যোগ করুন)। - ঐচ্ছিক ট্রানজ্যাকশন অ্যাট্রিবিউট কনফিগার করতে, ঐচ্ছিক অ্যাট্রিবিউট ব্যবহার করুন টগল চালু করুন এবং
নিম্নলিখিত সারণীতে সংজ্ঞায়িত যেকোনও ট্রানজ্যাকশন অ্যাট্রিবিউট কনফিগার করুন।
অ্যাট্রিবিউট বিবরণ মোট দাম এই অ্যাট্রিবিউট শুধুমাত্র সেইসব রেট প্ল্যানের ক্ষেত্রে প্রযোজ্য যেগুলি উপার্জন শেয়ার করার মডেল ব্যবহার করে। সেইসব রেট প্ল্যানের জন্য, মোট মূল্য বা নিট মূল্য বাধ্যতামূলক। নিশ্চিত করুন যে সংখ্যাসূচক মানটি String টাইপ হিসেবে প্রকাশ করা হয়েছে। ট্রানজ্যাকশনের মোট মূল্য। উপার্জন শেয়ারের প্ল্যানের জন্য, আপনাকে হয় মোট দামের অ্যাট্রিবিউট অথবা নিট দামের অ্যাট্রিবিউট রেকর্ড করতে হবে। কোন অ্যাট্রিবিউট প্রয়োজন তা উপার্জন শেয়ারের ভিত্তিতে নির্ভর করে। যেমন, আপনি এমন একটি উপার্জন শেয়ার রেট প্ল্যান সেট-আপ করতে পারেন যা কোনও ট্রানজ্যাকশনের মোট মূল্যের উপর ভিত্তি করে তৈরি করা হয়। সেই ক্ষেত্রে, মোট দামের ফিল্ডে ভ্যালু লিখতে হবে।
আসল দাম এই অ্যাট্রিবিউট শুধুমাত্র সেইসব রেট প্ল্যানের ক্ষেত্রে প্রযোজ্য যেগুলি উপার্জন শেয়ার করার মডেল ব্যবহার করে। সেইসব রেট প্ল্যানের জন্য, মোট মূল্য বা নিট মূল্য বাধ্যতামূলক। নিশ্চিত করুন যে সংখ্যাসূচক মানটি String টাইপ হিসেবে প্রকাশ করা হয়েছে। ট্রানজ্যাকশনের জন্য মোট মূল্য। উপার্জন শেয়ার করার প্ল্যানের জন্য, আপনাকে নেট প্রাইস ফিল্ড বা গ্রস প্রাইস ফিল্ড রেকর্ড করতে হবে। কোন ফিল্ড পূরণ করতে হবে তা উপার্জনের শেয়ারের ভিত্তিতে নির্ভর করে। যেমন, আপনি এমন একটি উপার্জন শেয়ার করার রেট প্ল্যান সেট-আপ করতে পারেন যা কোনও ট্রানজ্যাকশনের নেট মূল্যের উপর ভিত্তি করে তৈরি করা হয়। সেই ক্ষেত্রে, নিট প্রাইস ফিল্ডে মান লিখতে হবে।
মুদ্রা যেসব রেট প্ল্যানে উপার্জন শেয়ার মডেল ব্যবহার করা হয় সেগুলির জন্য এই অ্যাট্রিবিউট প্রয়োজন। ট্রানজ্যাকশনের ক্ষেত্রে প্রযোজ্য মুদ্রার ধরন।
সমস্যার কোড ট্রানজ্যাকশনের সাথে যুক্ত সমস্যার কোড। এটি ব্যর্থ ট্রানজ্যাকশন সম্পর্কে আরও তথ্য প্রদান করে।
আইটেমের বিবরণ ট্রানজ্যাকশনের বিবরণ।
ট্যাক্স এই অ্যাট্রিবিউট শুধুমাত্র উপার্জন শেয়ারিং মডেলের ক্ষেত্রে প্রাসঙ্গিক এবং শুধুমাত্র তখনই যখন API কলে ট্যাক্সের পরিমাণ ক্যাপচার করা হয়। নিশ্চিত করুন যে সংখ্যাসূচক মানটি স্ট্রিং টাইপ হিসেবে প্রকাশ করা হয়েছে। কেনাকাটার উপর ট্যাক্সের পরিমাণ। মোট দামের সাথে ট্যাক্স যোগ করলে = গ্রস প্রাইস পাওয়া যায়।
যেমন, নিম্নলিখিত ভ্যালু সেট করার মাধ্যমে, মনিটাইজেশন, response.reason.phrase নামের ভেরিয়েবলে মেসেজ রেসপন্স থেকে ফ্লো ভেরিয়েবলের ভ্যালু পায়।
ভ্যালু ঠিক থাকলে এবং
মনিটাইজেশন সংক্রান্ত সীমা চেক করার নীতি
API প্রক্সি ProxyEndpoint অনুরোধের সাথে অ্যাটাচ করা থাকলে, মনিটাইজেশন এটিকে একটি ট্রানজ্যাকশন হিসেবে গণ্য করে।
| ফিল্ড | ভ্যালু |
|---|---|
| ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড | txProviderStatus == 'OK' |
| স্ট্যাটাস: API রিসোর্স | ** |
| স্ট্যাটাস: রেসপন্স লোকেশন | ফ্লো ভেরিয়েবল |
| স্ট্যাটাস: ফ্লো ভেরিয়েবল | response.reason.phrase |
কাস্টম অ্যাট্রিবিউট কনফিগার করা
কাস্টম অ্যাট্রিবিউট বিভাগে, আপনি ট্রানজ্যাকশন রেকর্ডিং নীতিতে অন্তর্ভুক্ত করার জন্য কাস্টম অ্যাট্রিবিউট শনাক্ত করেন। যেমন, আপনি যদি কোনও রেট কার্ড প্ল্যান সেট-আপ করেন, যেখানে আপনি প্রতিটি ট্রানজ্যাকশনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানের রেট সেট করতে পারেন, যেমন কোনও ট্রানজ্যাকশনে ট্রান্সমিট করা বাইটের সংখ্যা। তারপরে, আপনাকে সেই কাস্টম অ্যাট্রিবিউটটি ট্রানজ্যাকশন রেকর্ডিং নীতিতে অন্তর্ভুক্ত করতে হবে।
এইসব অ্যাট্রিবিউট প্রতিটি ট্রানজ্যাকশন লগে সেভ করা হয়, যেগুলি আপনি কোয়েরি করতে পারবেন। এছাড়াও, আপনি যখন কোনও রেট প্ল্যান তৈরি করেন, তখন সেগুলি দেখানো হয় (যাতে আপনি এক বা একাধিক অ্যাট্রিবিউট বেছে নিতে পারেন যার উপর ভিত্তি করে প্ল্যানের রেট নির্ধারণ করা হবে)।
আপনি উপার্জনের সারসংক্ষেপ রিপোর্টে ট্রানজ্যাকশন রেকর্ডিং নীতিতে সংজ্ঞায়িত কাস্টম অ্যাট্রিবিউট অন্তর্ভুক্ত করতে পারেন, যেমনটি উপার্জনের সারসংক্ষেপ রিপোর্টে কাস্টম ট্রানজ্যাকশন অ্যাট্রিবিউট অন্তর্ভুক্ত করা নিবন্ধে বর্ণনা করা হয়েছে।
কাস্টম অ্যাট্রিবিউট কনফিগার করতে, কাস্টম অ্যাট্রিবিউট ব্যবহার করুন টগল চালু করুন এবং সর্বাধিক ১০টি কাস্টম অ্যাট্রিবিউট নির্ধারণ করুন। ট্রানজ্যাকশন রেকর্ডিং নীতিতে অন্তর্ভুক্ত প্রতিটি কাস্টম অ্যাট্রিবিউটের জন্য, আপনাকে নিম্নলিখিত তথ্য উল্লেখ করতে হবে।
| ফিল্ড | বিবরণ |
|---|---|
| কাস্টম অ্যাট্রিবিউটের নাম | কাস্টম অ্যাট্রিবিউটকে বর্ণনা করে এমন একটি নাম লিখুন। রেট প্ল্যান কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে তৈরি হলে, রেট প্ল্যানের বিবরণে এই নাম ব্যবহারকারীকে দেখানো হয়। যেমন, কাস্টম অ্যাট্রিবিউট যদি সময়সীমা ক্যাপচার করে, তাহলে অ্যাট্রিবিউটের নাম সময়সীমা হওয়া উচিত। কাস্টম অ্যাট্রিবিউটের আসল ইউনিট (যেমন, ঘণ্টা, মিনিট বা সেকেন্ড) রেটিং ইউনিট ফিল্ডে সেট করা হয় যখন আপনি কাস্টম অ্যাট্রিবিউট রেট প্ল্যান তৈরি করেন (কাস্টম অ্যাট্রিবিউট বিবরণ সহ রেট প্ল্যান নির্দিষ্ট করুন দেখুন)। |
| API রিসোর্স | ট্রানজ্যাকশনে অ্যাক্সেস করা API রিসোর্সের এক বা একাধিক URI সাফিক্স (অর্থাৎ, বেস পাথ অনুসরণ করে URI ফ্র্যাগমেন্ট) বেছে নিন। ট্রানজ্যাকশন অ্যাট্রিবিউটের জন্য উপলভ্য রিসোর্সগুলি একই। |
| উত্তরের লোকেশন | উত্তরে সেই লোকেশন বেছে নিন যেখানে অ্যাট্রিবিউট উল্লেখ করা হয়েছে। বৈধ মানের মধ্যে এগুলি অন্তর্ভুক্ত: ফ্লো ভেরিয়েবল, হেডার, JSON বডি ও XML বডি। |
| ভ্যালু | কাস্টম অ্যাট্রিবিউটের জন্য একটি মান নির্দিষ্ট করুন। আপনার উল্লেখ করা প্রতিটি ভ্যালু, ফিল্ড, প্যারামিটার,
বা কন্টেন্ট এলিমেন্টের সাথে সম্পর্কিত যা আপনার উল্লেখ করা লোকেশনে কাস্টম অ্যাট্রিবিউট প্রদান করে। একাধিক ভ্যালু নির্দিষ্ট করতে, + যোগ করুন x বিকল্পে ক্লিক করুন (যেমন, + ফ্লো ভেরিয়েবল যোগ করুন)।
যেমন, আপনি যদি 'কন্টেন্টের দৈর্ঘ্য' নামের কাস্টম অ্যাট্রিবিউট কনফিগার করেন এবং উত্তর লোকেশন হিসেবে হেডার বেছে নেন,
HTTP কন্টেন্ট-লেংথ ফিল্ডে কন্টেন্টের দৈর্ঘ্যের ভ্যালু দেওয়া থাকলে, আপনি ভ্যালু হিসেবে |
অনন্য ট্রানজ্যাকশন আইডির সাথে রিসোর্স লিঙ্ক করা
কিছু ট্রানজ্যাকশন খুব সহজ হয়, যেখানে একটি রিসোর্সে এপিআই কল করা হয়। তবে, অন্যান্য ট্রানজ্যাকশন আরও জটিল হতে পারে। যেমন, ধরুন, মোবাইল গেমিং অ্যাপে অ্যাপ-মধ্যস্থ প্রোডাক্ট কেনার জন্য করা ট্রানজ্যাকশনে একাধিক রিসোর্স কল অন্তর্ভুক্ত থাকে:
- রিজার্ভ API-তে কল করা হয় যা নিশ্চিত করে যে প্রি-পেড ব্যবহারকারীর কাছে প্রোডাক্ট কেনার জন্য পর্যাপ্ত ক্রেডিট আছে এবং কেনাকাটার জন্য ফান্ড বরাদ্দ করে ("রিজার্ভ করে")।
- প্রিপেড ব্যবহারকারীর অ্যাকাউন্ট থেকে টাকা কেটে নেওয়ার জন্য চার্জ API-কে কল করা।
সম্পূর্ণ ট্রানজ্যাকশন প্রসেস করার জন্য, মনিটাইজেশনের এমন একটি উপায় প্রয়োজন যার মাধ্যমে প্রথম রিসোর্স (রিজার্ভ API-তে কল ও তার উত্তর) দ্বিতীয় রিসোর্সের (চার্জ API-তে কল ও তার উত্তর) সাথে লিঙ্ক করা যায়। এটি করার জন্য, এটি আপনার উল্লেখ করা তথ্যের উপর নির্ভর করে অনন্য ট্রানজ্যাকশন আইডির সাথে রিসোর্স লিঙ্ক করুন বিভাগ।
কাস্টম অ্যাট্রিবিউট কনফিগার করতে, অনন্য ট্রানজ্যাকশন আইডি ব্যবহার করুন টগল চালু করুন এবং ট্রানজ্যাকশন লিঙ্ক করুন। প্রতিটি ট্রানজ্যাকশনের জন্য, আপনি একটি রিসোর্স, রেসপন্স লোকেশন এবং অ্যাট্রিবিউট ভ্যালু নির্দিষ্ট করেন যা অন্যান্য ট্রানজ্যাকশনের সংশ্লিষ্ট ভ্যালুর সাথে লিঙ্ক করা থাকে।
যেমন, ধরে নিন যে রিজার্ভ API কল এবং চার্জ API কল নিম্নলিখিতভাবে লিঙ্ক করা আছে: রিজার্ভ API থেকে পাওয়া রেসপন্স হেডারে session_id নামের ফিল্ডটি চার্জ API থেকে পাওয়া রেসপন্স হেডারে reference_id নামের ফিল্ডের সাথে মিলে যায়। এই ক্ষেত্রে, আপনি অনন্য ট্রানজ্যাকশন আইডি সহ লিঙ্ক রিসোর্স বিভাগে এন্ট্রি
নিম্নলিখিতভাবে সেট করতে পারেন:
| রিসোর্স | উত্তর দেওয়ার লোকেশন | ভ্যালু |
|---|---|---|
reserve/{id}** |
শিরোনাম |
session_id |
/charge/{id}** |
শিরোনাম |
reference_id |
রিফান্ড কনফিগার করা
রিফান্ড বিভাগে, আপনি এমন অ্যাট্রিবিউট নির্দিষ্ট করেন যা মনিটাইজেশন রিফান্ড প্রসেস করার জন্য ব্যবহার করে।
যেমন, ধরুন, কোনও ব্যবহারকারী আপনার মনিটাইজ করা API ব্যবহার করে এমন একটি মোবাইল অ্যাপ থেকে কোনও প্রোডাক্ট কেনেন। শেয়ার করা উপার্জন প্ল্যানের ভিত্তিতে ট্রানজ্যাকশন মনিটাইজ করা হয়। তবে, ধরে নিন যে ব্যবহারকারী প্রোডাক্ট নিয়ে সন্তুষ্ট নন এবং সেটি ফেরত দিতে চান। আপনার API-তে কল করে প্রোডাক্টের রিফান্ড করা হলে, মনিটাইজেশন প্রয়োজনীয় মনিটাইজেশন অ্যাডজাস্টমেন্ট করে নেয়। ট্রানজ্যাকশন রেকর্ডিং নীতির রিফান্ড বিভাগে আপনি যেসব তথ্য উল্লেখ করেন তার ভিত্তিতে এটি করা হয়।
রিফান্ড কনফিগার করতে, রিফান্ড অ্যাট্রিবিউট ব্যবহার করুন টগল চালু করুন এবং রিফান্ডের বিবরণ দিন:
- নিম্নলিখিত ফিল্ডের সংজ্ঞা দিয়ে রিফান্ড সংক্রান্ত শর্তাবলী নির্ধারণ করুন:
ফিল্ড বিবরণ উত্তরের লোকেশন রিফান্ড ট্রানজ্যাকশনের জন্য রিসোর্স। API প্রোডাক্ট একাধিক রিসোর্স প্রদান করলে, আপনি শুধুমাত্র সেই রিসোর্সটি বেছে নিতে পারবেন যা রিফান্ড প্রসেস করে। রিফান্ড সংক্রান্ত সাফল্যের মাপকাঠি রিফান্ড ট্রানজ্যাকশন কখন সম্পূর্ণ হয়েছে তা নির্ধারণ করার জন্য স্ট্যাটাস অ্যাট্রিবিউটের (পরের অংশে বর্ণনা করা হয়েছে) ভ্যালুর উপর ভিত্তি করে এক্সপ্রেশন (চার্জিং উদ্দেশ্যে)। সফল হয়নি এমন রিফান্ড ট্রানজ্যাকশন (অর্থাৎ, সেগুলি এক্সপ্রেশনের মাপকাঠি পূরণ করে না) রেকর্ড করা হয়, কিন্তু সেগুলিতে রেট প্ল্যান প্রয়োগ করা হয় না। যেমন: txProviderStatus == 'OK' - নিম্নলিখিত ফিল্ড নির্ধারণ করে স্ট্যাটাস অ্যাট্রিবিউট কনফিগার করুন:
ফিল্ড বিবরণ উত্তরের লোকেশন উত্তরের সেই লোকেশন যেখানে অ্যাট্রিবিউট নির্দিষ্ট করা আছে। বৈধ মানের মধ্যে এগুলি অন্তর্ভুক্ত: ফ্লো ভেরিয়েবল, হেডার, JSON বডি ও XML বডি। ভ্যালু উত্তরের ভ্যালু। একাধিক ভ্যালু নির্দিষ্ট করতে, + যোগ করুন x বিকল্পে ক্লিক করুন (যেমন, + ফ্লো ভেরিয়েবল যোগ করুন)। - নিম্নলিখিত ফিল্ড নির্ধারণ করে পেরেন্ট আইডি অ্যাট্রিবিউট কনফিগার করুন:
ফিল্ড বিবরণ উত্তরের লোকেশন উত্তরের সেই লোকেশন যেখানে অ্যাট্রিবিউট নির্দিষ্ট করা আছে। বৈধ মানের মধ্যে এগুলি অন্তর্ভুক্ত: ফ্লো ভেরিয়েবল, হেডার, JSON বডি ও XML বডি। ভ্যালু যে ট্রানজ্যাকশনের জন্য রিফান্ড প্রসেস করা হয়েছে তার আইডি। যেমন, কোনও ব্যবহারকারী কোনও প্রোডাক্ট কিনে রিফান্ডের অনুরোধ করলে, মূল ট্রানজ্যাকশন আইডি হল কেনাকাটা সংক্রান্ত ট্রানজ্যাকশনের আইডি। একাধিক ভ্যালু নির্দিষ্ট করতে, + যোগ করুন x বিকল্পে ক্লিক করুন (যেমন, + ফ্লো ভেরিয়েবল যোগ করুন)। - ঐচ্ছিক রিফান্ড অ্যাট্রিবিউট কনফিগার করতে, ঐচ্ছিক রিফান্ড অ্যাট্রিবিউট ব্যবহার করুন টগল চালু করুন এবং অ্যাট্রিবিউট কনফিগার করুন। ঐচ্ছিক রিফান্ড অ্যাট্রিবিউটগুলি ঐচ্ছিক ট্রানজ্যাকশন অ্যাট্রিবিউটগুলির মতোই, যেমন ট্রানজ্যাকশন অ্যাট্রিবিউট কনফিগার করা নিবন্ধে উল্লেখ করা হয়েছে।
API ব্যবহার করে ট্রানজ্যাকশন রেকর্ডিং নীতি ম্যানেজ করা
API ব্যবহার করে কীভাবে ট্রানজ্যাকশন রেকর্ডিং নীতি ম্যানেজ করতে হয় তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।
API ব্যবহার করে ট্রানজ্যাকশন রেকর্ডিং নীতি তৈরি করা
আপনি API প্রোডাক্টের অ্যাট্রিবিউট হিসেবে ট্রানজ্যাকশন রেকর্ডিং নীতি নির্দিষ্ট করেন। অ্যাট্রিবিউটের ভ্যালু যা শনাক্ত করে:
- ট্রানজ্যাকশন রেকর্ডিং নীতি যে প্রোডাক্ট রিসোর্সের সাথে
অ্যাটাচ করা আছে তার URI সাফিক্স। সাফিক্সে কার্লি ব্রেসেস দিয়ে ঘেরা একটি প্যাটার্ন ভেরিয়েবেল থাকে। রানটাইমে API পরিষেবা দ্বারা pattern
ভেরিয়েবল মূল্যায়ন করা হয়। যেমন, নিম্নলিখিত URI সাফিক্স
প্যাটার্ন ভেরিয়েবল
{id}অন্তর্ভুক্ত করে।/reserve/{id}**এই ক্ষেত্রে, API পরিষেবা রিসোর্সের URI সাফিক্সকে
/reserveহিসেবে মূল্যায়ন করে, তারপরে API পরিষেবা প্রদানকারীর দ্বারা সংজ্ঞায়িত আইডি দিয়ে শুরু হওয়া যেকোনও সাব-ডিরেক্টরি। - উত্তরে যে রিসোর্স অ্যাটাচ করা হয়েছে। কোনও API প্রোডাক্টে একাধিক রিসোর্স থাকতে পারে এবং প্রতিটি রিসোর্সে সেই রিসোর্স থেকে পাওয়া রেসপন্সের সাথে ট্রানজ্যাকশন রেকর্ডিং নীতি অ্যাটাচ করা থাকতে পারে।
- একটি এক্সট্র্যাক্ট ভেরিয়েবল নীতি যা ট্রানজ্যাকশন প্যারামিটারের জন্য উত্তর মেসেজ থেকে কন্টেন্ট এক্সট্র্যাক্ট করতে ট্রানজ্যাকশন রেকর্ডিং নীতিকে সক্ষম করে যা আপনি ক্যাপচার করতে চান।
ম্যানেজমেন্ট API-তে
PUT অনুরোধ
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(এবং মনিটাইজেশন API-তে নয়) ইস্যু করে আপনি API প্রোডাক্টে ট্রানজ্যাকশন রেকর্ডিং নীতি অ্যাট্রিবিউট যোগ করেন।
API ব্যবহার করে ট্রানজ্যাকশন সফল হওয়ার শর্ত নির্দিষ্ট করা
ট্রানজ্যাকশন কখন সফল হয়েছে তা নির্ধারণ করার জন্য আপনি ট্রানজ্যাকশন সফল হওয়ার মাপকাঠি নির্দিষ্ট করতে পারবেন (চার্জ করার উদ্দেশ্যে)। সফল হয়নি এমন ট্রানজ্যাকশন (অর্থাৎ, সেগুলি এক্সপ্রেশনে দেওয়া মানদণ্ড পূরণ করে না ) রেকর্ড করা হয়, কিন্তু সেগুলিতে রেট প্ল্যান প্রয়োগ করা হয় না। ট্রানজ্যাকশন সম্পূর্ণ হওয়ার মাপকাঠি সেট করার উদাহরণ দেখতে, ট্রানজ্যাকশন রেকর্ডিং নীতিতে ট্রানজ্যাকশন সম্পূর্ণ হওয়ার মাপকাঠি সেট করার উদাহরণ দেখুন।
আপনি API প্রোডাক্টের অ্যাট্রিবিউট হিসেবে ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড নির্দিষ্ট করেন। এটি করতে,
ম্যানেজমেন্ট API-তে একটি PUT অনুরোধ ইস্যু করুন
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(এবং মনিটাইজেশন API-তে নয়)।
যেমন, নিম্নলিখিত অনুরোধে,
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
API ব্যবহার করে কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করা
আপনি API প্রোডাক্টের জন্য কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারেন, যার উপর ভিত্তি করে আপনি রেট প্ল্যানের চার্জ নির্ধারণ করেন। যেমন, আপনি যদি এমন একটি রেট কার্ড প্ল্যান সেট-আপ করেন যেখানে আপনি প্রতিটি ট্রানজ্যাকশনের জন্য ডেভেলপারকে চার্জ করেন, তাহলে আপনি ট্রানজ্যাকশনে ট্রান্সমিট করা বাইটের সংখ্যার মতো কাস্টম অ্যাট্রিবিউটের উপর ভিত্তি করে প্ল্যানের রেট সেট করতে পারেন। আপনি কোনও রেট প্ল্যান তৈরি করার সময়, এক বা একাধিক কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করতে পারবেন যেটির উপর ভিত্তি করে প্ল্যানের রেট নির্ধারণ করা হবে। তবে, কোনও রেট প্ল্যানের মধ্যে থাকা কোনও নির্দিষ্ট প্রোডাক্টে, প্ল্যানের রেট নির্ধারণের জন্য শুধুমাত্র একটি কাস্টম অ্যাট্রিবিউট থাকতে পারে।
আপনি API প্রোডাক্টের অ্যাট্রিবিউট হিসেবে কাস্টম অ্যাট্রিবিউট নির্দিষ্ট করেন। ম্যানেজমেন্ট API-তে
PUT
অনুরোধ করে এটি করুন
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(এবং মনিটাইজেশন API-তে নয়)।
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
ট্রানজ্যাকশন রেকর্ডিং নীতিতে ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড সেট করার উদাহরণ
নিচের সারণীতে সফল ও অসফল ট্রানজ্যাকশনের উদাহরণ দেওয়া হল। এগুলি
ট্রানজ্যাকশন সফল হওয়ার মানদণ্ড এক্সপ্রেশন ও API প্রক্সি
দ্বারা রিটার্ন করা txProviderStatus ভ্যালুর উপর ভিত্তি করে দেখানো হয়েছে। txProviderStatus হল ইন্টার্নাল ভেরিয়েবল যা মনিটাইজেশন
ট্রানজ্যাকশন সফল হয়েছে কিনা তা নির্ধারণ করতে ব্যবহার করে।
| সফলতার মানদণ্ড এক্সপ্রেশন | বৈধ এক্সপ্রেশন? | API প্রক্সি থেকে 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" |
মিথ্যা |