অন্যান্য সফটওয়্যারকে আপনার ডেটা পড়তে দেওয়া
এপিআই স্টুডিও: একবারে একটি স্ক্রিন প্রকাশ করা, একটি কী প্রদান করা, সেটিকে একটি ঠিকানায় পিন করা, এবং একটি এআই এজেন্টের জন্য এমসিপি সার্ভার হিসেবে একই প্রকাশনা।
আজ হোক বা কাল হোক, TRANXACT-এর বাইরের কোনো কিছু আপনার ডেটা চাইবে: একটি রিপোর্টিং টুল, কোনো পার্টনারের সিস্টেম, মূল্যতালিকা প্রয়োজন এমন কোনো ওয়েবসাইট, অথবা আপনার ব্যবসা সম্পর্কে প্রশ্ন করা হয়েছে এমন কোনো এআই এজেন্ট। প্ল্যাটফর্মের অধীনে থাকা এপিআই স্টুডিও-তেই আপনি ঠিক করবেন যে সেটি কী হতে পারে — একবারে একটি স্ক্রিন, একবারে একটি কলাম।
যতক্ষণ না কেউ এটি প্রকাশ করে, ততক্ষণ বাইরে থেকে কোনো কিছুই অ্যাক্সেসযোগ্য নয়। এমন কোনো সেটিং নেই যা সবকিছু খুলে দেয় এবং এমন কোনো কী নেই যা দিয়ে সব জায়গায় পৌঁছানো যায়। একটি একেবারে নতুন ডেপ্লয়মেন্টের কোনো এপিআই সারফেসই থাকে না, এবং চালু করার অপেক্ষায় থাকা কোনো কিছুর চেয়ে এটাই সঠিক সূচনা অবস্থা।
ক্রমানুসারে চারটি সিদ্ধান্ত
| কী | এটি যা সিদ্ধান্ত নেয় | যে সাধারণত এটা তৈরি করে |
|---|---|---|
| একটি উন্মোচন | সেই একটি স্ক্রিন আদৌ এই কোম্পানি ছেড়ে যেতে পারে কি না — তার কোন কলামগুলো, কোন সারিগুলো, এবং আদৌ কিছু লিখে ফেরত পাঠানো যাবে কি না। | ডেটার মালিক যেই হোক না কেন |
| একজন ক্লায়েন্ট | সেই একটি সফটওয়্যার আছে, সেটির নাম কী, এ ব্যাপারে কাকে ফোন করতে হবে, এবং আপনার কোন ব্যবহারকারী হিসেবে এটি কাজ করে। | যেই ইন্টিগ্রেশনটি চালায় |
| একটি অনুদান | যাতে এই ক্লায়েন্ট এই ক্রিয়াপদগুলোর মাধ্যমে সেই সংস্পর্শে পৌঁছাতে পারে। | যেই ইন্টিগ্রেশনটি চালায় |
| একটি অনুমোদিত ঠিকানা | কী-টি কোথা থেকে উপস্থাপন করা হতে পারে — ব্রাউজার অরিজিন, হোস্ট, সার্ভার অ্যাড্রেস বা নেটওয়ার্ক। | যেই ইন্টিগ্রেশনটি চালায় |
প্ল্যাটফর্মটি এর জন্য তিনটি ভূমিকা প্রদান করে এবং ইচ্ছাকৃতভাবে সেগুলোকে আলাদা রাখে। একজন এপিআই পাবলিশার সিদ্ধান্ত নেন কী প্রকাশ করা যাবে এবং তিনি কোনো কী (key) ইস্যু করতে পারেন না। একজন এপিআই রেজিস্ট্রার কী ইস্যু করেন এবং কোনো এক্সপোজার তৈরি করতে পারেন না। একজন এপিআই রিভিউয়ার সবকিছু পড়েন এবং কোনো পরিবর্তন করেন না। একজনের নিয়ন্ত্রণে থাকলে, পে-রোল টেবিলটি প্রকাশ করা এবং সেটিকে পড়ার জন্য নিজের জন্য একটি কী ইস্যু করা একটি সম্পূর্ণ, আনউইটনেসড এক্সপোর্ট প্রক্রিয়া, যার প্রতিটি ধাপ একটি সাধারণ প্রশাসনিক পরিবর্তনের মতোই দেখায়।
একটি স্ক্রিন প্রকাশ করা
- প্ল্যাটফর্ম খুলুন → এপিআই স্টুডিও এবং একটি স্ক্রিন বেছে নিন। তালিকাটিতে কনসোলের প্রতিটি স্ক্রিন রয়েছে, যা সরাসরি প্রোডাক্টটি থেকে নেওয়া হয়েছে — তাই এই রিলিজে অন্তর্ভুক্ত হওয়া স্ক্রিনটিও এতে রয়েছে।
- যে কলামগুলো বাদ যেতে পারে, সেগুলোতে টিক দিন। যেগুলোতে টিক দেওয়া নেই, সেগুলো কখনোই পাঠানো হয় না: কোনো লিস্টে নয়, কোনো একক রেকর্ডে নয়, এমনকি রাইট অপারেশনের মাধ্যমে যা ফেরত আসে, তাতেও নয়। শুরুতেই ইচ্ছাকৃতভাবে কোনো কিছুতে টিক দেওয়া হয় না।
- ক্রিয়াপদগুলো নির্ধারণ করুন। পড়া ডিফল্টরূপে চালু থাকে; তৈরি করা, পরিবর্তন করা এবং মুছে ফেলা প্রতিটিই আলাদা সিদ্ধান্ত, কারণ তাদের সিস্টেমকে আপনার আইটেম মাস্টার পড়তে দেওয়া এবং তাদের সিস্টেমকে তা মুছে ফেলতে দেওয়া একই বাক্য নয়।
- ঐচ্ছিকভাবে সারিগুলো সীমিত করুন — শুধুমাত্র পোস্ট করা ইনভয়েস, এবং তাও শুধু এই বছরের। এটি সেই একই ফিল্টার যা প্রতিটি তালিকা স্ক্রিনে উল্লেখ করা থাকে, প্রতিটি কলে সার্ভারে প্রয়োগ করা হয়, এবং কলারের পাঠানো কোনো কিছুই এটিকে প্রসারিত করতে পারে না।
- এটা সংরক্ষণ করুন। এটা একটা খসড়া, আর খসড়া দিয়ে কিছুই হয় না। যখন মন থেকে চাইবেন, তখনই এটাকে প্রকাশ করবেন।
- কাউকে কী দেওয়ার আগে প্রিভিউ চাপুন। এতে স্পষ্টভাবে দেখা যায় একজন পার্টনার কী কী পাবেন এবং কতগুলো কলাম আটকে রাখা হয়েছে।
সফটওয়্যার নিবন্ধন করা
একজন ক্লায়েন্ট হলো একটি সফটওয়্যারের রেকর্ড: এর নাম কী, এটি কী, এ বিষয়ে কার সাথে যোগাযোগ করতে হবে, এবং—সবচেয়ে গুরুত্বপূর্ণ—এটি আপনার কোন ব্যবহারকারী হিসেবে কাজ করে। কী-টি যতবারই কল করে, তা সেই ব্যক্তি হিসেবেই করা হয়। সেই ব্যক্তি যা করতে পারে না, কী-টিও তা করতে পারে না।
স্ক্রিনের মধ্যে এটিই সবচেয়ে গুরুত্বপূর্ণ ক্ষেত্র, এবং একারণেই কোনো এক্সপোজার কেবল অ্যাক্সেসকে সংকুচিত করতে পারে, কখনোই প্রসারিত করতে পারে না। শুধুমাত্র সুবিধার জন্য কোনো প্রকৃত অ্যাডমিনিস্ট্রেটরের দিকে নয়, বরং এই কাজের জন্য বিশেষভাবে তৈরি এবং কাজটি সম্পাদনকারী সবচেয়ে সংকীর্ণ ভূমিকা পালনকারী কোনো ব্যবহারকারীর দিকে কী-বোর্ডের বাটনটি নির্দেশ করুন।
কী-টি ইস্যু করার সময় একবারই দেখানো হয় এবং এরপর আর কখনও নয়। একটি নতুন কী ইস্যু করলে পুরানোটির কাজ করা সঙ্গে সঙ্গে বন্ধ হয়ে যায়। ক্লায়েন্ট ডিলিট না করেই একটি কী প্রত্যাহার করা যায়, ফলে রেজিস্টারে তখনও লেখা থাকে কে এটি ব্যবহার করেছিল এবং কখন তা নিয়ে নেওয়া হয়েছিল।
যেখান থেকে একটি চাবি ব্যবহার করা যেতে পারে
যে কী-এর কোনো অনুমোদিত অ্যাড্রেস নেই, তা দিয়ে কোথাও পৌঁছানো যায় না। কোনো নির্দিষ্ট অ্যাড্রেস না থাকলে তাকে ‘এখনও পৌঁছানো যায় না’ হিসেবে গণ্য করা হয় এবং কখনোই ‘কোথাও থেকে পৌঁছানো যায়’ হিসেবে নয়, কারণ ফাঁস হওয়া একটি কী যা বিশ্বের যেকোনো ল্যাপটপ থেকে কাজ করে, সেটাই হলো সম্পূর্ণ ঝুঁকি। চার ধরনের এন্ট্রি রয়েছে: একটি ব্রাউজার অরিজিন, একটি রেফারিং হোস্ট, একটি একক অ্যাড্রেস, অথবা CIDR আকারে একটি নেটওয়ার্ক।
একটি ক্লায়েন্টকে যেকোনো জায়গা থেকে ব্যবহারযোগ্য হিসেবে চিহ্নিত করা যেতে পারে, এবং কখনও কখনও তা সঠিকও হয় — যেমন এমন একজন পার্টনার যার বহির্গমন ঠিকানা সত্যিই পরিবর্তিত হয়। এটি ডিফল্ট না হয়ে, একটি ইচ্ছাকৃত পরিবর্তন যার পাশে একটি সতর্কবার্তা থাকে।
যারা একীভূত হচ্ছে তাদের কী পাঠাতে হবে
স্টুডিওটি চারটি অ্যাড্রেস প্রিন্ট করে। বেস অ্যাড্রেসটি হলো /api/v1, কী-টি একটি Authorization: Bearer হেডারে থাকে, /api/v1/resources-এ তালিকাভুক্ত থাকে যে এই কী-টি কোথায় পৌঁছাতে পারে, এবং /api/v1/openapi.json হলো একটি OpenAPI 3.1 ডকুমেন্টেরই সমতুল্য।
এই দুটিই সেই কী (key) থেকে তৈরি হয় যা সেগুলোর জন্য অনুরোধ করে। একজন পার্টনারকে কখনোই এমন চল্লিশটি এন্ডপয়েন্টের তালিকা সম্বলিত কোনো ডকুমেন্ট দেওয়া হয় না যা তারা কল করতে পারবে না: তাদের ডকুমেন্টে ঠিক কী কল করা যাবে তার বর্ণনা থাকে এবং এর বাইরে আর কিছুই থাকে না, এবং এটি এমন কোনো পাথের বর্ণনা দিতে পারে না যা প্রত্যাখ্যান করা হবে, কারণ এটি সেই একই সারিগুলো থেকে তৈরি করা হয় যা রিকোয়েস্ট হ্যান্ডলার পরীক্ষা করে।
একটি এআই এজেন্টের জন্য একই ডেটা
/api/v1/mcp অ্যাড্রেসটি একটি মডেল কনটেক্সট প্রোটোকল সার্ভার। এতে সংযোগকারী কোনো এজেন্টকে, কী-টি যা যা করতে পারে তার প্রত্যেকটির জন্য একটি করে টুল দেওয়া হয় এবং অন্য কিছু নয় — যে ডেটা কেউ প্রকাশ করেনি তার জন্য কোনো টুল নেই, যে ভার্ব কেউ মঞ্জুর করেনি তার জন্যও কোনো টুল নেই। এটি একই পাবলিকেশন, যা কোনো ডেভেলপারের জন্য নয় বরং একটি মডেলের জন্য বর্ণনা করা হয়েছে, তাই এই দুটির মধ্যে কখনোই অমিল হওয়ার সুযোগ নেই।
ক্লায়েন্টে MCP নির্দেশাবলী লিখুন। এটিই একমাত্র জায়গা যেখানে একটি মডেলকে বলা হয় যে এই টুলগুলি স্যান্ডবক্সের পরিবর্তে একটি লাইভ লেজারে পৌঁছায়, এবং এটিই একমাত্র জায়গা যেখানে আপনি বলতে পারেন যে এখানকার অর্ডার বলতে পারচেজ অর্ডার বোঝায়, সেলস অর্ডার নয়।
প্রতিটি কলে কী ঘটে
একটি প্রকাশিত কল ডেটাবেসে প্রবেশের কোনো শর্টকাট নয়। এটি প্রমাণীকৃত হয়, এক্সপোজার এবং গ্রান্টের সাথে মিলিয়ে পরীক্ষা করা হয়, এবং তারপর প্ল্যাটফর্মের নিজস্ব এপিআই-এর মাধ্যমে আপনার রান-অ্যাজ ব্যবহারকারী হিসেবে করা হয় — যে পথটি কনসোলও ব্যবহার করে। কোম্পানি স্কোপিং, বিজনেস-ইউনিট স্কোপিং, স্থান সীমাবদ্ধতা, বন্ধ সময়কাল, পোস্টিং নিয়ম, কাস্টম ফিল্ড, কাস্টম লজিক, সম্পাদনাযোগ্যতা এবং অডিট ট্রেইল সবই প্রযোজ্য, কারণ এগুলো একই কোড যা এখানে চলছে।
প্রতিটি কল, তার কারণসহ, অনুমোদিত বা প্রত্যাখ্যাত হিসেবে রেকর্ড করা হয়। সেই লগটি Platform → API Studio → API Call Log-এর অধীনে থাকে, এবং এর থেকে প্রাপ্ত সবচেয়ে আকর্ষণীয় লাইনটি হলো এমন একটি ঠিকানা থেকে আসা ‘কী’ যা কেউ অনুমোদন করেনি।
যখন এটি কাজ করে না
| সঙ্গী যা দেখে | এর মানে কী |
|---|---|
| ওই এপিআই কী-টি শনাক্ত করা যাচ্ছে না। | ভুল চাবি, অথবা এর মধ্যে একটি নতুন চাবি দেওয়া হয়েছে। |
| এই এপিআই কী-টির কোনো অনুমোদিত ঠিকানা নেই। | এটি কোথা থেকে ব্যবহার করা হতে পারে, তা এখনো কেউ বলেনি। |
| এই এপিআই কীটি এখান থেকে ব্যবহার করার অনুমতি নেই। | এটি প্রকৃত আগমনের উৎস এবং ঠিকানা উল্লেখ করে — সাধারণত অংশীদার সার্ভার পরিবর্তন করে ফেলে। |
| এখানে X হিসাবে কিছুই প্রকাশিত হয় না। | নামটি ভুল, অথবা এই কী-টি ব্যবহারের অনুমতি দেওয়া হয়নি, কিংবা এটি এখনও একটি খসড়া। |
| এই কী X তৈরি নাও করতে পারে | এই পরিচিতি বা অনুদানটি ওই ক্রিয়াপদটির অনুমতি দেয় না। |
| আপনার X দেখার অনুমতি নেই | অনুদানটি ঠিক আছে কিন্তু রান-অ্যাস ব্যবহারকারীটি ঠিক নয়। কোনো অংশীদারকে খুঁজে বের করার আগেই স্টুডিও এগুলো তালিকাভুক্ত করে। |
ক্লায়েন্ট তালিকায় শুধু স্ট্যাটাসের পরিবর্তে একটি রেডিনেস কলাম দেখানো হয়, কারণ একজন ক্লায়েন্ট সক্রিয় থাকতে পারে, একটি কী ধরে রাখতে পারে কিন্তু তারপরেও কিছুই অ্যাক্সেস করতে পারে না — চালানোর জন্য কোনো ব্যবহারকারী নেই, কোনো ঠিকানা অনুমোদিত নয়, কিছুই মঞ্জুর করা হয়নি। প্রতিটি কল প্রত্যাখ্যাত হওয়ার সময় তালিকাটি 'সক্রিয়' দেখাচ্ছে, এভাবেই একটি বিকেল কাটে।