اتصال مدلهای زبانی هوش مصنوعی (LLMs) نظیر ChatGPT و Claude به سامانه مودیان از طریق وب سرویس و ابزارهای مالیتور.
برخلاف چتباتهای متنی ساده که فقط پاسخ نوشتاری تولید میکنند، ایجنت های هوش مصنوعی (AI Agents) سیستمهایی هستند که توانایی تفکر مرحلهبهمرحله، ارزیابی شرایط و اجرای عملیات واقعی را از طریق وب سرویسها (Tool Calling) دارند.
در حوزه مالیات و کارپوشه مودیان، حسابدار به جای وارد کردن دستی اطلاعات، کافی است بگوید: «صورتحساب شماره ۵۰۲ را برای فلان مشتری صادر کن و اگر رد شد فاکتور اصلاحی بفرست». ایجنت با فراخوانی API مالیتور، دادهها را به کارپوشه شلیک کرده و پاسخ را تحلیل میکند.
ایجنت وضعیت فاکتور را استعلام میگیرد؛ اگر خطایی از سازمان مالیاتی دریافت شد، متن خطا را تحلیل کرده و با پر کردن فیلد referenceTaxId فاکتور اصلاحی یا ابطالی صادر میکند.
حسابدار شیت اکسل نامنظم را بارگذاری میکند. ایجنت ستونها و شناسههای کالا را تطبیق داده و مستقیماً متد POST /pattern1 مالیتور را صدا میزند.
ایجنت سقف روزانه مودی را با متد /quota مانیتور میکند و در صورت نزدیک شدن به سقف مجاز، هشدار و پیشنهاد افزایش شارژ ارائه میدهد.
توسعهدهندگان نرمافزارهای حسابداری و CRM میتوانند متدهای وب سرویس مالیتور را به عنوان ابزار به ایجنت های اختصاصی خود متصل کنند.
مدلهای زبانی مانند GPT-4o یا Claude 3.5 نیاز به دسترسی به دادهها و وب سرویسها دارند. کافی است مشخصات اندپوینتهای مالیتور را به صورت یک Tool Schema به هوش مصنوعی معرفی کنید تا به محض تقاضای کاربر، مقادیر فاکتور را برای فراخوانی API مالیتور آماده کند.
تعریف ساختار ارسال فاکتور الگوی 1 برای هوش مصنوعی:
// 1. Tool Definition for OpenAI
const malitorToolDefinition = {
"type": "function",
"function": {
"name": "send_malitor_invoice",
"description": "Send a Pattern 1 invoice to the Taxpayer System via Malitor API",
"parameters": {
"type": "object",
"properties": {
"internalNo": { "type": "integer", "description": "Internal invoice number" },
"buyerName": { "type": "string", "description": "Buyer name or company name" },
"buyerNationalCode": { "type": "string", "description": "10-digit national code" },
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sstid": { "type": "string", "description": "13-digit standard tax stuff id" },
"am": { "type": "number", "description": "Quantity" },
"fee": { "type": "number", "description": "Unit price" },
"vra": { "type": "number", "description": "VAT rate" }
},
"required": ["sstid", "am", "fee", "vra"]
}
}
},
"required": ["internalNo", "buyerName", "items"]
}
}
};
نحوه دریافت پاسخ از هوش مصنوعی و ارسال به مالیتور در پایتون (Python):
import requests
import json
from openai import OpenAI
client = OpenAI(api_key="OPENAI_API_KEY")
MALITOR_KEY = "YOUR_MALITOR_API_KEY"
# Prompt from Accountant
prompt = "Issue invoice 1080 for Reza Mohammadi with national code 0012345678. 2 items of code 2720000114427 at unit price 500,000."
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
tools=[malitorToolDefinition],
tool_choice="auto"
)
# Extract tool call & send to Malitor API
tool_call = response.choices[0].message.tool_calls[0]
if tool_call.function.name == "send_malitor_invoice":
data = json.loads(tool_call.function.arguments)
data["invoiceDateTime"] = "2026-11-06T10:30:00"
data["invoiceType"] = 1
data["invoiceSubject"] = 1
data["buyerType"] = 1
data["settlementType"] = 1
headers = {"X-API-KEY": MALITOR_KEY, "Content-Type": "application/json"}
res = requests.post("https://apiaddress.ir/api/v1/Invoices/pattern1", headers=headers, json=data)
print("Taxpayer Result:", res.json())