সফটওয়্যার ও অ্যাপ ডেভেলপমেন্ট

API ডেভেলপমেন্ট

স্পষ্ট কন্ট্রাক্ট, সুদৃঢ় অথেনটিকেশন এবং ডেভেলপারদের কাজে লাগার মতো ডকুমেন্টেশনসহ REST ও GraphQL API। বাস্তবায়ন ও টেস্টিংয়ে AI সহায়তা করে; ডিজাইন, নিরাপত্তা ও প্রতিটি রিলিজের দায়িত্ব ইঞ্জিনিয়ারদের।

কারা আমাদের কাছে API-এর কাজ নিয়ে আসেন

একাধিক অ্যাপ, অভ্যন্তরীণ টুল বা বাইরের কোম্পানির একই ডেটা ও অ্যাকশন দরকার, আর একটি স্পষ্ট, ভার্সন করা API না থাকলে প্রতিটি নতুন সংযোগ হয়ে ওঠে একবারের জন্য বানানো, ভঙ্গুর একটি সমাধান।

  • যেসব SaaS কোম্পানি একটি পাবলিক API-এর মাধ্যমে তাদের প্রোডাক্ট গ্রাহকদের ডেভেলপারদের জন্য উন্মুক্ত করছে
  • যেসব টিমের ওয়েব ও মোবাইল অ্যাপ প্রত্যেকে ভিন্নভাবে ডেটাবেসের সাথে যোগাযোগ করে
  • সরবরাহকারী ও গ্রাহকদের সিস্টেমের সাথে ইনভয়েস, স্টকের পরিমাণ বা বুকিং আদান-প্রদান করে এমন ব্যবসা

যে API-এর ওপর অন্য সিস্টেম ভরসা করতে পারে

একটি API আসলে একটি কন্ট্রাক্ট। ওয়েব ও মোবাইল অ্যাপ, অভ্যন্তরীণ টুল এবং থার্ড-পার্টি সিস্টেম সবই এর ওপর নির্ভর করে, তাই একটি অসতর্ক পরিবর্তন একসাথে কয়েকটি প্রোডাক্ট অচল করে দিতে পারে। আমরা REST ও GraphQL API, ইন্টিগ্রেশন লেয়ার ও ব্যাকএন্ড সার্ভিস ডিজাইন ও তৈরি করি, যেখানে ভার্সনিং, অথেনটিকেশন, রেট লিমিট ও ডকুমেন্টেশনের পরিকল্পনা করা হয় শুরু থেকেই। AI এজেন্ট এন্ডপয়েন্ট বাস্তবায়ন, কন্ট্রাক্ট টেস্টের খসড়া তৈরি এবং ডকুমেন্টেশনকে কোডের সাথে সামঞ্জস্যপূর্ণ রাখতে সাহায্য করে; API ডিজাইন, ডেটা মডেল, নিরাপত্তা এবং শিপ হওয়া প্রতিটি পরিবর্তনের দায়িত্ব ইঞ্জিনিয়ারদের।

AI-সহায়তায়, বিশেষজ্ঞদের নেতৃত্বে API ইঞ্জিনিয়ারিং

AI যেভাবে সহায়তা করে

  • সম্মত OpenAPI বা GraphQL স্কিমা থেকে এন্ডপয়েন্ট, ভ্যালিডেশন ও ডেটা অ্যাক্সেস বাস্তবায়ন করা
  • স্পেসিফিকেশন থেকে সরাসরি কন্ট্রাক্ট, ইন্টিগ্রেশন ও নেগেটিভ টেস্টের খসড়া তৈরি করা
  • ধীরগতির কোয়েরি, টাইমআউট ও ব্যর্থ কল খুঁজে পেতে সাহায্যের জন্য লগ ও ট্রেস পর্যালোচনা করা
  • রেফারেন্স ডকুমেন্টেশন, কোডের উদাহরণ ও চেঞ্জলগ কোডের সাথে হালনাগাদ রাখা

