moysklad-ts v0.1.2
moysklad-ts
❗ Данная библиотека находится на стадии альфа-тестирования и ещё не готова к использованию в продакшене.
moysklad-ts
это полностью типизированный клиент МойСклад.
Использование
Установка
npm
npm i moysklad-ts
pnpm
pnpm add moysklad-ts
Yarn
yarn add moysklad-ts
bun
bun add moysklad-ts
Deno
import { Moysklad } from "https://esm.sh/moysklad-ts";
JSR
Библиотека также доступна на JSR: @moysklad/moysklad-ts. Подробнее о том, как устанавливать пакеты из JSR, можно прочитать в официальном гайде.
Требования к среде исполнения (runtime)
Библиотека требует Node.js версии 18 и выше, либо другой соответствующей среды исполнения, в которой доступен fetch
API и btoa
(если используете авторизацию по логину и паролю).
Пример
import { Moysklad } from "moysklad-ts";
const moysklad = new Moysklad({
auth: {
token: "123"
}
});
// Получить контрагента с владельцем
const counterparty = await moysklad.counterparty.get("5427bc76-b95f-11eb-0a80-04bb000cd583", {
expand: { owner: true }, // результат полностью типизирован
});
// Получить все отгрузки с контрагентом
const demands = await moysklad.demand.all({
expand: { agent: true },
});
// Получить первую отгрузку контрагента
const demand = await moysklad.demand.first({
filter: {
agent: moysklad.client.buildUrl(["entity", "counterparty", "5427bc76-b95f-11eb-0a80-04bb000cd583"]).toString(),
}, // автокомплит для всех опций запроса
});
Документация
Большинство методов интуитивно понятны и описаны с помощью JSDoc. Так что основной ресурс для изучения API - это документация МойСклад.
Для полного референса по методам и типам данных удобно использовать автоматически сгенерированную документацию на JSR.
Методы
Все методы в классе Moysklad
разделены на эндпоинты, которые соответствуют разделам API МойСклад (на английском).
Например, чтобы получить всех контрагентов (counteryparty
) используйте moysklad.counterparty.all()
. Или чтобы получить входящий платёж (paymentin
), вызовите moysklad.paymentIn.get("id")
.
Утилиты
composeDateTime
- создаёт строку с датой в формате МойСкладparseDateTime
- парсит строку с датой из формата МойСкладisAssortmentOfType
- проверяет, является ли ассортимент определённого типа (услугой, товаром, и т.д.) и сужает тип.Moysklad.client.buildUrl
- создаёт URL для запроса к API МойСклад
Опции инициализации
Параметр | По умолчанию | Описание |
---|---|---|
auth | — | Может быть либо { token: string } для аутентификации по токену, либо { login: string, password: string } для HTTP Basic Auth. (см. Moysklad Docs |
baseUrl | "https://api.moysklad.ru/api/remap/1.2" | Базовый URL API МойСклад. |
userAgent | moysklad-ts/${version} (+https://github.com/MonsterDeveloper/moysklad-ts) , где {version} - версия библиотеки | Содержимое заголовка "User-Agent" при выполнении запроса. Удобно использовать для контроля изменений через API на вкладке "Аудит". |
batchGetOptions | { limit: 1000, expandLimit: 100, concurrencyLimit: 3 } | Опции для получения всех сущностей из API (метод .all() ). Устанавливает ограничения на размер запросов с expand и без него, а также ограничение на количество одновременных запросов. |
Доработки
Пожалуйста, прочитайте contributing guidelines прежде чем начать работу над проектом. Спасибо!
Лицензия
Проект находится под лицензией GPL-3.0.
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
4 months ago
4 months ago
4 months ago
6 months ago
5 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago