API МойСклад: какие данные можно получить и как обойтись без программиста
Разбираем данные JSON API 1.2, токены, права и лимиты. Показываем, когда для задачи достаточно штатного отчёта или готовой интеграции.
Частый вопрос звучит так: «Можно ли просто подключить API и получить все продажи с остатками в одной таблице?» API даёт исходные записи. Какие документы брать, как связать их по товарам и датам и что считать выручкой, решает тот, кто строит отчёт. Поэтому до токена полезнее выбрать один показатель и проверить, из каких данных он складывается.
Какие данные доступны через API
Документация JSON API 1.2 разделяет справочники, документы, отчёты и аудит. Для магазина это могут быть карточки товаров и модификаций, розничные продажи и возвраты, смены, платежи и срез остатков. Состав полей у каждого ресурса свой; наличие ресурса в документации ещё не гарантирует доступ к нему вашему сотруднику или решению.

| Что нужно | Раздел API | Что поможет проверить |
|---|---|---|
| Товары, модификации, склады | Справочники | Состав ассортимента, карточки и места хранения |
| Розничные продажи, возвраты, смены | Документы | Чеки, возвраты, точка и период продажи |
| Входящие и исходящие платежи | Документы | Движение денег; правила ДДС задаются отдельно |
| Остатки на дату | Отчёт | Срез запаса по заданному моменту, с учётом прав и фильтров |
| События изменения и удаления | Аудит | Проверка изменений при наличии доступа к журналу |
Например, продажа и возврат находятся в разных документах. Для отчёта о чистой выручке их нужно сопоставить и определить, какую дату и какую сумму включать. Если задача уже решается штатным отчётом, посмотрите разбор отчётов МойСклад до начала собственной интеграции.
Где взять токен API
В официальной справке МойСклад путь указан так: Меню пользователя → Настройки → Токены → +Токен. После создания скопируйте значение и сохраните его в настройках того инструмента, которому доверяете доступ. Токен даёт возможность обращаться к данным от имени пользователя; не вставляйте его в публичные документы, чаты или примеры запросов.
Документация описывает и другой способ: запрос к /security/token с логином и паролем. При выпуске токена этим способом прежние токены пользователя отзываются. Для знакомства с API не перевыпускайте рабочий токен действующей интеграции.