আমাদের বিশেষজ্ঞদের দায়িত্ব

  • ইঞ্জিনিয়াররা রিসোর্স, স্কিমা, ভার্সনিং ও এরর ফরম্যাট ডিজাইন করেন এবং মার্জের আগে প্রতিটি পরিবর্তন রিভিউ করেন
  • OWASP নির্দেশিকা অনুসরণ করে ইঞ্জিনিয়াররা অথেনটিকেশন, অথরাইজেশন এবং কোন ক্লায়েন্ট কী অ্যাক্সেস করতে পারবে, তা নির্ধারণ করেন
  • QA শুধু স্বাভাবিক সফল পথ নয়, অনুমতি, অবৈধ ইনপুট, রেট লিমিট ও ব্যর্থতার সময়কার আচরণও টেস্ট করে
  • DevOps এনভায়রনমেন্ট, সিক্রেট, নিয়ন্ত্রিত রিলিজ ও প্রোডাকশন মনিটরিং পরিচালনা করে

আপনি কী পাবেন

আপনার API-এর জন্য আমরা যা ডেলিভার করি

  • API ডিজাইন ও স্পেসিফিকেশন

    বাস্তবায়নের আগেই সম্মতিতে চূড়ান্ত করা একটি OpenAPI স্পেসিফিকেশন বা GraphQL স্কিমা, যাতে রিসোর্স, এরর, পেজিনেশন ও ভার্সনিং অন্তর্ভুক্ত থাকে।

  • REST ও GraphQL বাস্তবায়ন

    ইনপুট ভ্যালিডেশন, সামঞ্জস্যপূর্ণ রেসপন্স ও দক্ষ ডেটাবেস অ্যাক্সেসসহ টাইপড ও টেস্ট করা এন্ডপয়েন্ট এবং রিজলভার।

  • অথেনটিকেশন ও অ্যাক্সেস কন্ট্রোল

    OAuth, OpenID Connect, API key বা টোকেনভিত্তিক সেশন, প্রতিটি এন্ডপয়েন্টে রোলভিত্তিক অনুমতি যাচাইসহ।

  • রেট লিমিটিং ও অপব্যবহার থেকে সুরক্ষা

    প্রতিটি ক্লায়েন্টের জন্য আলাদা লিমিট, কোটা এবং স্পষ্ট থ্রটলিং রেসপন্স, যা আপনার API ও এর পেছনের সার্ভিসগুলোকে সুরক্ষা দেয়।

  • থার্ড-পার্টি ইন্টিগ্রেশন

    পেমেন্ট, মেসেজিং, CRM বা ERP সিস্টেমের সাথে সংযোগ, যাতে ওয়েবহুক হ্যান্ডলিং, রিট্রাই ও আইডেমপোটেন্সি শুরু থেকেই যুক্ত থাকে।

  • ডেভেলপার ডকুমেন্টেশন

    ইন্টারঅ্যাকটিভ রেফারেন্স ডকুমেন্টেশন, উদাহরণ, এরর ক্যাটালগ ও চেঞ্জলগ, যা স্পেসিফিকেশন থেকে তৈরি হয় এবং হালনাগাদ রাখা হয়।

আপনার API-এর ভেতর দিয়ে একটি রিকোয়েস্ট যেভাবে চলে

একটি রাইট রিকোয়েস্টের নমুনা পথ; প্রকৃত API-তে ডিজাইন অনুযায়ী কিছু ধাপ যোগ হয় বা বাদ পড়ে।

  1. ক্লায়েন্টের কল

    একটি ওয়েব অ্যাপ, মোবাইল অ্যাপ বা অন্য কোনো কোম্পানির সিস্টেম ক্রেডেনশিয়ালসহ একটি ডকুমেন্ট করা এন্ডপয়েন্ট কল করে।

  2. গেটওয়ে ও অথেনটিকেশন

    টোকেন বা API কী যাচাই করা হয়, রেট লিমিট প্রয়োগ করা হয় এবং কলারের অনুমতি পরীক্ষা করা হয়।

    চেকপয়েন্ট: অননুমোদিত কল এখানেই থেমে যায়

  3. সার্ভিস লজিক

    যাচাই করা ইনপুটের ওপর ব্যবসায়িক নিয়ম চলে; আইডেমপোটেন্সি কী-এর কারণে আবার পাঠানো রিকোয়েস্ট দুবার কার্যকর হয় না।

    চেকপয়েন্ট: সম্মত স্কিমার সাপেক্ষে ইনপুট যাচাই

  4. ডেটা ও কিউ

    পরিবর্তনটি ডেটাবেসে সংরক্ষিত হয়; সময়সাপেক্ষ কাজ রেসপন্সে দেরি না ঘটিয়ে একটি কিউতে চলে যায়।

  5. ওয়েবহুক ও কনজিউমার

    সাইন করা ইভেন্ট সাবস্ক্রাইবারদের জানিয়ে দেয়, যেমন বিলিং, সার্চ ইনডেক্সিং বা কোনো গ্রাহকের ওয়েবহুক এন্ডপয়েন্ট।

কিছু ব্যর্থ হলে: ব্যর্থ জব ও ওয়েবহুক ডেলিভারি ব্যাকঅফসহ আবার চেষ্টা করা হয়, তারপর সেগুলো একটি ডেড-লেটার কিউতে যায়, যেখানে একজন ইঞ্জিনিয়ার সেগুলো পরীক্ষা করে আবার চালান।

API-এর সাধারণ অনুরোধ

যে ধরনের পরিস্থিতি আমরা সাধারণত স্কোপ করি; এগুলো ক্লায়েন্টের কেস স্টাডি নয়।

  • গ্রাহকদের ডেভেলপারদের জন্য পাবলিক API

    একটি SaaS কোম্পানির গ্রাহকেরা বারবার নিজেদের ডেটায় প্রোগ্রাম্যাটিক অ্যাক্সেস চাইছেন। আমরা নির্দিষ্ট অনুমতিতে সীমাবদ্ধ API কী, পেজিনেশন ও ওয়েবহুক ডিজাইন করব, টেস্ট ডেটাসহ একটি স্যান্ডবক্স প্রকাশ করব, এবং প্রথম ভার্সন পাবলিক হওয়ার আগেই একটি ডেপ্রিকেশন নীতি লিখব।

  • ওয়েব ও মোবাইলের জন্য একটি ব্যাকএন্ড

    একটি ওয়েব অ্যাপ ও একটি মোবাইল অ্যাপ নিজেদের মতো করে ডেটাবেসে কোয়েরি করে, ফলে একই নিয়ম দুই জায়গায় ভিন্নভাবে কাজ করে। আমরা সাধারণ নিয়মগুলো একটি API-এর পেছনে নিয়ে যাব এবং প্রতিটি অ্যাপকে স্ক্রিন ধরে ধরে সেই API-তে সরিয়ে আনব।

  • সরবরাহকারীর সিস্টেমের সাথে নির্ভরযোগ্য আদান-প্রদান

    একটি সরবরাহকারীর স্টক আপডেট আসে ইমেইলে পাঠানো CSV ফাইল হিসেবে, যা কর্মীরা হাতে কপি করে বসান, কখনো কখনো দুবার। আমরা সরবরাহকারীর ডেভেলপারদের সাথে একটি API কন্ট্রাক্টে একমত হব, অথেনটিকেটেড এন্ডপয়েন্টের মাধ্যমে আপডেট গ্রহণ করব এবং আইডেমপোটেন্সি কী-এর সাহায্যে ডুপ্লিকেট বাতিল করব।

একটি API প্রজেক্ট যেভাবে চলে

  1. 01

    কন্ট্রাক্ট নির্ধারণ

    আমরা আপনার সাথে মিলে কনজিউমার, রিসোর্স, অথেনটিকেশন ও এরর হ্যান্ডলিং ঠিক করি, তারপর OpenAPI বা GraphQL স্কিমা লিখে আপনার টিমের সাথে তা রিভিউ করি।

  2. 02

    স্পেক অনুযায়ী তৈরি

    কোডিং এজেন্ট স্কোপ করা এন্ডপয়েন্ট বাস্তবায়ন করে এবং ইঞ্জিনিয়াররা প্রতিটি পরিবর্তন রিভিউ করেন। মক সার্ভারের সাহায্যে আপনার ওয়েব ও মোবাইল টিম আগেভাগেই ইন্টিগ্রেশন শুরু করতে পারে।

  3. 03

    টেস্ট ও সুরক্ষা

    কন্ট্রাক্ট, ইন্টিগ্রেশন ও লোড টেস্ট, সাথে OWASP নির্দেশিকাভিত্তিক অনুমতি ও ইনপুট যাচাই। ফাইন্ডিংগুলো রিলিজের আগেই ঠিক করে রিটেস্ট করা হয়।

  4. 04

    রিলিজ ও মনিটরিং

    নিয়ন্ত্রিত ডিপ্লয়মেন্ট, যেখানে ডকুমেন্টেশন প্রকাশিত, মনিটরিং ও অ্যালার্ট চালু, এবং ভবিষ্যতের যেকোনো ব্রেকিং চেঞ্জের জন্য একটি ডেপ্রিকেশন পরিকল্পনা প্রস্তুত থাকে।

