روش پیکربندی، پیش‌نیازها و نکته‌های ضروری در پیاده‌سازی رابط برنامه‌نویسی

روش پیکربندی
واسط برنامه‌نویسی حسابفا (API) با استفاده از تکنولوژی Web Api2 پیاده‌سازی شده و انتقال اطلاعات بر پایۀ پروتکل HTTP است. این سرویس، عملیات‌ها را با متدهایی ارائه می‌دهد که سمت سرور پیاده‌سازی شده‌اند و برنامه‌نویس می‌تواند چنین متدهایی را مستقیماً فراخوانی کند. مقادیر ارسالی و دریافتی بر اساسJSON است و تمامی متدها، مقادیر ارسالی را بر پایۀ مشخصی از شیئ‌های JSON به کلاینت انتقال می‌دهند که در ادامه به آنها خواهیم پرداخت.
پیش‌نیازها
  1. apiKey: مجوز استفاده از سرویس API حسابفا با apiKey تأیید می‌شود که این apiKey به ازای هر کسب و کار یکتا و معرف آن کسب و کار است.
    برای دریافت این توکن در حسابفا به بخش تنظیمات> تنظیمات مالی> API بروید.
  2. loginToken: توکن ورود به کسب و کار
    این توکن برای ورود به کسب و کار است و آن را می‌توانید در حسابفا، بخش تنظیمات> تنظیمات مالی> API دریافت کنید.
  3. userId: نام کاربری صاحب کسب و کار که برای ورود به سیستم حسابفا از آن استفاده می‌کنید.
  4. password: کلمۀ عبور صاحب کسب و کار صاحب کسب و کار است که آن را هنگام ورود به سیستم حسابفا به‌کار می‌برید.

نکته‌های ضروری
  1. احراز هویت به دو روش انجام می‌شود:
    از طریق loginToken
    از طریق userId و password صاحب کسب و کار
    اگر در پارامترها مقدار loginToken آمده باشد، نیازی به واردسازی userId و password نیست؛ اما اگر پارامتر loginToken وجود نداشته باشد، تشخیص هویت افراد با userId و password انجام می‌شود.
  2. کلیه درخواست‌های ارسالی به سرور باید به روش POST باشند.
  3. در بدنۀ تمامی درخواست‌ها باید یک آبجکت JSON به نام data وجود داشته باشد که مقادیر ارسالی، به‌عنوان پارامتر در آن ذخیره شوند
  4. همۀ تاریخ‌ها در سیستم API حسابفا به میلادی تعریف شده‌اند. به یاد داشته باشید که قالب تاریخ به‌شکل YYYY-MM-DD HH:MM:SS است.
توجه کنید که:
  1. مقدار سال مالی یا yearId برای نخستین سال مالی برابر با 1، برای سال مالی بعد برابر با 2 و به ‌همین ترتیب ادامه خواهد یافت.
  2. اگر شما yearId را نفرستید، آخرین سال مالی به‌صورت اتوماتیک در نظر گرفته می‌شود؛ وگرنه اطلاعات دربارۀ سال مالی yearId فرستاده خواهد شد.
نکته‌های مهم:

requestUniqueId: شناسه یکتای درخواست

  1. شناسۀ یکتای درخواست یا requestUniqueId: پیوست شناسۀ یکتای درخواست از پردازش درخواست‌های تکراری جلوگیری می‌کند. اگر این شناسه را الصاق نکنید، تکراری بودن درخواست شما بررسی نخواهد شد.
  2. شناسۀ یکتای درخواست فقط در متدهایی کنترل می‌شود که مانند متدهایSave ، Delete و Set وظیفۀ تغییر یا ذخیره‌سازی اطلاعات را دارند. این شناسه در متدهایی مثل Get ، Find و List که وظیفۀ گرفتن اطلاعات را دارند، نادیده گرفته می‌شود
  3. شناسۀ یکتای درخواست به مدت 24 ساعت معتبر است و پس از این بازۀ زمانی، نادیده گرفته خواهد شد.
  4. این شناسه باید به فرمت GUID فرستاده شود (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) که x یک مقدار هگزادسیمال بین 0 و F است. مثال: 3adb4da2-a970-441e-96fd-9864a40d034d
  5. سیستم API حسابفا در هر دقیقه از هر IP حداکثر به ۲۴۰ درخواست پاسخ می‌دهد.