При запросе программа передаёт токен в заголовке Authorization: Bearer <токен>. Сначала проверьте права сотрудника, для которого он создан. У решения из каталога доступ задаётся отдельно при его установке. Доступ к себестоимости, финансовым документам и аудиту проверяйте на своём аккаунте; тариф тоже влияет на доступную функциональность.
Как понять, подходит ли API для задачи
Возьмите один вопрос, например «Какие товары продали в этой точке за вчера?». Найдите в документации розничную продажу, проверьте нужные поля, фильтр по точке и права на просмотр. Затем попросите разработчика или поставщика интеграции получить небольшую выборку, например один документ с позициями, и сравните его с интерфейсом МойСклад.
Для первого чтения товара в документации есть ресурс /entity/product. Технический пробный запрос вроде GET /entity/product?limit=1 проверяет авторизацию и форму ответа, но ничего не говорит о полноте будущего отчёта. В реальном запросе нужны заголовки авторизации и Accept-Encoding: gzip. Для отчёта отдельно понадобятся возвраты, позиции документов, справочники и правила расчёта. Если нужен ежедневный результат, проверьте также постраничное чтение, повтор неудачных запросов и сверку итогов.
Разобрать выбор между файлом, рассылкой, API и своей базой помогает сравнение способов выгрузки данных. Здесь важнее выяснить, какие ресурсы API действительно нужны вашему показателю.
Какие лимиты API учесть в 2026 году
По правилам МойСклад, действующим на 25 октября 2026 года, для обычных методов доступно 45 единиц лимита на три секунды отдельно для пользователя или решения. Сколько единиц списывает запрос, зависит от способа авторизации. Поэтому одинаковый скрипт может получить разный предел запросов в зависимости от токена.
| Способ доступа или метод | Текущий предел | Условие |
|---|---|---|
| Токен пользователя или логин и пароль | 15 обычных запросов за 3 секунды | С 1 сентября до 30 ноября 2026 года; с 1 декабря по опубликованному графику — 11 |
| Токен опубликованного решения | 45 обычных запросов за 3 секунды | Лимит считается отдельно для каждого решения |
| Токен решения в статусе «Черновик» или «На модерации» | 11 обычных запросов за 3 секунды | Отдельное правило для разработки решения |
| Два метода отчёта остатков: /report/stock/all и /report/stock/bystore | Вес 5 единиц за запрос | Вес не зависит от способа авторизации |
Кроме временного лимита, допускается не более пяти параллельных запросов от пользователя или решения и 20 на аккаунт. При ответе 429 проверьте причину: для временного лимита учитывайте заголовки ответа и паузу, а при превышении числа одновременных запросов уменьшайте параллельность. Эти числа и объявленное изменение с 1 декабря стоит перепроверить в официальном разделе ограничений перед запуском интеграции.
Что проверить, чтобы отчёт не устарел
Разовая выборка подтверждает только состояние на момент запроса. При регулярной загрузке нужно решить, как замечать исправленные документы и пересчитывать зависимые показатели. Например, новая приёмка с датой прошлого месяца способна изменить расчёт себестоимости, даже если сама продажа не редактировалась. Загрузка только продаж с новым updated может оставить прежний результат в аналитической копии. Для таких показателей задают период повторной сверки с МойСклад.
Документы, отправленные в корзину, можно выбирать с isDeleted=true. Журнал аудита отдельно описывает события удаления и восстановления, если у интеграции есть право его читать. Обработку окончательных удалений и архивных карточек проверяйте на конкретных сущностях, а не предполагайте по одному ответу списка.
Для остатков на прошлую дату документация отчёта поддерживает фильтр moment. Чтобы получить историю по дням, нужно запрашивать нужные даты, сохранять результаты и сопоставлять их с отчётом об остатках. Пустая строка ответа и нулевой остаток требуют отдельной проверки при построении графика.
Когда можно обойтись без разработчика
Для одного отчёта за период API обычно не нужен: сформируйте файл в интерфейсе. Если тот же отчёт нужен по расписанию, проверьте его автоматическую отправку. Готовое решение для обмена или аналитики берёт на себя технические запросы, но до подключения попросите показать состав данных, права, частоту обновления и сверку с вашими цифрами.
TrueTell разрабатывает инструмент подготовки данных МойСклад для аналитики. Пока мы не обещаем установку, конкретные витрины и частоту обновления: сначала проверяем нужные данные и сценарий на задаче клиента.
Частые вопросы об API МойСклад
Можно ли пользоваться API МойСклад без программиста?
Создать токен в интерфейсе можно без разработки. Для регулярных запросов, обработки страниц ответа и изменений нужен настроенный процесс. Если задача решается одним отчётом, удобнее начать с интерфейса МойСклад или проверить готовую интеграцию.
Где находится документация API МойСклад?
Официальная документация JSON API 1.2 размещена на dev.moysklad.ru. В ней есть разделы «Сущности», «Документы», «Отчёты», «Аудит» и описание ограничений.
Можно ли через API только читать данные?
JSON API поддерживает и чтение, и изменение. Возможности конкретного токена зависят от прав сотрудника либо прав, выданных решению. Для аналитики заранее проверьте нужные права и не передавайте токен в открытый доступ.
Можно ли получить остаток за прошлую дату через API?
Да. Для отчёта об остатках в документации описан фильтр moment. Для истории по многим датам потребуется отдельный процесс получения, хранения и сверки с отчётом МойСклад.
Официальная документация проверена 25 октября 2026 года. Доступ к клиентскому аккаунту, его тарифу и рабочему токену при подготовке статьи не проверялся.