API و وب سرویس زنجیره انتقالات چک صیادی
فهرست حلقههای انتقال یک چک صیادی را با نقش و نام هر شخص برمیگرداند.
این سرویس چه میکند
خریداری که چک را از دست سوم میگیرد، میخواهد بداند پیش از او چه کسانی در مسیر بودهاند. این سرویس همین مسیر را به صورت آرایه میدهد: data.chain، که هر عضوش یک حلقه است با یک role_type عددی و آرایهٔ customers شامل name، national_code و customer_type هر شخص.
ورودی سه فیلد است. sayadId شانزده رقم است. nationalCode کد ملی دهرقمی صادرکننده یا شناسهٔ ملی یازدهرقمی شرکت است، با همین نام کلید برای هر دو. chequeType اختیاری است و اگر نفرستید ۱ گرفته میشود.
کد ملی صادرکننده را از کجا بیاوریم
روی برگهٔ چک چاپ نشده و باید از خود صادرکننده یا از ثبتنام او بگیرید. در رابط کاربری یک فیلد جدا برایش بگذارید و توضیح بدهید که برای شرکت، شناسهٔ ملی یازدهرقمی لازم است. ده رقم با رقم کنترل سنجیده میشود؛ یازده رقم فقط از نظر طول.
حلقهها را چگونه بخوانیم
مقدار role_type و customer_type عدد است و مستند معنای هر عدد را توضیح نمیدهد. جدول معنا را از خودتان نسازید؛ هر دو را همانطور که آمده ذخیره و نمایش دهید. هر حلقه آرایهای از اشخاص دارد، پس فرض نکنید در هر مرحله دقیقاً یک نفر هست.
آنچه این سرویس نمیکند
انتقال ثبت نمیکند و چک را به کسی منتقل نمیکند؛ فقط ثبتهای موجود را میخواند. تاریخ انتقال، بابت و مبلغ در نمونهٔ پاسخ نیست. وضعیت برگشت، رنگ اعتباری و موجودی حساب هم در آن نمیآید.
نتیجه نام و کد ملی چند شخص ثالث را دارد. آن را فقط به اندازهٔ نیاز نگه دارید و در لاگ ساده ننویسید.
هزینه کی کسر میشود
هم پاسخ موفق و هم not_found هزینه دارند. ورودی نامعتبر مثل شناسهٔ غیرشانزدهرقمی یا کد ملی با رقم کنترل غلط، موجودی ناکافی و خطای گذرای مرجع رایگاناند.
کجا به کار میآید
- بنگاه معاملات خودروکارشناس بنگاه، وقتی خریدار بخشی از قیمت را با چک دستبهدستشده میپردازد، مسیر انتقال را میبیند و اسمها را با ادعای فروشنده مقایسه میکند.
- صندوق خرید دینصندوقی که چک مشتریان را پیشخرید میکند، پیش از قیمتگذاری میبیند چک از چند دست گذشته و آیا نامهای میانراه با پرونده نمیخواند.
- حسابداری شرکت پخشحسابدار هنگام ثبت چک دریافتی از مشتری، زنجیره را در پرونده ذخیره میکند تا هنگام برگشت، اسناد کامل برای پیگیری حقوقی آماده باشد.
ورودی و خروجی
ورودی
sayadIdstringشناسهٔ صیادشانزده رقم.nationalCodestringکد ملی یا شناسهٔ ملی صادرکنندهٔ چکشخص حقیقی: کد ملی دهرقمی. شخص حقوقی: شناسهٔ ملی یازدهرقمی شرکت.chequeTypestringنوع چک (اختیاری)اگر نفرستید، 1.خروجی
chainarrayقیمت و شرط پرداخت
قیمت هر فراخوان API زنجیره انتقالات چک صیادی ۴٬۷۰۰ تومان است.
| تعداد استعلام در ماه | قیمت هر استعلام |
|---|---|
| همهٔ فراخوانها | ۴٬۷۰۰ تومان |
آخرین تغییر قیمت:
مبلغ پیش از تماس با سرویس مرجع از موجودی پنل قفل میشود و اگر پاسخی نیاید، آزاد میشود. ورودی نامعتبر، در دسترس نبودن سرویس مرجع و عبور از سقف نرخ هزینهای ندارند. «رکوردی یافت نشد» یک پاسخ معتبر است و هزینه دارد.
کمترین مبلغ شارژ پنل: ۵۰۰٬۰۰۰ تومان
پرسشهای متداول
برای دیدن انتقالهای قبلی یک چک صیادی چه چیزی لازم است؟
شناسهٔ ۱۶ رقمی چک و کد ملی صادرکننده (یا شناسهٔ ملی یازدهرقمی شرکت). `chequeType` اختیاری است و پیشفرضش ۱ است. با همین سه مقدار، `data.chain` برمیگردد.
استعلام زنجیرهٔ انتقال با استعلام چک صیادی چه فرقی دارد؟
استعلام چک مشخصات برگه را میدهد، مثل نام صادرکننده و شبا، و فقط شناسه میخواهد. زنجیره مسیر انتقال را میدهد و کد ملی صادرکننده هم لازم دارد. دو سرویس مستقلاند و جدا حساب میشوند.
وقتی پشتنویسی روی کاغذ حذف شده، این سرویس چه چیزی را میخواند؟
این سرویس چیزی ثبت یا پشتنویسی نمیکند و فقط انتقالهای ثبتشده را میخواند. اینکه هر انتقال دقیقاً از کجا و با چه شرطی وارد زنجیره میشود، از روی مستندات ما قابل اثبات نیست.
اگر صادرکنندهٔ چک شرکت باشد، چه بفرستم؟
شناسهٔ ملی یازدهرقمی شرکت را در همان کلید `nationalCode` بفرستید. برای شخص حقیقی کد ملی دهرقمی لازم است و رقم کنترلش سنجیده میشود.
کد ملی صادرکننده را از کجا بگیرم؟
روی برگهٔ چک چاپ نشده؛ باید از خود صادرکننده بگیرید. بدون آن، فراخوان این سرویس ممکن نیست و در صورت ده رقم نادرست `invalid_input` میگیرید که هزینه ندارد.
مقدار role_type چه معنایی دارد؟
مستند فقط نمونهٔ عددی میدهد و معنای هر عدد را نمیگوید. معنا را حدس نزنید؛ مقدار را همانطور ذخیره کنید و منتظر توضیح مستند بمانید.
هر حلقه چند نفر دارد؟
هر حلقه یک آرایه `customers` دارد و تعداد اعضای آن ثابت نیست. در کد خود روی آرایه حلقه بزنید و فرض نکنید فقط عضو اول مهم است.
اگر زنجیرهای پیدا نشود هزینه کسر میشود؟
بله. پاسخ `not_found` با وضعیت ۲۰۰ میآید و چون پرسش از مرجع انجام شده هزینه دارد. اگر مرجع در دسترس نباشد یا ورودی نامعتبر باشد، چیزی کسر نمیشود.
