0.1.2 • Published 4 months ago

moysklad-ts v0.1.2

Weekly downloads
-
License
GPL-3.0-only
Repository
github
Last release
4 months ago

moysklad-ts

npm JSR npm package minimized gzipped size GitHub Workflow Status (with event) GitHub License

❗ Данная библиотека находится на стадии альфа-тестирования и ещё не готова к использованию в продакшене.

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 МойСклад.
userAgentmoysklad-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.

0.0.84

8 months ago

0.0.85

8 months ago

0.0.86

8 months ago

0.0.87

8 months ago

0.0.88

8 months ago

0.0.89

7 months ago

0.0.80

8 months ago

0.0.81

8 months ago

0.0.82

8 months ago

0.0.83

8 months ago

0.0.73

8 months ago

0.0.74

8 months ago

0.0.75

8 months ago

0.0.76

8 months ago

0.0.77

8 months ago

0.1.0

4 months ago

0.1.2

4 months ago

0.1.1

4 months ago

0.0.90

6 months ago

0.0.91

5 months ago

0.0.70

9 months ago

0.0.71

9 months ago

0.0.72

9 months ago

0.0.62

10 months ago

0.0.63

10 months ago

0.0.64

10 months ago

0.0.65

10 months ago

0.0.66

10 months ago

0.0.67

10 months ago

0.0.68

10 months ago

0.0.69

10 months ago

0.0.60

10 months ago

0.0.61

10 months ago

0.0.59

10 months ago

0.0.52

11 months ago

0.0.54

11 months ago

0.0.55

11 months ago

0.0.56

10 months ago

0.0.57

10 months ago

0.0.58

10 months ago

0.0.40

1 year ago

0.0.41

1 year ago

0.0.42

1 year ago

0.0.43

1 year ago

0.0.44

1 year ago

0.0.45

12 months ago

0.0.46

12 months ago

0.0.47

12 months ago

0.0.39

1 year ago

0.0.35

1 year ago

0.0.50

12 months ago

0.0.48

12 months ago

0.0.49

12 months ago

0.0.32

1 year ago

0.0.33

1 year ago

0.0.34

1 year ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.29

1 year ago

0.0.28

1 year ago

0.0.27

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.26

1 year ago

0.0.23

1 year ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.1

2 years ago