{"name":"МойСклад JSON API 1.2","vendor":"МойСклад","industry":"retail","summary":"REST API сервиса управления торговлей и складом МойСклад (JSON API Remap 1.2). Даёт доступ к справочникам (товары, услуги, комплекты, модификации, контрагенты, склады, юрлица), документам (заказы покупателей, отгрузки, приёмки, платежи, перемещения и др.), отчётам (остатки, прибыльность, деньги, показатели), вебхукам и асинхронным выгрузкам. Типовые задачи — синхронизация каталога и остатков с интернет-магазином или маркетплейсом, создание заказов и отгрузок из внешней системы, получение уведомлений об изменениях.","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/","coverage":{"included":["Получение токена доступа, Basic и Bearer-аутентификация","Ассортимент (товары, услуги, комплекты, модификации) и создание товара","Краткий отчёт об остатках — общий и по складам","Контрагенты: список с поиском и фильтрами, создание","Заказ покупателя с позициями","Отгрузка по заказу через шаблон","Вебхуки на создание, изменение и удаление сущностей","Асинхронные выгрузки больших отчётов и списков"],"excluded":["Остальные документы: приёмки, платежи, кассовые ордера, перемещения, списания, возвраты, счета-фактуры, производство","Расширенный отчёт об остатках, прибыльность, деньги, обороты, показатели","Дополнительные поля, статусы, печать документов, публикации, файлы и изображения","Розница (точки продаж, смены, продажи), бонусные программы, маркировка","Аудит, уведомления, сотрудники и права, пользовательские справочники"]},"scenarios":[{"id":"poluchit-token-i-nachat-rabotu","title":"Получить токен и начать работу","summary":"Для интеграций удобнее токен: его передают как `Bearer`, логин и пароль не хранятся в каждом запросе.","steps":["Получи токен: POST /api/remap/1.2/security/token с заголовком `Authorization: Basic` (логин:пароль в Base64). Предыдущие токены пользователя при этом отзываются.","Дальше передавай `Authorization: Bearer <AccessToken>`.","В каждом запросе обязателен заголовок `Accept-Encoding: gzip` — без него сервер ответит `415`."],"code":"curl --compressed -X POST \\\n  \"https://api.moysklad.ru/api/remap/1.2/security/token\" \\\n  -H \"Authorization: Basic <Credentials>\" \\\n  -H \"Accept-Encoding: gzip\"","language":"shell","methods":["POST /api/remap/1.2/security/token"]},{"id":"vygruzit-katalog-s-ostatkami","title":"Выгрузить каталог с остатками","summary":"Синхронизация товаров и остатков с сайтом или маркетплейсом. Новый эндпоинт ассортимента не считает остатки — их берут из краткого отчёта и связывают по `id`.","steps":["Получи ассортимент: GET /api/remap/1.2/entity/assortment с заголовком `X-Lognex-Remap-Beta-Feature: assortmentWithoutStock`; листай по `limit` (до 1000) и `offset`.","Запроси остатки: GET /api/remap/1.2/report/stock/all/current с нужным `stockType` (`stock`, `freeStock`, `quantity`, `reserve`, `inTransit`).","Свяжи `id` из ассортимента с `assortmentId` из отчёта.","Для частых обновлений передавай `changedSince` (не дальше 24 часов назад) и раз в сутки делай полную синхронизацию."],"code":"curl --compressed -X GET \\\n  \"https://api.moysklad.ru/api/remap/1.2/entity/assortment\" \\\n  -H \"Authorization: Basic <Credentials>\" \\\n  -H \"Accept-Encoding: gzip\" \\\n  -H \"X-Lognex-Remap-Beta-Feature: assortmentWithoutStock\"","language":"shell","methods":["GET /api/remap/1.2/entity/assortment","GET /api/remap/1.2/report/stock/all/current"]},{"id":"sozdat-pokupatelya-i-zakaz","title":"Создать покупателя и заказ","summary":"Заказ из интернет-магазина: найти или создать контрагента, затем создать заказ с позициями и резервом.","steps":["Найди контрагента: GET /api/remap/1.2/entity/counterparty?search=... (или `filter` по `inn`, `phone`, `email`).","Если не найден — создай: POST /api/remap/1.2/entity/counterparty (обязательно только `name`).","Создай заказ: POST /api/remap/1.2/entity/customerorder с `organization` и `agent` (ссылки в формате `meta`) и массивом `positions` (`quantity`, `price`, `assortment.meta`, `reserve`).","Позиций в одном запросе — не больше 1000; дальше добавляй через ресурс позиций заказа."],"code":"curl --compressed -X POST \\\n  \"https://api.moysklad.ru/api/remap/1.2/entity/counterparty\" \\\n  -H \"Authorization: Basic <Credentials>\" \\\n  -H \"Accept-Encoding: gzip\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"ООО Радуга\", \"inn\": \"125152124152\", \"email\": \"raduga@stroi.ru\"}'","language":"shell","methods":["GET /api/remap/1.2/entity/counterparty","POST /api/remap/1.2/entity/counterparty","POST /api/remap/1.2/entity/customerorder"]},{"id":"otgruzit-zakaz","title":"Отгрузить заказ","summary":"Отгрузка на основе заказа: шаблон заполнит контрагента, юрлицо, склад и позиции из заказа.","steps":["Получи шаблон: PUT /api/remap/1.2/entity/demand/new с `customerOrder.meta` в теле.","При необходимости поправь склад (`store`) и позиции в полученном JSON.","Создай отгрузку: POST /api/remap/1.2/entity/demand с телом шаблона (обязательны `organization`, `agent`, `store`)."],"code":"curl --compressed -X PUT \\\n  \"https://api.moysklad.ru/api/remap/1.2/entity/demand/new\" \\\n  -H \"Authorization: Basic <Credentials>\" \\\n  -H \"Accept-Encoding: gzip\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"customerOrder\": {\n      \"meta\": {\n        \"href\": \"https://api.moysklad.ru/api/remap/1.2/entity/customerorder/451cb4c0-3d1d-11e6-8a84-bae500000004\",\n        \"metadataHref\": \"https://api.moysklad.ru/api/remap/1.2/entity/customerorder/metadata\",\n        \"type\": \"customerorder\",\n        \"mediaType\": \"application/json\"\n      }\n    }\n  }'","language":"shell","methods":["PUT /api/remap/1.2/entity/demand/new","POST /api/remap/1.2/entity/demand"]},{"id":"poluchat-uvedomleniya-ob-izmeneniyah","title":"Получать уведомления об изменениях","summary":"Вебхук присылает POST на ваш URL при создании, изменении или удалении сущности — без постоянного опроса API. Доступно на платных тарифах администратору или решению.","steps":["Создай вебхук: POST /api/remap/1.2/entity/webhook с `url`, `action` (`CREATE`, `UPDATE`, `DELETE`) и `entityType` (например, `customerorder`, `product`).","На ваш URL придёт JSON с `events[]` (`meta.href` изменённой сущности, `action`, `updatedFields`) и `auditContext`.","Забери актуальные данные по `meta.href` из события.","Отвечай успешным кодом: если сервис 7 из 10 дней отвечает только ошибками, вебхуки отключаются."],"code":"curl --compressed -X POST \\\n  \"https://api.moysklad.ru/api/remap/1.2/entity/webhook\" \\\n  -H \"Authorization: Basic <Credentials>\" \\\n  -H \"Accept-Encoding: gzip\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"url\": \"http://www.example.com\",\n    \"action\": \"CREATE\",\n    \"entityType\": \"supply\"\n  }'","language":"shell","methods":["POST /api/remap/1.2/entity/webhook"]},{"id":"vygruzit-bolshoy-otchet-asinhronno","title":"Выгрузить большой отчёт асинхронно","summary":"Для больших коллекций (остатки, контрагенты, ассортимент, отчёты) без листания.","steps":["Добавь `async=true` к запросу (без `limit` и `offset`) — ответ `202` с заголовками `Location` (результат) и `Content-Location` (статус).","Опрашивай статус: GET /api/remap/1.2/async/{id}.","Когда задача готова, скачай результат по адресу из `Location`. Результат хранится 1 час."],"code":"curl --compressed -X GET \\\n  \"https://api.moysklad.ru/api/remap/1.2/report/stock/bystore?async=true\" \\\n  -H \"Authorization: Bearer <Access-Token>\" \\\n  -H \"Accept-Encoding: gzip\"","language":"shell","methods":["GET /api/remap/1.2/async/{id}"]}],"baseUrls":[{"label":"Боевой","url":"https://api.moysklad.ru"},{"label":"Все пути начинаются с .","url":"/api/remap/1.2"}],"auth":{"type":"bearer","description":"Два способа: Basic Auth (заголовок `Authorization: Basic` с `логин:пароль` в Base64) или токен доступа (`Authorization: Bearer <AccessToken>`). Токен пользователя выдаёт POST /api/remap/1.2/security/token; для решений из маркетплейса используется токен решения. Лимит запросов зависит от способа: токены решений расходуют лимит медленнее, чем логин/пароль и токен пользователя.","example":""},"methods":[{"id":"POST /api/remap/1.2/security/token","title":"Получение токена","httpMethod":"POST","path":"/api/remap/1.2/security/token","description":"В ответе `access_token`. Новый токен отзывает ранее выданные токены пользователя.","params":[{"name":"Authorization","in":"header","type":"string","required":true,"description":"Basic <логин:пароль в Base64>"},{"name":"Accept-Encoding","in":"header","type":"string","required":true,"description":"gzip"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/general"},{"id":"GET /api/remap/1.2/entity/assortment","title":"Ассортимент","httpMethod":"GET","path":"/api/remap/1.2/entity/assortment","description":"Все товары, услуги, комплекты, модификации и партии. Без заголовка `assortmentWithoutStock` запрос уходит в старый эндпоинт, который планируется удалить.","params":[{"name":"X-Lognex-Remap-Beta-Feature","in":"header","type":"string","required":true,"description":"assortmentWithoutStock"},{"name":"limit","in":"query","type":"integer","required":false,"description":"До 1000 (по умолчанию 1000)"},{"name":"offset","in":"query","type":"integer","required":false,"description":"Отступ, по умолчанию 0"},{"name":"search","in":"query","type":"string","required":false,"description":"Контекстный поиск"},{"name":"filter","in":"query","type":"string","required":false,"description":"Фильтр, например filter=archived=false"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/assortment#2-assortiment"},{"id":"POST /api/remap/1.2/entity/product","title":"Создание товара","httpMethod":"POST","path":"/api/remap/1.2/entity/product","description":"Достаточно непустого `name`.","params":[{"name":"name","in":"body","type":"string","required":true,"description":"Наименование товара"},{"name":"code","in":"body","type":"string","required":false,"description":"Код"},{"name":"article","in":"body","type":"string","required":false,"description":"Артикул"},{"name":"salePrices","in":"body","type":"array","required":false,"description":"Цены продажи"},{"name":"productFolder.meta","in":"body","type":"object","required":false,"description":"Группа товаров"},{"name":"barcodes","in":"body","type":"array","required":false,"description":"Штрихкоды"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/product#3-sozdat-tovar"},{"id":"GET /api/remap/1.2/report/stock/all/current","title":"Краткий отчёт об остатках","httpMethod":"GET","path":"/api/remap/1.2/report/stock/all/current","description":"Только ID позиции и остаток, все данные одним ответом без листания. Для частого обновления (каждые 5–15 минут). Доступен администратору или сотруднику с правом на остатки.","params":[{"name":"stockType","in":"query","type":"string","required":false,"description":"stock (по умолчанию), freeStock, quantity, reserve, inTransit"},{"name":"changedSince","in":"query","type":"string","required":false,"description":"Остатки, изменившиеся с момента гггг-мм-дд чч:мм:сс (не больше 24 часов назад)"},{"name":"include","in":"query","type":"string","required":false,"description":"zeroLines — включить нулевые остатки"},{"name":"filter","in":"query","type":"string","required":false,"description":"assortmentId=... и/или storeId=..., несколько через запятую"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/reports/report-stock#3-kratkij-otchet-ob-ostatkah"},{"id":"GET /api/remap/1.2/report/stock/bystore/current","title":"Краткий отчёт по складам","httpMethod":"GET","path":"/api/remap/1.2/report/stock/bystore/current","description":"Остатки с разбивкой по складам. Строка без склада содержит резервы без привязки к складу.","params":[{"name":"stockType","in":"query","type":"string","required":false,"description":"Тип остатка"},{"name":"changedSince","in":"query","type":"string","required":false,"description":"Изменившиеся остатки"},{"name":"withRecalculate","in":"query","type":"boolean","required":false,"description":"Включить позиции на пересчёте (остаток null)"},{"name":"filter","in":"query","type":"string","required":false,"description":"assortmentId=..., storeId=..."}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/reports/report-stock#3-kratkij-otchet-ob-ostatkah"},{"id":"GET /api/remap/1.2/entity/counterparty","title":"Список контрагентов","httpMethod":"GET","path":"/api/remap/1.2/entity/counterparty","description":"","params":[{"name":"limit","in":"query","type":"integer","required":false,"description":"До 1000"},{"name":"offset","in":"query","type":"integer","required":false,"description":"Отступ"},{"name":"search","in":"query","type":"string","required":false,"description":"Контекстный поиск по полям"},{"name":"filter","in":"query","type":"string","required":false,"description":"Фильтр по полям, например inn, phone, email"},{"name":"async","in":"query","type":"boolean","required":false,"description":"Асинхронная выгрузка"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/counterparty#2-kontragent"},{"id":"POST /api/remap/1.2/entity/counterparty","title":"Создание контрагента","httpMethod":"POST","path":"/api/remap/1.2/entity/counterparty","description":"","params":[{"name":"name","in":"body","type":"string","required":true,"description":"Наименование"},{"name":"inn","in":"body","type":"string","required":false,"description":"ИНН"},{"name":"kpp","in":"body","type":"string","required":false,"description":"КПП"},{"name":"legalTitle","in":"body","type":"string","required":false,"description":"Полное наименование"},{"name":"legalAddress","in":"body","type":"string","required":false,"description":"Юридический адрес"},{"name":"email","in":"body","type":"string","required":false,"description":"Email"},{"name":"phone","in":"body","type":"string","required":false,"description":"Телефон"},{"name":"tags","in":"body","type":"array","required":false,"description":"Группы (теги)"},{"name":"externalCode","in":"body","type":"string","required":false,"description":"Внешний код"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/counterparty#2-kontragent"},{"id":"POST /api/remap/1.2/entity/customerorder","title":"Создание заказа покупателя","httpMethod":"POST","path":"/api/remap/1.2/entity/customerorder","description":"","params":[{"name":"organization.meta","in":"body","type":"object","required":true,"description":"Ваше юрлицо"},{"name":"agent.meta","in":"body","type":"object","required":true,"description":"Контрагент-покупатель"},{"name":"positions[].assortment.meta","in":"body","type":"object","required":false,"description":"Товар, услуга или модификация"},{"name":"positions[].quantity","in":"body","type":"number","required":false,"description":"Количество"},{"name":"positions[].price","in":"body","type":"number","required":false,"description":"Цена в копейках"},{"name":"positions[].discount","in":"body","type":"number","required":false,"description":"Скидка, %"},{"name":"positions[].vat","in":"body","type":"integer","required":false,"description":"НДС, %"},{"name":"positions[].reserve","in":"body","type":"number","required":false,"description":"Резерв"},{"name":"store.meta","in":"body","type":"object","required":false,"description":"Склад"},{"name":"state.meta","in":"body","type":"object","required":false,"description":"Статус заказа"},{"name":"name","in":"body","type":"string","required":false,"description":"Номер заказа"},{"name":"moment","in":"body","type":"string","required":false,"description":"Дата документа"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/customerOrder#2-zakaz-pokupatelya"},{"id":"GET /api/remap/1.2/entity/customerorder","title":"Список заказов покупателей","httpMethod":"GET","path":"/api/remap/1.2/entity/customerorder","description":"","params":[{"name":"limit","in":"query","type":"integer","required":false,"description":"До 1000"},{"name":"offset","in":"query","type":"integer","required":false,"description":"Отступ"},{"name":"filter","in":"query","type":"string","required":false,"description":"Например filter=moment>2016-10-11 12:00:00"},{"name":"expand","in":"query","type":"string","required":false,"description":"Раскрыть связанные объекты, например positions"},{"name":"search","in":"query","type":"string","required":false,"description":"Контекстный поиск"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/customerOrder#2-zakaz-pokupatelya"},{"id":"PUT /api/remap/1.2/entity/demand/new","title":"Шаблон отгрузки","httpMethod":"PUT","path":"/api/remap/1.2/entity/demand/new","description":"Возвращает предзаполненную отгрузку; без тела — пустой шаблон со стандартными значениями.","params":[{"name":"customerOrder.meta","in":"body","type":"object","required":false,"description":"Заказ покупателя, на основе которого создаётся отгрузка"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/demand#2-otgruzka"},{"id":"POST /api/remap/1.2/entity/demand","title":"Создание отгрузки","httpMethod":"POST","path":"/api/remap/1.2/entity/demand","description":"","params":[{"name":"organization.meta","in":"body","type":"object","required":true,"description":"Ваше юрлицо"},{"name":"agent.meta","in":"body","type":"object","required":true,"description":"Контрагент"},{"name":"store.meta","in":"body","type":"object","required":true,"description":"Склад"},{"name":"customerOrder.meta","in":"body","type":"object","required":false,"description":"Связанный заказ"},{"name":"positions","in":"body","type":"array","required":false,"description":"Позиции, до 1000"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/demand#2-otgruzka"},{"id":"POST /api/remap/1.2/entity/webhook","title":"Создание вебхука","httpMethod":"POST","path":"/api/remap/1.2/entity/webhook","description":"Сочетание `entityType`, `action`, `url` должно быть уникальным; на одно сочетание `entityType` и `action` — до 5 URL для пользователей и 1 для решения.","params":[{"name":"url","in":"body","type":"string","required":true,"description":"Адрес для уведомлений"},{"name":"action","in":"body","type":"string","required":true,"description":"CREATE, UPDATE, DELETE"},{"name":"entityType","in":"body","type":"string","required":true,"description":"Тип сущности, например customerorder"},{"name":"diffType","in":"body","type":"string","required":false,"description":"Формат изменений для UPDATE (отображение изменённых полей)"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/webhook#2-vebhuki"},{"id":"GET /api/remap/1.2/async/{id}","title":"Статус асинхронной задачи","httpMethod":"GET","path":"/api/remap/1.2/async/{id}","description":"","params":[{"name":"id","in":"path","type":"string","required":true,"description":"ID задачи из заголовка Content-Location"}],"requestExample":"","responseExample":"","docsUrl":"https://dev.moysklad.ru/doc/api/remap/1.2/#/async#2-asinhronnyj-obmen"}],"codeExamples":[],"errors":[{"code":"400","description":"Ошибка в структуре JSON запроса"},{"code":"401","description":"Неверные имя или пароль, пользователь или аккаунт заблокирован"},{"code":"403","description":"Нет прав на просмотр объекта"},{"code":"404","description":"Ресурс не существует"},{"code":"405","description":"Неверный HTTP-метод для ресурса"},{"code":"409","description":"Объект используется и не может быть удалён"},{"code":"410","description":"Версия API больше не поддерживается"},{"code":"412","description":"Не указан обязательный параметр или поле"},{"code":"413","description":"Превышен размер запроса или число элементов (больше 1000 позиций)"},{"code":"414","description":"Превышена длина URL"},{"code":"415","description":"Формат запроса не поддерживается (в том числе нет Accept-Encoding: gzip)"},{"code":"429","description":"Превышен лимит запросов (ошибка 1073 — лимит параллельных запросов)"},{"code":"500","description":"Непредвиденная ошибка"},{"code":"502","description":"Сервис временно недоступен"},{"code":"503","description":"Сервис временно отключён"},{"code":"504","description":"Таймаут, повторите позднее"}],"limits":"- Лимит за 3 секунды считается отдельно для каждого пользователя и решения: 45 единиц; токен публичного или приватного решения — 1 единица за запрос (45 запросов).\n- Логин/пароль или токен пользователя: вес запроса растёт поэтапно — с 1 сентября 2026 года 3 единицы (15 запросов за 3 секунды), с 1 декабря 2026 года 4 единицы (11 запросов). Решение в статусе «Черновик» или «На модерации» — 4 единицы.\n- `GET /report/stock/all` и `/report/stock/bystore` — вес 5 единиц за запрос.\n- Не больше 5 параллельных запросов от пользователя или решения и 20 от аккаунта.\n- Не больше 8 КБ в заголовках и 20 МБ данных в запросе; не больше 1000 элементов в массиве.\n- Не больше 4 асинхронных задач в очереди на аккаунт; результат хранится 1 час.\n- Доступ к API отключается при 200+ одинаковых ошибочных запросах в минуту или 200+ ответах `429` в минуту в течение часа, а также при 100+ PUT-запросах к одной сущности в минуту.","gotchas":["Обязательно сжатие: заголовок `Accept-Encoding: gzip`, иначе `415` без тела.","Ссылки на объекты передаются в формате `meta` (`href`, `type`, `mediaType`).","Списки возвращают `meta` (`size`, `limit`, `offset`, `nextHref`, `previousHref`) и `rows`; `limit` — до 1000.","Массив `positions` в запросе на обновление полностью заменяет позиции документа: непереданные удаляются.","Цены и суммы — в копейках.","Функции под заголовком `X-Lognex-Remap-Beta-Feature` не подпадают под гарантию неизменности структуры.","Остаток по заголовкам: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-Lognex-Retry-TimeInterval`, `X-Lognex-Reset`, `X-Lognex-Retry-After`.","Вебхуки работают только на платных тарифах и в пробный период; при бесплатном тарифе их нельзя создать.","Есть MCP-сервер документации JSON API (раздел MCP-dev) — он ищет по документации и не выполняет запросы к аккаунту."],"slug":"moysklad","version":1,"updatedAt":"2026-10-25T06:02:50.182Z","sources":[{"title":"МойСклад JSON API 1.2","url":"https://dev.moysklad.ru/doc/api/remap/1.2/","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Общие сведения","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/general","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Ограничения","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/restrictions","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Асинхронный обмен","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/async#2-asinhronnyj-obmen","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Ассортимент","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/assortment#2-assortiment","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Отчёт Остатки","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/reports/report-stock#2-otchet-ostatki","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Вебхуки","url":"https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/webhook#2-vebhuki","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Исходники документации — moysklad/api-remap-1.2-doc","url":"https://github.com/moysklad/api-remap-1.2-doc","kind":"research","addedAt":"2026-10-25T06:01:59.242Z"},{"title":"Вставленный текст","url":"","kind":"import","addedAt":"2026-10-25T06:01:59.242Z"}],"logoUrl":null}