API عمومی اکسلی / REST JSON — v1
دسترسی برنامهنویسی به ۵۰۰+ تابع اکسل — توضیح فارسی + ترجمه ۶ زبان، سینتکس، ورودیها، مثال، خطاها و دستهبندی. CORS فعال، بدون کلید، نرخ ۶۰ درخواست/دقیقه.
اندپوینتها
| Method | Path | توضیح |
|---|---|---|
| GET | /api/v1/functions | فهرست صفحهبندی (q, category, sort, page, per_page, lang) |
| GET | /api/v1/function/{slug} | جزئیات یک تابع (یا ?slug=sum) |
| GET | /api/v1/categories | دستهها با تعداد |
| GET | /api/v1/search?q= | Search |
| GET | /api/v1/random | Random |
پارامتر lang: fa|en|de|fr|tr|az|ar (پیشفرض fa). sort: popular|alpha|views. per_page حداکثر ۱۰۰. CORS * · X-RateLimit-* headers.
cURL
curl https://www.exceli.ir/api/v1/functions?per_page=3 curl https://www.exceli.ir/api/v1/function/sum?lang=fa curl https://www.exceli.ir/api/v1/categories curl https://www.exceli.ir/api/v1/search?q=vlookup curl https://www.exceli.ir/api/v1/random?lang=en
JavaScript
const r = await fetch('/api/v1/function/sum?lang=en').then(r=>r.json());
console.log(r.data.syntax, r.data.description);
Python
import requests
print(requests.get('https://www.exceli.ir/api/v1/functions', params={'q':'sum','lang':'en'}).json())
PHP
$j = file_get_contents('https://www.exceli.ir/api/v1/function/xlookup?lang=fa');
$data = json_decode($j, true); echo $data['data']['syntax'];
Playground — آزمایش زنده
{ "hint": "click a button ↑" }
پاسخ envelope: {success, data, meta} — خطا status 400/404/429
Schema — Function
{
slug, title, category, applications[],
syntax, description, output, version,
volatile, dynamicArray, popularity, views,
args[{name,type,required,desc}],
examples[{title,code}], tips[],
errors[{code,desc,fix}], related[],
links{url, canonical, api}
}
فیلدهای متنی با lang بومیسازی میشوند (func-i18n.php) وگرنه فارسی.
CORS & Rate limit
CORS برای همه دامنهها باز است (Access-Control-Allow-Origin: *). محدودیت نرخ ۶۰ درخواست در دقیقه برای هر IP (حافظه فایل tmp، best-effort) — هدرهای X-RateLimit-Limit / Remaining / Window و 429 هنگام عبور.