ডেভেলপার

GET/v3/inventory/{number}

কেনা নম্বরের তালিকা দেখুন

কেনা নম্বরের কনফিগারেশন ও সংরক্ষিত অবস্থা পড়ুন; চাইলে টেলিফোন নম্বর দিয়ে ফিল্টার করুন।

এই পৃষ্ঠায়
  1. অনুরোধ
  2. প্রতিক্রিয়া
  3. ফিল্টার করা ও পৃষ্ঠায় ভাগ করা
  4. কোনো মিলে যাওয়া নম্বর নেই
  5. পরবর্তী পদক্ষেপ

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

অনুরোধ

HTTPS-এর মাধ্যমে সার্ভারের দিকে ব্যবহৃত API পরিচয়প্রমাণ ব্যবহার করুন। উদাহরণগুলো এনভায়রনমেন্ট ভেরিয়েবল থেকে পরিচয়প্রমাণ পড়ে; এগুলোতে কোনো কার্যকর পরিচয়প্রমাণ নেই। JSON বডির status.code এবং HTTP স্ট্যাটাস উভয়ই পরীক্ষা করুন। অ্যাপ্লিকেশনে ত্রুটি ঘটলে এই পুরোনো হ্যান্ডলারগুলো সব ক্ষেত্রে HTTP ত্রুটি স্ট্যাটাস নির্ধারণ করে না।

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory"

একটি সংরক্ষিত টেলিফোন নম্বর দিয়ে ফিল্টার করতে, ঐচ্ছিক পাথের রূপটি ব্যবহার করুন:

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory/12025550100"

সংরক্ষিত আন্তর্জাতিক টেলিফোন নম্বরটি দেশের কোডসহ অঙ্কে লিখুন। এর জায়গায় PBX এক্সটেনশন, নম্বরের UUID, এলাকার ID বা প্রিফিক্সের ID দেবেন না। দেওয়া নম্বরটি বিদ্যমান একটি রেকর্ড নির্বাচন করে; এটি কোনো নম্বর কেনে না বা কনফিগার করে না।

প্রতিক্রিয়া

সফল হলে response সদস্যটি সব সময় একটি অ্যারে হয়, একটি নম্বরের পাথের রূপ ব্যবহার করলেও। status.results হলো অ্যারের দৈর্ঘ্য।

এটি প্রতিক্রিয়ার গঠন বোঝানোর একটি উদাহরণ, অ্যাকাউন্টের তথ্য বা বর্তমান মূল্যের প্রস্তাব নয়।

