সংযুক্ত করার আগে আপলোড করুন
প্রমাণ বা সহায়ক নথির একটি বিভাগের ফাইলগুলো আপলোড করুন, তারপর ফেরত পাওয়া ফাইল ID সংযুক্ত করতে ব্যবহার করুন create_proof অথবা create_supporting_document। শুধু আপলোড করলেই পরিচয়, ঠিকানা, প্রমাণ বা সম্পূর্ণ নম্বর নিবন্ধন তৈরি হয় না। শুরুতেই দেখুন বর্তমান প্রয়োজনীয় শর্তগুলো এবং ক্যাটালগের ID।
ঠিক একটি নির্বাচক দিন: proof_type_id পরিচয়/ঠিকানার প্রমাণের জন্য, অথবা supporting_template_id সহায়ক নথির জন্য। দুটোই পাঠাবেন না। সংশ্লিষ্ট MultiTEL ক্যাটালগ থেকে ফেরত পাওয়া ID ব্যবহার করুন; এগুলোকে এমন শনাক্তকারী হিসেবে বিবেচনা করুন যার অভ্যন্তরীণ গঠন থেকে কোনো অর্থ অনুমান করা যাবে না।
আপলোডের অনুরোধ
সক্রিয় MultiTEL API অ্যাকাউন্ট এবং সেটির অনুমোদিত IP ঠিকানা ব্যবহার করুন। উদাহরণগুলোতে এনভায়রনমেন্ট ভেরিয়েবল থেকে HTTP Basic প্রমাণীকরণ তথ্য নেওয়া হয়েছে; আপনার অ্যাকাউন্টের ধরনের জন্য প্রযোজ্য প্রমাণীকরণ পদ্ধতি অনুসরণ করুন। HTTPS দিয়ে অনুরোধ পাঠান। HTTP প্রতিক্রিয়া এবং JSON-এর এই মান—দুটোই পরীক্ষা করুন: status.code; HTTP 200-এর সঙ্গেও অ্যাপ্লিকেশনের ত্রুটি আসতে পারে। নিচের উদাহরণগুলো কাল্পনিক।
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--form-string "proof_type_id=$PROOF_TYPE_ID" \
--form-string 'description=Identity proof' \
--form 'files[0]=@./identity-proof.pdf' \
https://api.multitel.net/v3/create_encrypt_files| ক্ষেত্র | অর্থ |
|---|---|
files[0] … files[4] | এক থেকে পাঁচটি আপলোড করা ফাইল। মাল্টিপার্ট ফর্ম ডেটা ব্যবহার করুন এবং curl-কে এর Content-Type সীমানা তৈরি করতে দিন। এই ক্ষেত্রগুলোতে ফাইলের বাইট থাকে, URL বা JSON Base64 নয়। |
proof_type_id | প্রমাণ আপলোডের জন্য আবশ্যক; ফেরত পাওয়া এই ID ব্যবহার করুন: প্রমাণের ধরনের ID। supporting_template_id বাদ দিন। |
supporting_template_id | সহায়ক ফাইলের জন্য proof_type_id-এর পরিবর্তে এটি আবশ্যক; ফেরত পাওয়া এই ID ব্যবহার করুন: টেমপ্লেটের ID। |
description | অনুরোধকারীর দেওয়া ঐচ্ছিক বিবরণ, সর্বোচ্চ 100 অক্ষর। বিবরণ বাদ দিলে সহায়ক নথি আপলোডে টেমপ্লেটের নাম ব্যবহার করা হতে পারে। |
ফাইলের সীমা
এই হ্যান্ডলার সর্বোচ্চ পাঁচটি ফাইল এবং সব মিলিয়ে 20,000,000 বাইট গ্রহণ করে। এটি দশমিক ভিত্তিক বাইটের সীমা, 20 MiB নয়। অবকাঠামো বা MIME যাচাইয়ের কারণে অতিরিক্ত সীমা প্রযোজ্য হতে পারে।
অনুমোদিত এক্সটেনশনগুলোর তালিকা হলো pdf, png, jpg, jpeg, gif, tiff, bmp, doc, docx, xls, xlsx, txt, rtf এবং csv। কোনো এক্সটেনশন অনুমোদিত হলেই তার মানে এই নয় যে ফাইলটি নির্বাচিত নিবন্ধনের শর্ত পূরণ করে। বিশেষ করে, tif এই অনুমোদিত তালিকায় নেই।
ফেরত পাওয়া প্রতিটি ফাইল পরীক্ষা করুন
{
"status": {
"code": 200,
"msg": "Encrypt file has been created successfully"
},
"response": {
"entity_type": "identities",
"document_category": "proof",
"proof_type": "11111111111111111111111111111111",
"ids": [
{
"id": "22222222222222222222222222222222",
"name": "identity-proof.pdf",
"expired_at": "2026-10-23 16:20:00"
}
]
}
}প্রতিটি response.ids[].id সংযুক্তির অনুরোধের জন্য সংরক্ষণ করুন। name ফেরত পাওয়া মূল ফাইলের নাম শনাক্ত করে। আলাদা আলাদা ফাইলের নাম ব্যবহার করুন এবং প্রত্যাশিত ফাইলসমষ্টির সঙ্গে ফেরত পাওয়া ফাইলগুলো মিলিয়ে দেখুন: 200 কোড আংশিকভাবে সফল একটি ব্যাচও বোঝাতে পারে। আবশ্যক ফাইল অনুপস্থিত আছে এমন কোনো ফাইলসমষ্টি সংযুক্ত করবেন না।
entity_type-এর মান হয় identities অথবা addresses প্রমাণের ক্ষেত্রে, এবং supporting_documents সহায়ক নথি আপলোডের ক্ষেত্রে। document_category-এর মান হয় proof অথবা supporting। সাধারণ নামযুক্ত proof_type প্রতিক্রিয়া ক্ষেত্রটি সহায়ক নথি আপলোডের জন্য টেমপ্লেটের রেফারেন্সও বহন করে; সংযুক্তির জন্য আপনার মূল supporting_template_id সংরক্ষণ করুন।
দ্রুত সংযুক্ত করুন
আপলোড করা ফাইল স্থানীয়ভাবে সংরক্ষণের প্রায় 20 মিনিট পর সেবাটি মেয়াদ শেষ হওয়ার সময় নির্ধারণ করে। সংযুক্তির সময় পরীক্ষা করা হয় যে ফাইলটি একই অ্যাকাউন্টের, মেয়াদোত্তীর্ণ হিসেবে চিহ্নিত নয়, এখনও মেয়াদ শেষ হয়নি এবং এর সত্তার বিভাগ সঠিক। expired_at-এ এই প্রতিক্রিয়ায় কোনো টাইমজোন অফসেট নেই; এটিকে UTC ধরে নেবেন না। মেয়াদ শেষ হওয়ার ঠিক আগের সময়ে কাজ নির্ধারণ না করে দ্রুত সংযুক্ত করুন।
আপলোড রেফারেন্সের মেয়াদ শেষ হওয়া মানে এই প্রতিশ্রুতি নয় যে সেই সময়ে সংরক্ষিত নথির সব কপি মুছে ফেলা হবে। সেবাটি ক্যারিয়ারের কাছে আপলোডের জন্য ফাইল এনক্রিপ্ট করে এবং নথির কর্মপ্রবাহের জন্য মূল বাইটগুলো সংরক্ষণ করে; এটিকে শুধু ক্লায়েন্টে এনক্রিপশন করা হয় এমন ব্যবস্থা বা কোনো তথ্য সংরক্ষণ করে না এমন সেবা হিসেবে বিবেচনা করবেন না। সর্বজনীন লগে ID, ফাইলের নাম ও প্রতিক্রিয়া রাখবেন না।
ত্রুটি ও পুনঃচেষ্টা
কোনো নথির ফাইল না দিলে বর্তমান হ্যান্ডলার API কোড 404 ব্যবহার করে। বিবরণ যাচাই, অনুপস্থিত বা পরস্পরবিরোধী নির্বাচক, অবৈধ প্রমাণ/টেমপ্লেট ID, ফাইলের সংখ্যা বা মোট আকারের সীমা, সংরক্ষণের সমস্যা অথবা ব্যর্থ আপলোডের ক্ষেত্রে কোড 500 ব্যবহার করে। পড়ুন status.msg; অবৈধ ইনপুট সবসময় 400 কোড দিয়ে নির্দেশ করা হয় না।
এখানে ক্লায়েন্টের ব্যবহারের জন্য কোনো আইডেমপোটেন্সি কী দেওয়া হয়নি। প্রতিক্রিয়া হারিয়ে গেলে আবার আপলোড করার আগে নথির কর্মপ্রবাহ পরীক্ষা করুন; আরেকটি অনুরোধ নতুন ফাইল রেফারেন্স তৈরি করতে পারে। গ্রাহকের পরিচয়সংক্রান্ত নথি দিয়ে এই উদাহরণগুলো চালানো হয়নি।