پیشنهاد شروع: ۵۰٪ تخفیف روی همهٔ پلن‌های پولی. سهمیهٔ بیشتر با نصف قیمت. دیدن تعرفه‌ها

Esc

Ask API

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

فقط در طرح کسب‌وکار. در طرح‌های دیگر جواب 403 می‌گیرید.

ساختن کلید API

ورود با کلید API

کلید را در بخش «برنامه‌ها و کلیدها» داشبورد بسازید و در هدر Authorization به‌شکل Bearer بفرستید. همان کلید روتر برای /api/v1 است.

درخواست

بدنهٔ JSON فقط یک فیلد دارد: q، متنی از ۱ تا ۲۰۰۰ نویسه. فایل را با UTF-8 ذخیره کنید، چون ترمینال‌ها فارسی را در آرگومان خراب می‌کنند.

ask.json
{
  "q": "ارزان ترین گوشی سامسونگ در دیجی کالا چیست؟"
}
POST /api/v1/ask
curl -X POST "https://mcpfarsi.ir/api/v1/ask" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @ask.json

درخواست‌های چندسرویسی و چندمرحله‌ای هم جواب می‌گیرند؛ مثلاً «ارزان‌ترین پرواز را پیدا کن، بعد برای همان روز هتل بگرد». دستیار خودش سرویس‌ها را پشت سر هم اجرا می‌کند.

جواب

نمونه (مقدارها نمایشی‌اند):

200 OK
{
  "status": "ok",
  "answer": "…",
  "data": [
    {
      "server": "digikala",
      "tool": "dk_find_cheapest",
      "arguments": { "query": "…" },
      "isError": false,
      "result": { "…": "…" }
    }
  ],
  "usage": { "calls": 1, "ms": 0 }
}
  • answer: پاسخ کوتاه به زبان درخواست.
  • data: به‌ازای هر اجرا یک آیتم با server، tool، arguments، isError و result (خروجی خام).
  • usage: calls تعداد اجراها و ms زمان کل.

فیلد status

  • ok: دست‌کم یک اجرا موفق بود. پاسخ و خروجی خام در جواب هست.
  • no_tool: در بازارچه قابلیتی که به این درخواست بخورد پیدا نشد.
  • failed: اجراها خطا دادند یا مهلت تمام شد.

در وضعیت no_tool، data خالی است، از سهمیه چیزی کم نمی‌شود و answer همیشه یک جملهٔ ثابت است: برای سؤال فارسی «این سرویس نمی‌تواند به این درخواست پاسخ دهد: هیچ‌کدام از سرویس‌های در دسترس به آن مربوط نیست.» و برای زبان‌های دیگر همین معنی به زبان خود سؤال، مثلاً "This service cannot answer this request: none of the available services covers it."

کدهای HTTP

کدمعنی
200درخواست اجرا شد، با هر یک از سه وضعیت بالا.
400q خالی است، متن نیست یا بیشتر از ۲۰۰۰ نویسه است.
401کلید API نادرست یا حذف‌شده است.
403طرح شما Ask API ندارد. بدنهٔ جواب فیلد plan را با طرح لازم می‌دهد.
429به یکی از سقف‌ها رسیدید: سهمیهٔ طرح، تعداد درخواست در دقیقه، تعداد درخواست در روز یا هزینهٔ روزانه.
502مدل زبانی خطا داد.
503Ask API فعلاً خاموش است.

سهمیه و محدودیت‌ها

  • سهمیه: هر اجرای موفق یک قابلیت، یک اجرا از سهمیهٔ طرح کم می‌کند. جستجوی قابلیت و اجرای ناموفق شمرده نمی‌شود. تعرفه‌ها
  • فقط خواندن: این API فقط داده می‌خواند و هیچ‌وقت خرید، رزرو یا ثبت سفارش نمی‌کند. ابزارهایی که اثر جانبی دارند در آن اجرا نمی‌شوند.
  • مهلت: هر درخواست حدود ۴۵ ثانیه وقت دارد. بعد از آن وضعیت failed می‌گیرید.
  • خروجی بزرگ: خروجی بیشتر از ۶۴ کیلوبایت بریده می‌شود و truncated: true می‌گیرد. در این حالت result یک رشتهٔ نیمه‌کاره است، نه ساختار JSON.
data[ ]
{ "server": "…", "tool": "…", "isError": false, "result": "…", "truncated": true }

نظر یا گزارش مشکل

برای فرستادن لازم نیست وارد شوید.

دربارهٔ چیست؟
۰ از ۲۰۰۰

چه کردید، چه انتظار داشتید و چه شد؟ اگر دربارهٔ ابزار خاصی است، نامش را هم بنویسید.

ایمیل یا آیدی تلگرام، اگر جواب می‌خواهید و وارد حساب نشده‌اید.

پیامتان رسید

ممنون که نوشتید. اگر وارد حساب شده‌اید، جواب در حساب، بخش «پیام‌های من» می‌آید؛ اگر راه تماس گذاشته باشید، از همان راه هم جواب می‌گیرید.