AI টুল নিয়ে কাজের দুটি উপায়

আমরা তৈরি করার সময় AI কোডিং এজেন্ট আপনার কোড কোথায় প্রসেস করতে পারবে, তা বেছে নিন। দুই ক্ষেত্রেই ইঞ্জিনিয়ারিং মানদণ্ড একই।

নিশ্চিত নন? স্কোপিংয়ের সময় আমরা একটি সুপারিশ করব। AI ব্যবহারের বিকল্প তুলনা করুন

ডিজাইন, QA ও পরিচালনা যেভাবে যুক্ত থাকে

  • ডেভেলপার ও ব্যবহারকারী, দুই পক্ষের জন্য ডিজাইন

    সামঞ্জস্যপূর্ণ নামকরণ, অনুমানযোগ্য এরর ও স্পষ্ট ডকুমেন্টেশন শুরু থেকেই ডিজাইনের অংশ। API যেখানে কোনো প্রোডাক্টকে সেবা দেয়, সেখানে ডিজাইনাররা নিশ্চিত করেন যে এররগুলো ব্যবহারকারীর কাছে স্পষ্ট বার্তা হয়ে পৌঁছায়।

  • কন্ট্রাক্ট ও অনুমতি টেস্টিং

    QA প্রতিটি পরিবর্তনে কন্ট্রাক্ট টেস্ট চালায় এবং রোল, অনুমতি, অবৈধ ইনপুট ও রেট লিমিট যাচাই করে, যাতে ব্রেকিং চেঞ্জ প্রোডাকশনে নয়, রিলিজের আগেই ধরা পড়ে।

  • প্রোডাকশনে অবজারভেবিলিটি

    স্ট্রাকচার্ড লগ, মেট্রিক্স, ট্রেসিং এবং এরর রেট ও লেটেন্সির ওপর অ্যালার্ট, সাথে নিয়ন্ত্রিত ডিপ্লয়মেন্ট ও প্রতিটি রিলিজের জন্য রোলব্যাক পরিকল্পনা।

  • ভার্সনিং ও চলমান রক্ষণাবেক্ষণ

    আমরা আগাম নোটিশ ও মাইগ্রেশন গাইডসহ ভার্সন ও ডেপ্রিকেশন পরিচালনা করি, এবং সম্মত একটি সাপোর্ট প্ল্যানের আওতায় API-টি প্যাচ করা, মনিটর করা ও ক্রমাগত উন্নত রাখতে পারি।

API-এর কাজের পরিধি যেখানে শেষ

  • যেসব ওয়েব বা মোবাইল অ্যাপ API কল করে, সেগুলো আলাদাভাবে স্কোপ করা হয় — দেখুন ওয়েব ডিজাইন ও ডেভেলপমেন্ট বা মোবাইল অ্যাপ ডেভেলপমেন্ট।
  • আপনার ইতিমধ্যে চালু থাকা কোনো API-এর স্বতন্ত্র নিরাপত্তা মূল্যায়ন একটি আলাদা এনগেজমেন্ট — দেখুন API সিকিউরিটি।
  • দুটি SaaS টুলে যদি আগে থেকেই তৈরি কানেক্টর থাকে, তাহলে সেগুলো যুক্ত করতে হয়তো নতুন কোনো API লাগবে না — দেখুন Zapier ইন্টিগ্রেশন।
  • থার্ড-পার্টি API-এর প্রাপ্যতা, লিমিট ও মূল্য নির্ধারণ তাদের প্রোভাইডারের হাতেই থাকে; আমরা রিট্রাই, ক্যাশিং ও অ্যালার্ট দিয়ে সেগুলো মাথায় রেখে ডিজাইন করি।

