نسخه وب‌سرویس: v1.0.0

مستندات فنی وب‌سرویس مالیتور

اتصال مستقیم انواع سیستم‌های حسابداری، CRM، فروشگاه‌های ووکامرس و نرم‌افزارهای اختصاصی به سامانه مودیان بدون درگیری با امضای دیجیتال و محاسبات پیچیده کلیدها.

۱. شروع سریع و احراز هویت

تمامی درخواست‌ها به وب‌سرویس مالیتور به صورت پروتکل استاندارد REST API و با قالب تبادل داده JSON ارسال می‌شوند. جهت برقراری ارتباط، ارسال کلید دسترسی اختصاصی در هدر درخواست الزامی است.

آدرس پایه (Base URL): https://api.malitor.ir/api/v1/
هدرهای اجباری: Content-Type: application/json X-API-KEY: [Your-32-Char-Key]

۲. الزامات امنیتی و محدودیت‌ها

  • لیست سفید آی‌پی (IP Whitelist): درخواست‌های ارسالی با API Key شما تنها از آدرس‌های IP تعریف‌شده در پنل کاربری مجاز خواهند بود. در صورت ارسال درخواست از IP ناشناس، خطای 403 Forbidden بازگردانده می‌شود.
  • کنترل نرخ درخواست (Rate Limit): جهت حفظ پایداری سرویس، هر مودی مجاز به ارسال نهایتاً ۳۰ درخواست در ثانیه است. در صورت فراتر رفتن، سیستم خطای 429 Too Many Requests صادر می‌کند.
GET

استعلام سهمیه و کیف پول (Quota)

قبل از اقدام به ثبت اسناد، با فراخوانی این متد می توانید سقف مجاز روزانه و شارژ اعتباری باقیمانده را بررسی فرمایید.

/invoices/quota
curl -X GET "https://api.malitor.ir/api/v1/invoices/quota" \
-H "accept: application/json" \
-H "X-API-KEY: 11111111-2222-3333-4444-555555555555"
نمونه پاسخ موفق (200 OK):
{
  "isSuccess": true,
  "data": {
    "dailyLimit": 1000,
    "todaySentCount": 12,
    "remainingDailyLimit": 988,
    "currentBalance": 4988
  },
  "errorMessage": null,
  "referenceNumber": "MALITOR-20261016183020-A1B2C3D4"
}
POST

ارسال صورتحساب (الگوی ۱ - فروش)

این متد برای ارسال صورتحساب های فروش کالا و خدمات با الگوی ۱ به سامانه مودیان استفاده می‌شود. پس از ارسال موفق، یک TrackingCode (کد رهگیری) به شما بازگردانده می‌شود.

/invoices/pattern1
نمونه بدنه درخواست (Request Body):
{
  "invoiceDate": "2023-11-25T14:30:00",
  "invoiceNumber": "10052",
  "buyerNationalId": "1234567890",
  "buyerType": 1, 
  "items": [
    {
      "stuffId": "2720000123456",
      "quantity": 2,
      "unitPrice": 1500000,
      "discount": 0,
      "taxRate": 9
    }
  ]
}
نمونه پاسخ موفق (200 OK):
{
  "isSuccess": true,
  "data": {
    "trackingCode": "8f3a5b2c-1d4e-4f7a-8b9c-2d3e4f5a6b7c"
  },
  "errorMessage": null,
  "referenceNumber": "MALITOR-20261016184512-XYZ987"
}
GET

استعلام وضعیت فاکتور

با استفاده از کد رهگیری (TrackingCode) دریافت شده در مرحله قبل، می توانید وضعیت تایید یا خطای فاکتور را از سامانه مودیان استعلام بگیرید.

/invoices/inquiry/{trackingCode}
curl -X GET "https://api.malitor.ir/api/v1/invoices/inquiry/8f3a5b2c-1d4e..." \
-H "accept: application/json" \
-H "X-API-KEY: 11111111-2222-3333-4444-555555555555"
نمونه پاسخ (وضعیت فاکتور):
{
  "isSuccess": true,
  "data": {
    "status": "Success",
    "taxId": "1111111111111111111111",
    "message": "Invoice Sent"
  },
  "errorMessage": null,
  "referenceNumber": "MALITOR-20261016185010-ABC123"
}

۶. کدهای وضعیت و خطاها (HTTP Status Codes)

کد وضعیت عنوان توضیحات
200 OK درخواست با موفقیت پردازش شد.
400 Bad Request خطا در اعتبارسنجی مقادیر ارسالی (مانند فرمت اشتباه تاریخ یا خالی بودن فیلد اجباری).
401 Unauthorized کلید دسترسی (X-API-KEY) ارسال نشده، منقضی شده یا نامعتبر است.
403 Forbidden آی‌پی سرور شما در لیست سفید ثبت نشده، یا مجوز ارسال این الگوی خاص را ندارید.
429 Too Many Requests تعداد درخواست‌های شما در یک ثانیه از سقف مجاز (۳۰ درخواست) فراتر رفته است.
500 Internal Server Error خطای داخلی سرور. لطفاً کد رهگیری (referenceNumber) را به پشتیبانی اطلاع دهید.