{
  "status": {
    "code": 200,
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "number": "12025550100",
      "uuid": "NUMBER_UUID",
      "description": "Main reception",
      "isocode": "US",
      "config": {
        "uri": "sip:reception@example.com",
        "uri2": "",
        "uri3": "",
        "forward_destination": "",
        "sms_uri": "",
        "sms_forward_destination": ""
      },
      "features": {
        "voice": "1",
        "sms": "1",
        "mms": "0"
      },
      "status": {
        "capacity": {
          "assigned_channels": "2",
          "used_channels": "0",
          "overflow": "0",
          "overage_charge": "0.01"
        },
        "origination": {
          "origination_trunk_id": "ORIGINATION_ID",
          "origination_trunk_name": "ORIGINATION_NAME",
          "origination_country_iso": "US",
          "origination_continent_iso": "NA",
          "origination_continent_name": "North America"
        },
        "service_active": "1",
        "force_codec": "",
        "force_dtmf": ""
      },
      "billing": {
        "cnam": "0",
        "overflow": "0",
        "autorenew": "1",
        "persistent": "0",
        "date_created": "2026-01-01 00:00:00"
      },
      "price": {
        "setup_price": "0.00",
        "monthly_price": "1.00",
        "per_minute": "0.01",
        "free_minutes": "0",
        "remaining_minutes": "0"
      }
    }
  ]
}
ফেরত দেওয়া নম্বরের ফিল্ডগুলো
ফিল্ডঅর্থ
number, uuid, description, isocodeসংরক্ষিত টেলিফোন নম্বর, নম্বরের শনাক্তকারী যার অভ্যন্তরীণ গঠন থেকে অর্থ নির্ণয় করা উচিত নয়, বিবরণ এবং দেশের কোড।
configসংরক্ষিত ভয়েস গন্তব্য, বাহ্যিক ফরওয়ার্ডিং, SMS গন্তব্য এবং SMS ফরওয়ার্ডিংয়ের ফিল্ডগুলো। এই এন্ডপয়েন্ট এগুলো সম্পাদনা করে না।
featuresসংরক্ষিত ভয়েস, SMS ও MMS সক্ষমতার ফ্ল্যাগগুলো। পুরোনো সংরক্ষিত ফ্ল্যাগগুলো যে JSON বুলিয়ান হবে, তার নিশ্চয়তা নেই।
status.capacityবরাদ্দকৃত ও ব্যবহৃত চ্যানেলের মান, ওভারফ্লো সেটিং এবং সীমা ছাড়িয়ে ব্যবহারের সংরক্ষিত চার্জ। এগুলো সংরক্ষিত মেটাডেটা, সক্ষমতার নতুন মূল্যপ্রস্তাব বা বাস্তব কলের পরীক্ষা নয়।
status.originationকলের উৎপত্তি সম্পর্কিত সংরক্ষিত মেটাডেটা। শনাক্তকারীগুলোর অভ্যন্তরীণ গঠন থেকে অর্থ নির্ণয় করবেন না; অভ্যন্তরীণ নামের ভিত্তিতে অ্যাপ্লিকেশনের যুক্তি তৈরি করবেন না।
status.service_active, force_codec, force_dtmfসংরক্ষিত সক্রিয়করণ ও মিডিয়া কনফিগারেশনের ফিল্ডগুলো। শুধু একটি ফ্ল্যাগ দিয়ে আগত কল বা বার্তা সফলভাবে পৌঁছানোর প্রমাণ হয় না।
billingসংরক্ষিত CNAM, ওভারফ্লো, নবায়ন, স্থায়িত্ব ও তৈরির মানগুলো। এগুলো পড়লে নবায়ন বা বিলিংয়ের অন্য কোনো সেটিং পরিবর্তিত হয় না।
priceসংরক্ষিত সেটআপ, মাসিক ও প্রতি মিনিটের মূল্য এবং বরাদ্দকৃত মিনিট। হ্যান্ডলার কোনো মুদ্রার ফিল্ড বা নতুন মূল্যপ্রস্তাব দেয় না। উদাহরণের মানগুলো থেকে মুদ্রা অনুমান করবেন না বা সেগুলোকে বর্তমান ক্রয়মূল্যের প্রস্তাব হিসেবে ব্যবহার করবেন না।

ফিল্টার করা ও পৃষ্ঠায় ভাগ করা

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

কোনো মিলে যাওয়া নম্বর নেই

অ্যাকাউন্টে মিলে যাওয়া এমন কোনো রেকর্ড না থাকলে যা বাতিল হয়নি, JSON বডিতে status.code 404 থাকে এবং বার্তায় থাকে no numbers found। এটি সফল প্রতিক্রিয়া হিসেবে খালি অ্যারে ফেরত দেয় না। বার্তার শেষে উৎসের রেফারেন্সযুক্ত একটি অংশ থাকে, যেটিকে ক্লায়েন্টের স্থায়ী শনাক্তকারী হিসেবে পার্স করা উচিত নয়।

পরবর্তী পদক্ষেপ

ব্যবহার করুন numberinfo যখন একটি নম্বরের জন্য অতিরিক্ত পুরোনো নিবন্ধন ও নম্বরের রেফারেন্সের ফিল্ডগুলো প্রয়োজন হয়। আলাদা কনফিগারেশন অপারেশনের মাধ্যমে কোনো রুট পরিবর্তন করার আগে ভয়েস ও বার্তার গন্তব্যগুলো পরীক্ষা করুন।