itd-api / ItdAccountsOptions
Interface: ItdAccountsOptions
Defined in: accounts.ts:30
Опции конструктора ItdAccounts.
Всё, что понимает ItdClient, кроме auth и deviceId: они у каждого аккаунта свои и задаются в ItdAccounts.addAccount. Обычный TokenStorage клиента здесь заменён общей опцией ItdAccountsOptions.storage типа MultiTokenStorage; контейнер сам выдаёт каждому клиенту изолированный срез по имени. Общий deviceId особенно вреден — сервер различает по нему записи в списке сессий, и один на всех сложил бы все аккаунты в одну.
Extends
Omit<ItdClientOptions,"auth"|"storage"|"deviceId">
Properties
autoRefresh?
optional autoRefresh?: boolean;Defined in: types/options.ts:195
Обновлять токен автоматически при ответе 401. По умолчанию true.
При false библиотека просто пробросит ItdAuthError, а обновлением вы управляете сами через itd.auth.refresh().
Inherited from
baseUrl?
optional baseUrl?: string;Defined in: types/options.ts:167
Базовый URL API. По умолчанию https://xn--d1ah4a.com.
Укажите здесь адрес своего прокси, если работаете из браузера: CORS для сторонних источников на итд.com, скорее всего, не настроен.
Inherited from
fetch?
optional fetch?: {
(input, init?): Promise<Response>;
(input, init?): Promise<Response>;
};Defined in: types/options.ts:203
Своя реализация 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: types/options.ts:215
Заголовки, добавляемые ко всем запросам, — например User-Agent для бота.
Inherited from
hooks?
optional hooks?: ClientHooks;Defined in: types/options.ts:211
Перехватчики запросов.
Inherited from
logger?
optional logger?: boolean | Logger;Defined in: types/options.ts:213
Отладочный вывод. true — писать в console.
Inherited from
mode?
optional mode?: RuntimeMode;Defined in: types/options.ts:233
Как обращаться с cookie. По умолчанию определяется по среде исполнения.
Inherited from
plugins?
optional plugins?: readonly ItdPlugin[];Defined in: accounts.ts:35
Плагины, подключаемые каждому аккаунту, в том числе добавленному позже.
rateLimit?
optional rateLimit?: false | RateLimitOptions;Defined in: types/options.ts:209
Ограничение нагрузки. false отключает очередь.
Inherited from
rateLimitScope?
optional rateLimitScope?: RateLimitScope;Defined in: accounts.ts:48
Как делить очередь запросов. По умолчанию 'account' — своя у каждого.
Лимиты итд.com считаются по аккаунту, а при работе через разные прокси общая очередь только мешает. Она нужна в другом случае: когда все аккаунты сидят на одном IP и упираются в ограничение по адресу, — тогда 'shared' разводит их запросы во времени все разом, а не поаккаунтно.
Настройки самой очереди берутся из общей опции rateLimit. Личный объект rateLimit в этом режиме запрещён, потому что не может изменить уже созданную очередь; rateLimit: false у отдельного аккаунта выводит его из неё.
reloginOnRefreshFailure?
optional reloginOnRefreshFailure?: boolean;Defined in: types/options.ts:201
Пытаться ли войти заново, если обновление токена не удалось.
Работает, только когда в auth переданы email и пароль. По умолчанию true.
Inherited from
ItdClientOptions.reloginOnRefreshFailure
retry?
optional retry?: false | RetryOptions;Defined in: types/options.ts:207
Повторные попытки. false отключает их полностью.
Inherited from
services?
optional services?: Record<string,
| string
| Omit<ServiceDefinition, "name">>;Defined in: types/options.ts:184
Сервисы платформы на отдельных доменах.
Ключ — имя сервиса, значение — базовый URL или определение целиком. Имя встроенного сервиса задаёт его хост. Встроен один: status — хост itd.platform.status().
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
storage?
optional storage?: MultiTokenStorage;Defined in: accounts.ts:33
Общее хранилище сессий всех аккаунтов. По умолчанию MemoryMultiTokenStorage.
timeout?
optional timeout?: number;Defined in: types/options.ts:205
Таймаут запроса в мс. По умолчанию 30000 — столько же использует сайт итд.com. 0 снимает ограничение.
Inherited from
userAgent?
optional userAgent?: string | false;Defined in: types/options.ts:231
Значение заголовка User-Agent. false — не отправлять его вовсе.
По умолчанию Mozilla/5.0 (compatible; itd-api/<версия>; …): fetch в Node не шлёт User-Agent сам, а сайт стоит за DDoS-Guard, который такие запросы может не пропустить. В браузере опция не действует — там заголовок менять запрещено.