کتابخانههای رسمی
هر دو کتابخانه تمام endpointها را پوشش میدهند، خطاها را به کلاس تبدیل میکنند، صفحهبندی را خودکار انجام میدهند و امضای وبهوک را تأیید میکنند.
Node.js
@aiproxy/sdkbash
npm install @aiproxy/sdkNode 18 یا بالاتر
PHP
aiproxy/sdkbash
composer require aiproxy/sdkPHP 8.1 یا بالاتر — با Laravel هماهنگ
ساختار
متدها در شش فضای نام گروهبندی شدهاند:
client.jobsارسال و پیگیری پردازشestimate · create · retrieve · list · iterate · cancel · wait · run · content · stream · preview · downloadclient.filesآپلود دارایی قابل استفادهٔ مجددupload · previewclient.catalogابزارها، تعرفهها و وضعیت سرویسtools · tool · plans · packs · limits · statusclient.accountکیف پول، مصرف و کلیدهاwallet · usage · profile · updateProfile · keysclient.paymentsخرید اشتراک و اعتبارcheckout · historyclient.webhooksرویدادها و تأیید امضاlist · create · update · delete · test · deliveries · constructEventتنظیمات
const client = new Client({
apiKey: process.env.API_KEY,
baseUrl: 'https://aidoom.ir/api',
timeoutMs: 30_000,
maxRetries: 2,
// هدر اضافه روی هر درخواست (مثلاً برای ردیابی)
headers: { 'x-trace-id': traceId },
// قلابهای مشاهدهپذیری
onRetry: ({ attempt, delayMs }) => log.warn({ attempt, delayMs }),
onResponse: ({ path, status, durationMs }) => metrics.observe(path, status, durationMs),
});لغو درخواست
js
const ctrl = new AbortController();
setTimeout(() => ctrl.abort(), 5000);
await client.jobs.run('face-swap', params, { signal: ctrl.signal });تغییر نام هدر امضا
اگر سرویس شما هدر امضا را با نام دیگری ارائه میدهد، قابل تنظیم است:
js
const client = new Client({
apiKey: '...',
brand: { slug: 'acme', signatureHeader: 'acme-signature' },
});تلاش مجدد امن. درخواست POST فقط وقتی تکرار میشود که
Idempotency-Key داشته باشد، تا قطعیِ شبکه پس از پذیرش کار باعث کسر دوبارهٔ اعتبار نشود.