itd-api / ItdClientOptions
Interface: ItdClientOptions
Defined in: options.ts:22
Опции конструктора ItdClient.
Полный SDK — composition root: он объединяет настройки исполнения запросов (RuntimeOptions) и настройки сессии (SessionOptions). Разделены они не для пользователя, а для сборки: ядру нужна только первая половина, и знать про вторую оно не должно.
Example
const itd = new ItdClient({
auth: { email, password }, // SessionOptions
captcha: createCaptchaSolver(), // SessionOptions
rateLimit: { concurrency: 4, rps: 8 }, // RuntimeOptions
});Extends
Properties
auth?
optional auth?: AuthInput;Defined in: session/options.ts:85
Авторизация. Без неё доступны только публичные эндпоинты.
Inherited from
autoRefresh?
optional autoRefresh?: boolean;Defined in: session/options.ts:102
Обновлять токен перед истечением и восстанавливать сессию при ответе 401. По умолчанию true.
При false библиотека просто пробросит ItdAuthError, а обновлением вы управляете сами через itd.auth.refresh().
Inherited from
baseUrl?
optional baseUrl?: string;Defined in: core/options.ts:188
Базовый URL API. По умолчанию https://xn--d1ah4a.com.
Укажите здесь адрес своего прокси, если работаете из браузера: CORS для сторонних источников на итд.com, скорее всего, не настроен.
Inherited from
captcha?
optional captcha?: CaptchaSolverInput;Defined in: session/options.ts:92
Откуда брать токен капчи, когда сервер её потребует: при входе по паролю, регистрации, запросе письма для сброса пароля и подтверждении QR-входа.
С этой опцией токен можно не передавать в сами методы — клиент получит его сам.
Inherited from
clock?
optional clock?: ItdClock;Defined in: core/options.ts:232
Часы для тайм-аутов, повторов и очередей. Обычно подменяются только в тестах.
Inherited from
deviceId?
optional deviceId?: string;Defined in: session/options.ts:116
Значение заголовка X-Device-Id, который уходит с каждым запросом.
Сервер различает по нему записи в списке сессий, поэтому значение должно быть стабильным. Если не задать, библиотека заведёт идентификатор сама и сохранит его в ItdSession, так что при постоянном хранилище он переживёт перезапуск процесса.
Inherited from
events?
optional events?: object;Defined in: options.ts:24
Неизменяемые настройки предметных каналов событий клиента.
notifications?
optional notifications?: NotificationEventsOptions<NotificationEventContext>;Настройки канала уведомлений на всё время жизни клиента.
fetch?
optional fetch?: {
(input, init?): Promise<Response>;
(input, init?): Promise<Response>;
};Defined in: core/options.ts:230
Своя реализация fetch: для Deno, React Native, тестов или прокси.
Call Signature
(input, init?): Promise<Response>;Parameters
input
URL | RequestInfo
init?
RequestInit
Returns
Promise<Response>
Call Signature
(input, init?): Promise<Response>;Parameters
input
string | URL | Request
init?
RequestInit
Returns
Promise<Response>
Inherited from
headers?
optional headers?: Record<string, string>;Defined in: core/options.ts:236
Заголовки, добавляемые ко всем запросам, — например User-Agent для бота.
Inherited from
hooks?
optional hooks?: ClientHooks;Defined in: core/options.ts:249
Хуки запросов.
Inherited from
logger?
optional logger?: boolean | Logger;Defined in: core/options.ts:251
Логгер. true — использовать console.
Inherited from
mode?
optional mode?: RuntimeMode;Defined in: core/options.ts:234
Как обращаться с cookie. По умолчанию определяется по среде исполнения.
Inherited from
rateLimit?
optional rateLimit?: false | RateLimitOptions;Defined in: core/options.ts:225
Ограничение нагрузки. false отключает очередь.
Inherited from
reloginOnRefreshFailure?
optional reloginOnRefreshFailure?: boolean;Defined in: session/options.ts:108
Пытаться ли войти заново, если обновление токена не удалось.
Работает, только когда в auth переданы email и пароль. По умолчанию true.
Inherited from
SessionOptions.reloginOnRefreshFailure
retry?
optional retry?: false | RetryOptions;Defined in: core/options.ts:223
Повторные попытки. false отключает их полностью.
Inherited from
services?
optional services?: Record<string,
| string
| Omit<ServiceDefinition, "name">>;Defined in: core/options.ts:208
Сервисы платформы на отдельных доменах.
Ключ — имя сервиса, значение — базовый URL или определение целиком. Имя встроенного сервиса задаёт его хост; встроен один — status.
auth у встроенного сервиса наследуется, у нового выводится по хосту: токен уходит основному хосту и его поддоменам, остальным — по явному auth: true.
Example
const itd = new ItdClient({
services: {
status: 'https://my-proxy.example/status',
pb: { baseUrl: 'https://pbapi.xn--d1ah4a.com', headers: { Referer: 'https://pixel.xn--d1ah4a.com/' } },
},
});Inherited from
shutdownTimeout?
optional shutdownTimeout?: number;Defined in: core/options.ts:221
Сколько close() и dispose() ждут чужой код, мс. По умолчанию 10000.
Ждут обработчиков событийного канала и операций, вошедших в обёртки плагинов. По истечении срока ресурсы всё равно освобождаются, а метод отклоняется ItdStateError с указанием того, что удерживало остановку. 0 снимает ограничение.
Inherited from
RuntimeOptions.shutdownTimeout
storage?
optional storage?: TokenStorage;Defined in: session/options.ts:94
Где хранить сессию. По умолчанию MemoryTokenStorage.
Inherited from
timeout?
optional timeout?: number;Defined in: core/options.ts:213
Таймаут запроса в мс. По умолчанию 30000 — столько же использует сайт итд.com. 0 снимает ограничение.
Inherited from
userAgent?
optional userAgent?: string | false;Defined in: core/options.ts:244
Значение заголовка User-Agent. false — не отправлять его вовсе.
По умолчанию Mozilla/5.0 (compatible; itd-api/<версия>; …): fetch в Node не шлёт User-Agent сам, а сайт стоит за DDoS-Guard, который такие запросы может не пропустить. В браузере опция не действует — там заголовок менять запрещено.