اتصال مستقیم و امن سیستمهای حسابداری، ERP، فروشگاه های آنلاین و فایلهای اکسل به سامانه مودیان بدون دغدغهی رمزنگاری، امضای دیجیتال و توکنهای مالیاتی.
وب سرویس مالیتور مبتنی بر معماری REST API بوده و کلیه تبادلات بر بستر پروتکل امن HTTPS با فرمت استاندارد JSON انجام میپذیرد. جهت برقراری ارتباط، لازم است کلید تبادل اختصاصی خود را در هدر درخواستها ارسال نمایید.
| آدرس پایه (Base URL): | https://apiaddress.ir/api/v1/ |
|---|---|
| هدرهای الزامی: |
Content-Type: application/json
Accept: application/json
X-API-KEY: [کلید-اختصاصی-۳۲-کاراکتری]
|
| ساختار پاسخ استاندارد: |
پاسخ تمامی متدها در ساختار یکپارچهی { isSuccess, errorMessage, referenceNumber, data } برگشت داده می شود.
|
403 Forbidden دریافت خواهد شد.پیش از ثبت صورتحساب ها، با فراخوانی این متد سقف مجاز روزانه و موجودی شارژ حساب کاربری را بررسی نمایید.
https://apiaddress.ir/api/v1/Invoices/quota
{
"isSuccess": true,
"errorMessage": null,
"referenceNumber": "MALITOR-20261106-112501-A1B2",
"data": {
"dailyLimit": 1000,
"todaySentCount": 15,
"remainingDailyLimit": 985,
"currentBalance": 4985
}
}
ثبت انواع فاکتور فروش اصلی، اصلاحی، ابطالی و برگشت از فروش. سیستم به طور خودکار محاسبات ارزش افزوده را بررسی کرده و سند را در صف ارسال با وضعیت آماده به ارسال قرار میدهد.
https://apiaddress.ir/api/v1/Invoices/pattern1
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
internalNo | long | بله | شماره فاکتور یکتا در نرمافزار شما |
invoiceDateTime | datetime | بله | تاریخ و زمان صدور (فرمت ISO: 2026-11-06T10:30:00) |
invoiceType | int | بله | ۱: نوع اول (رسمی)، ۲: نوع دوم (غیر رسمی/کارتخوان) |
invoiceSubject | int | بله | ۱: اصلی، ۲: اصلاحی، ۳: ابطالی، ۴: برگشت از فروش |
referenceTaxId | string(22) | شرطی | شماره ۲۲ رقمی مالیاتی صورتحساب مرجع (در اصلاحی/ابطالی اجباری است) |
isArticle9 | bool | خیر | مشمول موضوع ماده ۹ قانون پایانههای فروشگاهی (پیشفرض: false) |
buyerType | int | بله | ۱: حقیقی، ۲: حقوقی، ۳: مشارکت مدنی، ۴: اتباع، ۵: مصرفکننده نهایی |
buyerName | string | بله | نام و نام خانوادگی خریدار یا نام ثبتشده شرکت |
buyerNationalCode | string | شرطی | کد ملی ۱۰ رقمی خریدار حقیقی |
buyerNationalFin | string | شرطی | شناسه ملی ۱۱ رقمی خریدار حقوقی |
settlementType | int | بله | ۱: نقدی، ۲: نسیه، ۳: نقدی و نسیه |
cashPayment | decimal | شرطی | مبلغ پرداخت نقدی |
| آرایه اقلام کالا و خدمات (items) | |||
items[].sstid | string(13) | بله | شناسه ۱۳ رقمی کالا/خدمت مالیاتی تخصیص یافته در سامانه |
items[].am | decimal | بله | تعداد یا مقدار |
items[].fee | decimal | بله | مبلغ واحد قبل از تخفیف و مالیات |
items[].dis | decimal | خیر | مبلغ تخفیف این ردیف (پیشفرض: 0) |
items[].vra | decimal | بله | نرخ مالیات بر ارزش افزوده (مثلاً 10) |
items[].unit | string | خیر | کد واحد اندازهگیری (مثلاً "162" برای عدد) |
{
"internalNo": 1050,
"invoiceDateTime": "2026-11-06T10:30:00",
"invoiceType": 1,
"invoiceSubject": 1,
"referenceTaxId": null,
"isArticle9": false,
"buyerType": 1,
"buyerName": "رضا محمدی",
"buyerNationalCode": "0012345678",
"invoicePattern": 1,
"settlementType": 1,
"cashPayment": 1100000.0,
"items": [
{
"sstid": "2720000114427",
"sstt": "خدمات پشتیبانی نرم افزار",
"am": 1.0,
"fee": 1000000.0,
"dis": 0.0,
"vra": 10.0,
"unit": "162"
}
]
}
{
"isSuccess": true,
"errorMessage": null,
"referenceNumber": "MALITOR-20261106-112502-B3C4",
"data": {
"trackingUid": "9a12c456-7890-4abc-def1-23456789abcd",
"message": "صورتحساب با موفقیت در صف ارسال قرار گرفت و ۱ واحد از اعتبار API شما کسر شد."
}
}
با استفاده از کد پیگیری (trackingCode یا شناسه trackingUid)، وضعیت تایید در کارپوشه سامانه مودیان و کد ۲۲ رقمی مالیاتی صادرشده را دریافت فرمایید.
https://apiaddress.ir/api/v1/Invoices/inquiry/{trackingCode}
{
"isSuccess": true,
"errorMessage": null,
"referenceNumber": "MALITOR-20261106-112503-C5D6",
"data": {
"internalNo": 1050,
"trackingUid": "9a12c456-7890-4abc-def1-23456789abcd",
"taxId": "A12BC345D678EF90123456",
"invoiceDate": "2026-11-06T10:30:00",
"status": 1,
"createDate": "2026-11-06T10:30:15",
"inquiryCount": 2,
"lastInquiryDate": "2026-11-06T10:35:00"
}
}
دریافت لیست فاکتورهای ثبتشده همراه با ردیف اقلام و کنترل صفحه بندی.
https://apiaddress.ir/api/v1/Invoices?pageNumber=1&pageSize=10
مشاهده مشخصات کامل هدر، مبالغ پرداختی، مشخصات خریدار و اقلام ردیف فاکتور بر اساس شناسه پیگیری یکتا.
https://apiaddress.ir/api/v1/Invoices/details/{trackingUid}
| کد | عنوان | نیاز به شناسه مرجع |
|---|---|---|
1 | اصلی | خیر |
2 | اصلاحی | بله |
3 | ابطالی | بله |
4 | برگشت از فروش | بله |
| کد | روش | فیلد مورد نیاز |
|---|---|---|
1 | نقدی | cashPayment |
2 | نسیه | creditPayment |
3 | نقدی / نسیه | هر دو فیلد |
var client = new RestClient("https://apiaddress.ir/api/v1/Invoices/pattern1");
var request = new RestRequest(Method.POST);
request.AddHeader("X-API-KEY", "Your-Api-Key-Here");
request.AddHeader("Content-Type", "application/json");
var payload = new {
internalNo = 1050,
invoiceDateTime = DateTime.Now.ToString("s"),
invoiceType = 1,
invoiceSubject = 1,
buyerType = 1,
buyerName = "رضا محمدی",
buyerNationalCode = "0012345678",
invoicePattern = 1,
settlementType = 1,
cashPayment = 1100000m,
items = new[] {
new { sstid = "2720000114427", sstt = "توسعه نرمافزار", am = 1m, fee = 1000000m, vra = 10m, unit = "162" }
}
};
request.AddJsonBody(payload);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php
$apiKey = "Your-Api-Key-Here";
$url = "https://apiaddress.ir/api/v1/Invoices/pattern1";
$data = [
"internalNo" => 1050,
"invoiceDateTime" => date('Y-m-d\TH:i:s'),
"invoiceType" => 1,
"invoiceSubject" => 1,
"buyerType" => 1,
"buyerName" => "شرکت نمونه",
"invoicePattern" => 1,
"settlementType" => 1,
"cashPayment" => 1100000,
"items" => [
[ "sstid" => "2720000114427", "am" => 1, "fee" => 1000000, "vra" => 10, "unit" => "162" ]
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-KEY: " . $apiKey,
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Sub SendInvoiceToMalitor()
Dim http As Object, url As String, apiKey As String, jsonPayload As String
url = "https://apiaddress.ir/api/v1/Invoices/pattern1"
apiKey = "Your-Api-Key-Here"
jsonPayload = "{""internalNo"": 1050, ""invoiceDateTime"": """ & Format(Now, "yyyy-mm-ddThh:mm:ss") & """, ""invoiceType"": 1, ""invoiceSubject"": 1, ""buyerType"": 1, ""buyerName"": ""خریدار اکسل"", ""invoicePattern"": 1, ""settlementType"": 1, ""cashPayment"": 1100000, ""items"": [{""sstid"": ""2720000114427"", ""am"": 1, ""fee"": 1000000, ""vra"": 10, ""unit"": ""162""}]}"
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open "POST", url, False
http.setRequestHeader "Content-Type", "application/json"
http.setRequestHeader "X-API-KEY", apiKey
http.send jsonPayload
MsgBox "پاسخ مالیتور: " & vbCrLf & http.responseText, vbInformation, "سامانه مودیان"
End Sub
| کد وضعیت | عنوان | توضیحات |
|---|---|---|
| 200 | OK | درخواست با موفقیت دریافت شد و در صف ارسال قرار گرفت. |
| 400 | Bad Request | خطا در اعتبارسنجی مقادیر ارسالی فاکتور یا ساختار نامعتبر JSON. |
| 401 | Unauthorized | کلید دسترسی (X-API-KEY) ارسال نشده یا نامعتبر است. |
| 402 | Payment Required | اعتبار کیف پول API شما برای صدور فاکتور جدید به پایان رسیده است. |
| 403 | Forbidden | آدرس آیپی سرور شما در لیست سفید مجاز پنل کاربری ثبت نشده است. |
| 500 | Internal Server Error | خطای داخلی سرور در پردازش درخواست. کد پیگیری (referenceNumber) را بررسی کنید. |