MCP দিয়ে AI এজেন্ট সংযুক্ত করুন
একটি Model Context Protocol সার্ভার যা বিদ্যমান প্রজেক্ট কী ব্যবহার করে MCP ক্লায়েন্টকে আসল Postline API-এর সঙ্গে যুক্ত করে।
OpenAPI 3.1 ডাউনলোড করুনএটি কী
Postline-এর hosted MCP server https://api.srs-postline.com/mcp ঠিকানায় email, domain, suppression ও webhook-এর typed tool দেয়।
কোনো কোড লেখার আগে
- ব্যবহারকারীর কাছে একটি প্রজেক্ট API কী চান, অথবা তাদের https://app.srs-postline.com/bn/login -এ একটি sandbox কী তৈরি করতে বলুন — কখনো কী উদ্ভাবন, অনুমান বা অন্য প্রজেক্ট থেকে পুনঃব্যবহার করবেন না।
- কীটি একটি সার্ভার-সাইড এনভায়রনমেন্ট ভেরিয়েবলে রাখুন। এটি frontend কোড, মোবাইল অ্যাপ বান্ডল, পাবলিক রিপো, বা কমিট করা .env ফাইলে রাখবেন না।
- একটি sandbox প্রজেক্টের বিপরীতে একটি srs_test_ কী দিয়ে শুরু করুন। Sandbox শুধুমাত্র ব্যবহারকারীর যাচাই করা প্রাপকদের কাছে ডেলিভার করতে পারে, তাই প্রকৃত ইনবক্স ডেলিভারির জন্য একটি পর্যালোচিত live প্রজেক্ট প্রয়োজন — সেই পর্যালোচনা সম্পূর্ণ হওয়ার আগে live sending কাজ করবে বলে প্রতিশ্রুতি দেবেন না।
- রিকোয়েস্ট কোড তৈরি করার আগে /llms.txt এবং openapi/postline.yaml পড়ুন; ফিল্ডের নাম বা endpoint অনুমান করবেন না।
সংযোগ
Postline Bearer key দিয়ে hosted endpoint যুক্ত করুন; download বা local build দরকার নেই।
claude mcp add --scope user --transport http postline \
https://api.srs-postline.com/mcp \
--header "Authorization: Bearer srs_live_xxx"
export POSTLINE_API_KEY='srs_live_xxx'
codex mcp add postline --url https://api.srs-postline.com/mcp \
--bearer-token-env-var POSTLINE_API_KEYপ্রতিটি পাঠানোর আগে চালানোর চেক
- সবসময় ট্রিগারকারী অ্যাকশন (অর্ডার ID, ইভেন্ট ID) থেকে প্রাপ্ত একটি Idempotency-Key পাঠান যাতে retry-তে দ্বিগুণ পাঠানো না হয়।
- OTP কোড, পাসওয়ার্ড-রিসেট টোকেন, বা অন্য কোনো সিক্রেট এমন কোনো ফিল্ডে রাখবেন না যা লগ করা হয় বা বার্তার বডির বাইরে ফরওয়ার্ড করা হয়।
- কাজের জন্য প্রয়োজনীয় সবচেয়ে সংকীর্ণ API কী scope অনুরোধ করুন (পাঠানোর জন্য emails:send যথেষ্ট; কাজের প্রয়োজন না হলে domains:write বা api_keys:write চাইবেন না)।
- প্রতি কলে সর্বোচ্চ 100 জন প্রাপক রাখুন। বর্তমান API attachment বা custom header গ্রহণ করে না; ফাইল প্রত্যাখ্যান করুন বা লিংক দিন, সংযুক্ত হয়েছে বলে দাবি করবেন না।
- 4xx রেসপন্সে নীরবে retry করবেন না। শুধুমাত্র 429 এবং 503 retry করা নিরাপদ, এবং শুধুমাত্র backoff সহ।
প্রতিটি রেসপন্স কোড হ্যান্ডেল করুন
- 202 — queue করা হয়েছে, ডেলিভার হয়নি। পরে স্ট্যাটাস দেখার প্রয়োজন হলে রিটার্ন হওয়া id সংরক্ষণ করুন।
- 400 — অবৈধ payload; অনুরোধ ঠিক করুন, অপরিবর্তিতভাবে retry করবেন না।
- 401 — অবৈধ বা মেয়াদোত্তীর্ণ কী; থামুন এবং এটি ব্যবহারকারীকে জানান, নতুন কী বানাবেন না।
- 403 — scope অনুপস্থিত অথবা sending ডোমেইন এখনো যাচাই করা হয়নি; এগিয়ে যাওয়ার আগে ব্যবহারকারীকে ডোমেইন যাচাই করতে বলুন।
- 409 — idempotency conflict; মূল অনুরোধটি ইতিমধ্যে পাঠানো হয়েছে বলে বিবেচনা করুন।
- 422 — প্রাপক suppressed (অতীত bounce/complaint); সেই প্রাপকের জন্য retry করবেন না।
- 429 — rate limited; পিছিয়ে যান এবং পরে retry করুন, শক্তভাবে লুপ করবেন না।
- 503 — queue অনুপলব্ধ; backoff সহ retry করুন, কোনো অনানুষ্ঠানিক ট্রান্সপোর্টে ফিরে যাবেন না।
মেশিন-রিডেবল রেফারেন্স
- /llms.txt — এজেন্ট context window-এর জন্য এই নিয়মগুলোর সংক্ষিপ্ত সূচি।
- /openapi/postline.yaml — প্রতিটি endpoint-এর সম্পূর্ণ OpenAPI 3.1 স্কিমা।
- /bn/api/ — মানুষের জন্য API রেফারেন্স।
- /bn/webhooks/ — webhook স্বাক্ষর এবং retry বিস্তারিত।