API توسعهدهندگان طارق
طارق را با یک اندپوینت احرازشده به محصول خود وصل کنید. کلید، اندازهگیری مصرف و سیگنال هزینه.
شروع سریع
بهعنوان ادمین کلید بسازید، سپس با POST و secret درخواست بفرستید. پاسخ JSON یکجا است.
- 1
ساخت کلید
Admin → API keys، نامگذاری، کپی secret یکبار.
- 2
فراخوانی API
POST به /public/chat با Authorization: Bearer <secret>.
- 3
ادامه گفتگو
conversation_id را برای نوبت بعد نگه دارید.
احراز هویت
هر درخواست به کلید توسعهدهنده نیاز دارد. هدر Authorization ترجیح دارد. ابطال از پنل ادمین فوری است.
توکن Bearer (پیشنهادی)
Authorization: Bearer tariq_…
هدر X-API-Key
X-API-Key: tariq_…
آدرس پایه
در پروداکشن پیشوند /api/v1 روی origin است.
https://tariq.ainovis.ir/api/v1
گفتگو
پارامترها
| نام | نوع | توضیح |
|---|---|---|
| query | رشته · الزامی | پیام کاربر — الزامی |
| conversation_id | رشته · اختیاری | شناسه گفتگو — اختیاری |
| user | رشته · اختیاری | شناسه کاربر نهایی — اختیاری |
بدنه درخواست
{
"query": "string",
"conversation_id": "string | null",
"user": "string | null"
}بدنه پاسخ
{
"answer": "string",
"conversation_id": "uuid",
"message_id": "uuid",
"usage": {
"latency_ms": 842,
"tokens_prompt": 1033,
"tokens_completion": 128,
"tokens_total": 1161,
"cost_total": 0.001289,
"cost_currency": "USD"
}
}cURL
curl -X POST 'https://tariq.ainovis.ir/api/v1/public/chat' \
-H 'Authorization: Bearer tariq_YOUR_SECRET' \
-H 'Content-Type: application/json' \
-d '{
"query": "What is the ruling on combining prayers while traveling?",
"user": "end-user-42"
}'Python
import requests
res = requests.post(
"https://tariq.ainovis.ir/api/v1/public/chat",
headers={"Authorization": "Bearer tariq_YOUR_SECRET"},
json={
"query": "What is the ruling on combining prayers while traveling?",
"user": "end-user-42",
},
timeout=60,
)
res.raise_for_status()
data = res.json()
print(data["answer"])
print(data["conversation_id"])
print(data["usage"])گفتگوی چندنوبتی
بدون conversation_id گفتگوی جدید شروع میشود. برای ادامه، همان id را برگردانید.
مدل خطا
خطاها JSON با detail و request_id برمیگردند. با هدر X-Request-ID لاگها را همراستا کنید.
| 401 | کلید نامعتبر، مفقود یا باطل |
| 400 | بدنه درخواست نامعتبر |
| 502 | خطای ارائهدهنده مدل |
| 503 | Dify روی سرور پیکربندی نشده |
| 504 | تایماوت بالادست |
مصرف و هزینه
طارق هر تماس را متر میکند: تعداد، تأخیر، موفقیت/خطا، توکن و total_price در صورت وجود. در داشبورد ببینید.
metadata.usage در Dify
پاسخ blocking شامل توکنها، قیمت واحد، total_price و currency است.
{
"prompt_tokens": 1033,
"completion_tokens": 128,
"total_tokens": 1161,
"prompt_price": "0.0010330",
"completion_price": "0.0002560",
"total_price": "0.0012890",
"currency": "USD"
}فرمول هزینه
بهتر: جمع total_price. جایگزین: توکن × نرخ $/۱K.
کلیدهای API
ادمینها کلید میسازند؛ secret فقط یکبار نشان داده میشود.
ایجاد کلید API