প্রশ্নোত্তর

সাধারণ প্রশ্নাবলী

REST নাকি GraphQL: আমাদের জন্য কোনটি উপযুক্ত?

পাবলিক API, রিসোর্স-ধাঁচের ডেটা ও বিস্তৃত ক্লায়েন্ট সাপোর্টের জন্য REST একটি নির্ভরযোগ্য ডিফল্ট পছন্দ, এবং এতে ক্যাশিং সহজ। যেসব প্রোডাক্টে পরস্পর-সম্পর্কিত অনেক ধরনের ডেটা থাকে এবং ক্লায়েন্টদের ভিন্ন ভিন্ন আকারে ডেটা দরকার হয়, যেমন একই ব্যাকএন্ড শেয়ার করা ওয়েব ও মোবাইল অ্যাপ, সেখানে GraphQL মানানসই। কিছু সিস্টেমে দুটোই ব্যবহার করা হয়। আপনার কনজিউমার, ডেটা ও টিমের ভিত্তিতে আমরা একটির সুপারিশ করি।

ভার্সনিং ও ব্রেকিং চেঞ্জ আপনারা কীভাবে সামলান?

যেখানে সম্ভব, আমরা ব্রেকিং চেঞ্জ এড়িয়ে চলি, যেমন বিদ্যমান ফিল্ড বদলানোর বদলে নতুন ফিল্ড যোগ করে। ব্রেকিং চেঞ্জ অপরিহার্য হলে আমরা নতুন ভার্সন প্রকাশ করি, ডেপ্রিকেশনের ঘোষণা দিই, মাইগ্রেশন গাইড দিই, এবং সম্মত একটি সময় পর্যন্ত পুরোনো ভার্সন চালু রাখি, পাশাপাশি মনিটর করি কারা এখনও সেটি ব্যবহার করছে।

API-টি কি আমাদের বিদ্যমান সিস্টেমের সাথে ইন্টিগ্রেট করতে পারবেন?

হ্যাঁ। আমরা CRM, ERP, পেমেন্ট প্রোভাইডার, লিগ্যাসি ডেটাবেস ও অভ্যন্তরীণ সার্ভিসের জন্য ইন্টিগ্রেশন লেয়ার তৈরি করি। প্রথমে আমরা ডেটা ও তার মালিকানা ম্যাপ করি, তারপর রিট্রাই, আইডেমপোটেন্সি ও রিকনসিলিয়েশন ডিজাইন করি, যাতে ব্যর্থতা নীরবে ডেটা হারিয়ে না ফেলে, বরং দৃশ্যমান থাকে এবং তা থেকে রিকভার করা যায়।

AI টুল কি আমাদের API key বা প্রোডাকশন ডেটা দেখতে পায়?

কোডিং এজেন্ট কাজ করে কোড ও টেস্ট ডেটা নিয়ে, প্রোডাকশন সিক্রেট নিয়ে নয়, এবং লাইভ সিস্টেমে তারা অবাধ অ্যাক্সেস পায় না। প্রাইভেট / লোকাল AI ইঞ্জিনিয়ারিংয়ে মডেল চলে আপনার ইনফ্রাস্ট্রাকচারে বা সম্মত একটি আইসোলেটেড এনভায়রনমেন্টে। Claude Code / OpenAI Codex ইঞ্জিনিয়ারিংয়ে বাণিজ্যিক এজেন্ট কোড প্রসেস করে সেই অ্যাকাউন্ট শর্তাবলি ও অ্যাক্সেসের অধীনে, যা কাজ শুরুর আগেই আমরা আপনার সাথে মিলে ঠিক করি।

নতুন API বা ইন্টিগ্রেশনের পরিকল্পনা করছেন?

API-টি কারা ব্যবহার করবে এবং এটিকে কোন কোন সিস্টেমের সাথে যুক্ত হতে হবে, আমাদের জানান। আমরা একটি আর্কিটেকচার ও ডেভেলপমেন্ট প্যাকেজের পরামর্শ দেব, তারপর স্কোপ ও মূল্যসহ একটি প্রস্তাব পাঠাব।