Navbar

МойСклад JSON API

Общие Сведения

Аутентификация

Для того чтобы успешно взаимодействовать с JSON API онлайн-сервиса МойСклад, необходимо аутентифицироваться в системе. МойСклад поддерживает аутентификацию по протоколу Basic Auth и с использованием токена доступа.

Аутентификация по протоколу Basic Auth с автоматической генерацией соответствующего заголовка и возможность указать заголовок для аутентификации по токену поддерживается во многих HTTP-клиентах, таких как Postman, curl и т.п.

Получение нового токена

Запрос на получение нового токена. Как и в других запросах, в заголовке Authorization пара логин:пароль указывается закодированной в варианте RFC2045-MIME стандарта Base64. При генерации нового токена доступа сгенерированные до этого токены пользователя будут отозваны.

Замечания по разработке клиентских приложений

При разработке клиентского приложения необходимо учитывать следующие моменты:

Сжатие содержимого ответов

Сервер апи использует сжатие содержимого ответов, поэтому при обращении к эндпоинтам апи через HTTP-заголовок запроса Accept-Encoding следует указать кодировку сжатия содержимого ответов. В редких случаях сервер может не применять сжатие ответа. При использовании сжатия, сервер апи укажет это в заголовке Content-Encoding с используемой кодировкой. Сервер апи поддерживает только кодировку gzip. Запросы без этого заголовка, а также запросы с заголовком, но иной кодировкой сжатия не будут обработаны. Сервер ответит с кодом 415 без тела ответа.

Типы данных

Название Описание
Array(Type) Массив объектов/значений. Type - тип элементов массива.
Boolean Представляет значение true или false.
DateTime Представляет строку в формате "гггг-мм-дд чч-мм-сс". Пример значения: "2016-08-23 15:21:09". Подробнее тут
Enum Представляет строку, принимающую константное множество значений.
Float Представляет дробное числовое значение. Пример значения: 200.8.
Int Представляет целое числовое значение в диапазоне -2^31 – 2^31. Пример значения: 200.
Long Представляет целое числовое значение в диапазоне -2^63 – 2^63. Пример значения: 1613766951558.
Meta Представляет объект в формате Метаданных.
MetaArray Объект с полями meta и rows, где rows - массив объектов. Элементы массива rows можно запросить, используя параметр запроса expand соответствующего поля.
Object Представляет сущность с вложенными полями.
String(MaxLength) Представляет текстовые данные в виде последовательности символов UTF-8. MaxLength - максимальная длина строки для конкретного поля. Пример значения: "Москва".
URL Соответствующая стандартам FRC 3986 и RFC 3987 строка URI. Пример значения: "https://api.moysklad.ru/api/remap/1.2/entity/counterparty".
UUID Предствляет строку в формате UUID. Пример значения: "12a8b923-692c-11e6-8a84-bae500000053".

Метаданные

В JSON есть несколько видов Метаданных. Один из них - поле meta, которое фигурирует в большинстве JSON представлений объектов, и содержит информацию об объекте или о выдаче, а также может использоваться в качестве ссылки на другой объект. Поле meta представляет собой объект со следующими атрибутами:

Название Тип Описание
href URL Ссылка на объект
metadataHref URL Ссылка на метаданные сущности (Другой вид метаданных. Присутствует не во всех сущностях)
type String(255) Тип объекта
mediaType String(255) Тип данных, которые приходят в ответ от сервиса, либо отправляются в теле запроса. В рамках данного API всегда равен application/json
uuidHref URL Ссылка на объект на UI. Присутствует не во всех сущностях. Может быть использована для получения uuid
downloadHref URL Ссылка на скачивание Изображения и миниатюр изображений. Данный параметр указывается только в meta для Изображения у Товара или Комплекта, а также в поле miniature везде, где используются изображения. Если миниатюра не была создана, то значение данного поля равно null. Для создания миниатюры нужно перейти по ссылке, указанной в href в миниатюре.
Атрибуты расширенного объекта meta

Следующие атрибуты объекта meta появляются, как правило, в методах выдачи списка сущностей/строк отчета. В них содержится информация о выдаче, пришедшей в ответ. В объектах meta, содержащих данные лишь об одном объекте (например поле meta в объекте context) нижеперечисленные атрибуты не фигурируют.

Название Тип Описание
size Int Размер выданного списка
limit Int Максимальное количество элементов в выданном списке. Максимальное количество элементов в списке равно 1000.
offset Int Отступ в выданном списке
Метаданные сущности

Другой вид Метаданных. Представляет собой отдельный ресурс, содержащий информацию обо всех объектах сущностей данного типа. Есть не у каждой сущности. Присутствует лишь у тех сущностей, у которых в данной документации описан ресурс "Метаданные <наименование_сущности>". Как правило содержит информацию о вложенных сущностях, коллекциях и дополнительных полях.

JSON API позволяет получить метаданные всех сущностей с помощью метода /entity/metadata. Также можно ограничить выборку, указав в фильтре type только необходимые сущности.

Мета коллекций

meta коллекций содержит все те же атрибуты, что и meta сущностей, однако, если в списке появляется больше позиций, чем умещается на одной странице (size > limit) в объект meta добавляются след. поля:

Название Тип Описание
nextHref URL Ссылка на следующую страницу сущностей.
previousHref URL Ссылка на предыдущую страницу сущностей.

meta с такими полями можно встретить при выполнении запросов на получение всех объектов определенного типа на учетной записи (например запрос всех отгрузок), а также при запросе всех позиций отдельного документа.

Обработка ошибок

СТРУКТУРА ОШИБОК

Ошибка в данном API представляет собой массив errors, содержащий объекты error, каждый из которых описывает отдельную ошибку.

СТРУКТУРА ОБЪЕКТА error
Название Тип Описание
error String(255) Заголовок ошибки
Обязательное при ответе
parameter String(255) Параметр, на котором произошла ошибка
code Int Код ошибки (Если поле ничего не содержит, смотрите HTTP status code)
error_message String(255) Сообщение, прилагаемое к ошибке
moreInfo link Ссылка на документацию с описанием полученной ошибки
line Int Строка JSON, на которой произошла ошибка
column Int Координата элемента в строке line, на котором произошла ошибка
dependencies Array(Meta) Список метаданных зависимых сущностей или документов. Выводится при невозможности удаления сущности, документа, если имеются зависимости от удаляемой сущности, документа
meta Meta Метаданные сущности, документа на котором произошла ошибка
Возвращаемые HTTP статусы ошибок и их значения:
HTTP status code Значение
301 Запрашиваемый ресурс находится по другому URL.
303 Запрашиваемый ресурс может быть найден по другому URI и должен быть найден с использоваием GET запроса
400 Ошибка в структуре JSON передаваемого запроса
401 Имя и/или пароль пользователя указаны неверно или заблокированы пользователь или аккаунт
403 У вас нет прав на просмотр данного объекта
404 Запрошенный ресурс не существует
405 http-метод указан неверно для запрошенного ресурса
409 Указанный объект используется и не может быть удален
410 Версия API больше не поддерживается
412 Не указан обязательный параметр строки запроса или поле структуры JSON
413 Размер запроса или количество элементов запроса превышает лимит (например, количество позиций, передаваемых в массиве positions, превышает 1000)
415 Формат содержимого запроса headers или body не поддерживается.
429 Превышен лимит количества запросов
500 При обработке запроса возникла непредвиденная ошибка
502 Сервис временно недоступен
503 Сервис временно отключен
504 Превышен таймаут обращения к сервису, повторите попытку позднее

Также, вместе с телом ответа ошибки, вам могут прийти следующие заголовки (Headers):

Вы можете узнать лимит оставшихся запросов с помощью следующих заголовков

Работа с дополнительными полями

Дополнительные поля позволяют расширить набор свойств некоторых сущностей путем добавления собственных типизированных полей. JSON API позволяет создавать, обновлять и удалять дополнительные поля и их значения.

Список сущностей, у которых есть доп. поля:

Посмотреть все созданные доп. поля можно с помощью запроса на получение метаданных сущности. Ответ будет содержать описание доп. полей в виде коллекции attributes, если указанная сущность поддерживает работу с доп. полями.

Атрибуты описания доп. поля

Название Тип Описание
description String(4096) Описание доп. поля
id UUID ID доп. поля
Обязательное при ответе Только для чтения
meta Meta Ссылка на метаданные доп. поля
Обязательное при ответе
name String(255) Наименование доп. поля
Обязательное при ответе Необходимо при создании
required Boolean Является ли доп. поле обязательным
Обязательное при ответе
show Boolean Показывать ли доп. поле на UI. Не может быть скрытым и обязательным одновременно. Только для операций
Обязательное при ответе
type Enum Тип доп. поля
Обязательное при ответе Необходимо при создании После заполнения недоступно для изменения

Дополнительные поля конкретной сущности - внутренняя коллекция attributes, которая представлена в виде массива объектов доп. полей со значениями.

Атрибуты доп. поля со значением

Название Тип Описание
id UUID ID соответствующего доп. поля
meta Meta Ссылка на метаданные доп. поля
file Object Описание файла и контент (поле доступно только для доп.поля типа Файл)
name String(255) Наименование доп. поля
type Enum Тип доп. поля
value Зависит от типа, см. ниже Значение, указанное в доп. поле

Возможные значения типа доп. поля (поле type) и соответствующие им значения типа в JSON, а также типы атрибута value в JSON объекта доп поля при соответствующем type:

Тип атрибута Значение поля type в JSON Тип поля value в JSON
Дата time string
Справочник {entityType} object
Ссылка link string
Строка string string
Текст text string
Файл file string
Флажок boolean boolean
Число дробное double number
Число целое long number

Дополнительные поля типов Файл и Флажок не могут быть обязательными (поле required не может быть true).

Сброс значения в доп. поле

При передаче значения null в поле value значение соответствующего доп. поля сбрасывается, кроме доп. поля типа Файл. Для сброса значения доп. поля типа Файл нужно передать поле file со значением null.

Дополнительные поля типа справочник

Отдельного упоминания заслуживает тип доп. поля "справочник". Значение type в представлении объекта доп. поля будет разным в зависимости от того, справочник каких сущностей был выбран при создании доп. поля. Ниже представлена таблица, в которой при выбранном типе доп. поля "справочник" показаны значения поля type в зависимости от выбранного типа сущностей в справочнике.

Примеры значения type у доп. поля типа справочник

Тип сущностей справочника Значение поля type в JSON (entityType)
[Договор] contract
[Контрагент] counterparty
[Проект] project
[Склад] store
[Сотрудник] employee
[Товар] product
Имя_пользовательского справочника customentity

Если в качестве типа доп. поля выбран Пользовательский справочник, то в составе объекта данного доп. поля появится новый атрибут customEntityMeta являющийся ссылкой на метаданные этого справочника. Полный набор атрибутов доп. поля будет выглядеть следующим образом:

Название Тип Описание
customEntityMeta Meta Ссылка на метаданные пользовательского справочника
description String(4096) Описание доп. поля
id UUID ID доп. поля
meta Meta Ссылка на метаданные доп. поля
name String(255) Наименование доп. поля
required Boolean Является ли доп. поле обязательным
show Boolean Показывать ли доп. поле на UI. Не может быть скрытым и обязательным одновременно. Только для операций
type Enum Тип доп. поля

При выбранном типе доп. поля "справочник" атрибут value будет объектом со следующими свойствами:

Название Тип Описание
meta Meta Метаданные сущности соответствующего справочника
name String(255) Наименование соответствующей сущности

Обнуление доп. поля типа "справочник" происходит так же, как и при работе с другими доп. полями. В запросе на обновление в коллекции attributes следует указать объект с id данного поля, а в качестве value передать null.

С коллекцией доп. полей можно работать только в контексте отдельной сущности. Доп. поля и их значения можно передать в коллекции attributes в теле запроса как на создание, так и на обновление сущности. В качестве указания доп. поля нужно использовать поле meta. В переданном массиве объектов можно указать не все доп. поля - проинициализируются/обновятся только указанные.

Дополнительные поля типа файл

Для загрузки значения для доп. поля типа файл нужно в JSON при создании или обновлении для значения поля указать объект следующей структуры:

Название Тип Описание
filename String(255) Имя файла
Обязательное при ответе Необходимо при создании
content String Байты файла, закодированные в base64
Обязательное при ответе Необходимо при создании

Для сброса значения доп. поля типа Файл нужно передать поле file со значением null.

Дополнительные поля сущностей

Запрос на получение дополнительных полей сущности. Список доступных типов сущностей перечислен тут.

Структура объекта доп. поля подробно описана в секции Работа с дополнительными полями.

Параметры

Параметр Описание
limit number (optional) Default: 1000 Example: 1000 Максимальное количество сущностей для извлечения.Допустимые значения 1 - 1000.
offset number (optional) Default: 0 Example: 40 Отступ в выдаваемом списке сущностей.
entityType string Example: demand тип сущностей, для которых осуществляется управление доп. полями.

Получить все дополнительные поля для указанного типа

Запрос всех доп. полей для переданного типа сущностей. Результат: Объект JSON, включающий в себя поля:

Название Тип Описание
meta Meta Метаданные о выдаче
rows Array(Object) Массив JSON объектов, представляющих собой доп. поля.

Создать дополнительные поля

Действие доступно только для пользователя с правами администратора.
Запрос на создание нового доп. поля для указанного типа сущностей.

Удалить дополнительные поля

Действие доступно только для пользователя с правами администратора.
Запрос на удаление нескольких доп. полей отгрузок.

Response 200 (application/json) Успешное удаление доп. полей.

Дополнительное поле

Параметры

Параметр Описание
id string (required) Example: 7bc578d8-6501-11e8-9464-e4de00000004 id доп. поля.

Получить дополнительное поле

Запрос на получение отдельного доп. поля отгрузок с указанным id.

Изменить дополнительное поле

Действие доступно только для пользователя с правами администратора.
Запрос на обновление отдельного доп. поля для переданного типа сущностей.

Удалить дополнительное поле

Действие доступно только для пользователя с правами администратора.
Запрос на удаление доп. поля отгрузок с указанным id.

Response 200 (application/json) Успешное удаление доп. поля.

Обновление значений дополнительных полей

Запрос на обновление коллекции доп. полей конкретной сущности.

Работа с позициями документов

API сервиса МойСклад позволяет оперировать с такими документами как Отгрузка, Заказ покупателя, Счет покупателю, Розничная продажа, Полученный отчет комиссионера, Выданный отчет комиссионера, Оприходование, Внутренний заказ, Инвентаризация, Списание, Перемещение, Прайс-лист, Заказ на производство, Возврат поставщику, Заказ поставщику, Розничный возврат, Возврат покупателя, Приемка, Счет поставщика. Перечисленные документы содержат позиции, работать с которыми можно как в составе отдельного документа, так и с помощью специальных ресурсов для управления позициями документа.

Работа с позициями в рамках отдельного документа

При работе с позициями в рамках отдельного документа, их можно передавать как поле positions, представляющее собой массив позиций документа, в составе объекта, использующегося в запросе на изменение или создание документа. В таком случае, массив позиций воспринимается как множество всех позиций документа и полностью заменяет (в случае запроса на обновление) все уже существующие позиции в документе. В случае запроса на обновление, все позиции, которые существовали ранее в документе, но не были переданы в теле запроса на обновление, будут удалены, все существующие позиции, id которых совпал с id передаваемых позиций в теле запроса, будут обновлены, а новые позиции, которых ранее не было среди существующих позиций документа, будут добавлены в список позиций.

Работа с позициями документов с помощью специальных ресурсов

В JSON API предусмотрены специальные ресурсы для управления позициями документов. Эти ресурсы как правило доступны по следующему URI и с помощью них вы сможете удалять позиции из документа, сделав запрос с методом DELETE по URL соответствующего ресурса с указание id позиции:

При работе со специальными ресурсами можно запрашивать список всех позиций документа, создавать новые позиции, а также обновлять существующие. При создании новых позиций с помощью данных ресурсов, можно обходить ограничение в 1000 позиций на документ. Также, используя данный ресурс, можно управлять массовым обновлением позиций. Для изменения сведений по отдельным позициям необходимо использовать ресурсы управления отдельными позициями документа, которые доступны по URI:

Оба способа работы с позициями также описаны в документации по каждому из документов.

Также возможно массовое удаление позиций документа, используя метод POST по URL соответствующего ресурса. В теле запроса необходимо указать массив удаляемых позиций, указав поле meta у каждой из позиций.

Остатки и себестоимость в позициях документов

При запросе и обновлении документов есть возможность получать остатки и себестоимость позиций этих документов. Для получения остатков и себестоимости в позициях документа в запросе нужно передать дополнительный параметр fields=stock. Например,

Остатки и себестоимость можно получить по следующим документам: [Отгрузка, Заказ Покупателя, Розничная продажа, Счет покупателя, Заказ поставщика, Счет поставщика, Приемка, Возврат поставщику, Возврат покупателя, Розничный возврат]

Остатки и себестоимость для документов Отгрузка, Розничная продажа, Приемка, Возврат поставщику, Возврат покупателя, Розничный возврат расчитываются на момент поля moment в данных документах. Для Заказа покупателя, Счета покупателя, Заказа поставщика, Счета поставщика рассчитываются на текущий момент времени.

Получить остатки с себестоимостью можно для следующих запросов:

При составлении запроса на получение списка операций нужно дополнительно передать параметр limit со значением, не превышающем 100. Например,

Для возврата покупателя без основания и розничного возврата без основания поле cost будет отсутствовать в составе stock.

Назначение поля syncId

Сущностям, у которых среди атрибутов присутствует поле syncId, оно необходимо для того, чтобы в случае сбоя при повторной отправке запроса на создание новой сущности не происходило дублирование объектов. Если в теле запроса на создание сущности указать сгенерированный на клиенте syncId, то при повторной отправке этого же запроса (с тем же syncId) вместо создания сущности с идентичными полями в ответ придет ранее созданная сущность. Сущности, поддерживающие поле syncId, можно удалить, используя url типа /entity/{type}/syncid/{id}.

Создание и обновление объекта

При создании объекта достаточно заполнить только поля, помеченные Необходимое. Данные поля используются только при создании, при обновлении они не требуются. Поля, помеченные Только для чтения, игнорируются при создании/обновлении объекта.

Создание и обновление нескольких объектов

При использовании метода POST вы можете указать в теле запроса вместо одной - массив сущностей. Для этого, вам нужно передать массив (начать тело запроса с [ и закончить ]), который будет содержать JSON представления объектов, которые вы хотите создать или обновить. Обновляемые сущности должны содержать идентификатор в виде метаданных. Если при обновлении сущность не найдена, она будет создана.

Также возможно произвести массовое удаление сущностей, если при использовании метода POST указать url вида /entity/{type}/delete.

Лимит на создание, обновление и удаление объектов списком - 1000

Поддержка null

В рамках JSON API можно удалить значение из поля типа объект (если это поле не является обязательным, или же если данное поле в основном интерфейсе может содержать пустое значение). Например: поле Договор(contract) в любом из документов. Сделать это можно передав в запросе на обновление сущности в данное поле null. Например: { "contract": null }. Удаление валюты из документов ({rate: null}) равносильно изменению валюты документа на валюту по умолчанию. В результате все цены и суммы будут пересчитаны. Накладные расходы также будут пересчитаны, если они не были указаны явно.

Исключения:

Пустые поля

Если какое-то из полей сущности не было заполнено и, при этом оно не является обязательным, оно не будет выдано в JSON представлении этой сущности.

Формат даты и времени

В JSON API поля типа дата-время (момент времени) - это строка в формате:

Следующие поля устанавливаются и выводятся в JSON API с точностью до минут, а именно со значением секунд и миллисекунд равным 00:

Сортировка объектов

Для сортировки списка объектов можно использовать url параметр order. Значение этого параметра - urlencoded строка с условиями сортировки, перечисленными через ;. (Все примеры ниже указаны без urlencoded для лучшей читаемости) Каждое условие сортировки- это сочетание названия поля, запятой (опционально, если указывается направление сортировки), направления сортировки (опционально; может принимать значения asc и desc. Значение по умолчанию - asc).

Сортировка поддерживается для следующих типов полей: числовой, строковый, дата-время, логический и uuid. Подробное описание доступно в соответствующем разделе.

Примеры запросов с сортировкой:

Фильтрация выборки с помощью параметра filter

Для фильтрации выборки по нескольким полям можно использовать url параметр filter. Значение этого параметра - urlencoded строка с поисковыми условиями, перечисленными через ;. Для использования самого символа ; в текстовых фильтрах необходимо указывать два символа \;. (Все примеры ниже указаны без urlencoded для лучшей читаемости) Каждое поисковое условие - это сочетание названия поля, оператора и константы. Фильтровать можно по всем полям, значения которых являются примитивными типами. Т.е. нельзя фильтровать поля-объекты и поля-массивы, все остальные поля могут быть использованы в параметре filter.

Если в поисковом запросе несколько раз встречается условие типа "равенство" = примененное к одному и тому же полю, то такое условие интерпретируется как совокупность условий, разделенных логическим оператором ИЛИ.

Если же встречается несколько условий вида "не равно" !=, наложенных на одну и ту же переменную, то они интерпретируются как совокупность условий разделенных логическим оператором И.

Если на одно из полей наложено ограничение типа "равенство", а затем на него накладывается ограничение типа неравенство - в таком случае произойдет ошибка.

Допускается использование одновременно нескольких одинаковых операторов сравнения ['>', '<', '>=', '<='] для одного поля. При этом будет использовано лишь первое значение.

Фильтры, примененные к разным полям объединяются через логическое И, т.е. в запросе вида:

Проверка на пустое значение

Если в строке фильтрации указать конструкцию вида: <имя_поля>=; то в выборку попадут только объекты, где данное поле равно null (т.е. отсутствует значение), а если тип поля - строковое, то будет также выполнена проверка на пустую строку, т.е. поле=''. Конструкция <имя_поля>!=; выполнит проверку на присутствие значения. С помощью данной конструкции можно проверить наличие значения в ссылочном поле.

Фильтрация документов

Для фильтрации выборки документов можно использовать параметр isDeleted. Принимает значения true и false.

Для фильтрации выборки напечатанных документов используется параметр printed. Принимает значения true и false.

Для фильтрации выборки отправленных документов используется параметр published. Принимает значения true и false.

Фильтрация сущностей

Для фильтрации выборки сущностей следует использовать параметр archived. Данный параметр принимает значения true и false.

Фильтрация ссылочных полей

С помощью filter можно фильтровать ссылочные поля. Если в сущности присутствует ссылочное поле в виде метаданных, можно использовать следующую конструкцию для того чтобы отфильтровать по этому полю выборку:

Пример ссылки:

Вот несколько примеров:

Ссылочные поля, доступные для фильтрации:

Для розничных операций ("Розничная смена", "Розничная продажа", "Розничный возврат", "Внесение денег", "Выплата денег") также доступна фильтрация по:

Примеры запросов для фильтрации :

Фильтрация по полям типа ID

С помощью filter можно фильтровать поля типа ID.

Пример ID:

Например:

Фильтрация по дополнительным полям

С помощью параметра filter можно фильтровать по дополнительным полям, добавив ссылку на доп. поле и значение фильтрации. Значение фильтрации может быть строкой, числом, датой или url, в зависимости от типа доп. поля. Пример: filter=<ссылка на доп.поле>=<значение>

Доступные операторы для фильтрации доп. полей
Название Тип поля value в JSON Значение поля type в JSON Описание
Дата string time =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, <val, >val, >=val, <=val, >=val;<=val2
Справочник object {entityType} =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=
Ссылка string link =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, ~val, !~val, ~=val, =~val
Строка string string =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, ~val, !~val, ~=val, =~val
Текст string text =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, ~val, !~val, ~=val, =~val
Файл string file Фильтрация не поддерживается
Флажок boolean boolean =true, =false
Число дробное number duble =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, <val, >val, >=val, <=val, >=val;<=val2
Число целое number long =val, =, !=val, !=, =val;=val2, !=val;!=val2, =val;=, !=val;!=, <val, >val, >=val, <=val, >=val;<=val2

=val - фильтрация по значению
= - фильтрация по пустому значению
~ - частичное совпадение
!~ - частичное совпадение не выводится
~= - полное совпадение в начале значения
=~ - полное совпадение в конце значения
> - больше
< - меньше
>= - больше или равно
<= - меньше или равно

Примеры фильтрации:

Дополнительные фильтры

С помощью filter=state.name=<ИмяСтатуса> можно фильтровать документы по имени статуса. state.name Параметр строкового типа. В отфильтрованную выборку попадут все документы данного типа, на которые выставлен статус с указанным именем.

Пример запроса с использованием фильтра state.name:

https://api.moysklad.ru/api/remap/1.2/entity/customerOrder?filter=state.name=Новый;state.name=Принят

Фильтр filter=assortment= позволяет фильтровать документы по наличию позиций с указанными сущностями ассортимента. assortment - параметр, принимающий href ассортимента или группы товаров. Допустимые типы сущностей: Товар, Услуга, Модификация, Комплект, Группа товаров. В выборку попадут те документы, которые содержат указанные сущности в числе позиций, или, в случае указания Групп товаров, одну из сущностей из указанных Групп товаров.

Пример запроса с использованием фильтра assortment:

https://api.moysklad.ru/api/remap/1.2/entity/demand?filter=assortment=https://api.moysklad.ru/api/remap/1.2/entity/product/166909e6-4a99-11e6-8a84-bae500000089

С помощью filter=accounts.accountnumber=<НомерСчета> можно фильтровать контрагентов по номеру счета. accounts.accountnumber Параметр строкового типа. В отфильтрованную выборку попадут все контрагенты, у которых есть счет с указанным номером.

Пример запроса с использованием фильтра accounts.accountnumber:

https://api.moysklad.ru/api/remap/1.2/entity/counterparty?filter=accounts.accountnumber=123456;accounts.accountnumber=654321

Фильтрация по сущностям, на которые нет права просмотра

При фильтрации по сущности, на которую у текущего пользователя нет прав на просмотр в ответе придет пустой список. Например, при фильтрации задач (task) по автору (author), который является сотрудником, которого не может просматривать текущий пользователь, в ответ вернется пустой список задач.

Контекстный поиск

В JSON API можно осуществлять контекстный поиск среди списка сущностей определенного типа по их строковым полям. Для этого используется URI параметр фильтрации search

Удаление в корзину

Корзина позволяет избежать риска случайного удаления важных документов. Удаление в корзину доступно только при наличии у сотрудника соответствующих прав, а также настроек компании на использовании корзины.

Response 200 (application/json) Успешный запрос удаления Приёмки в корзину

Оператор фильтрации "подобие"

В JSON API для строковых полей есть специальный оператор фильтрации "подобие".

Операторы подобия работают исключительно с полями строкового типа и не учитывают регистр. К полям типа uuid и дата-время они неприменимы.

Применение сохраненного фильтра

В JSON API есть возможность применения сохраненных фильтров. Подробное описание доступно в соответствующем разделе.

Ссылки на файлы

В JSON API для скачивания файла формируется редирект на временный URL файла. Для корректной работы необходимо поддерживать обработку редиректов. Запрос на временный URL не требует авторизации. По умолчанию время жизни временного URL равно одной минуте.

С помощью заголовка X-Lognex-Download-Expiration-Seconds можно изменить время жизни URL в секундах. Текущее максимально возможное значение - 86400 секунд (24 часа). Долгоживущие ссылки предназначены для экспорта. Использование этих ссылок на публично доступных web-страницах запрещено.

Замена ссылок объектами с помощью expand

В JSON API, в составе сущностей можно встретить ссылки на связанные объекты. Ссылки выводятся в формате Метаданных. Для того, чтобы вместо ссылок получить связанные объекты, не обязательно делать отдельные запросы для каждого из них. Вместо этого, вместе с запросом на получение сущности, нужно передать параметр expand. В качестве значения данного параметра нужно перечислить через запятую все необходимые поля-ссылки, на месте которых вы бы хотели видеть связанные объекты. В результате запроса с таким параметром, в ответе вы получите объект с развернутыми вложенными объектами вместо ссылок. К примеру, в документах, имеющих в составе поле agent, вместо ссылки на контрагента будет выведен объект со всеми полями сущности "Контрагент", описанными тут.

На expand действуют следующие правила:

Ниже показаны примеры использования expand на Возврате покупателя. В примерах представлены только поля meta и demand.

Возврат без expand

Возврат с expand отгрузки

Передаем параметр expand=demand.

Возвраты с expand отгрузки

Передаем параметр expand=demand и limit=100.

Expand с глубиной 2

Теперь развернем поле agent у вложенной в возврат отгрузки (demand). В ответ придет возврат покупателя с развернутой отгрузкой (demand), внутри которой будет развернутый объект контрагента (agent).

В данном запросе продемонстрирован уровень вложенности параметра expand равный двум.

Создание отгрузки с expand

Редактирование отгрузки с expand

Контекст запроса сотрудника

Возвращает данные о сотруднике, от лица которого происходит запрос. Доступ к сущности осуществляется по эндпоинту /context/employee

Атрибуты сущности

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе Только для чтения
archived Boolean Добавлен ли Сотрудник в архив
Обязательное при ответе Только для чтения
attributes Array(Object) Дополнительные поля Сотрудника
Только для чтения
cashiers MetaArray Массив кассиров. Подробнее тут
Только для чтения Expand
code String(255) Код Сотрудника
Только для чтения
created DateTime Момент создания Сотрудника
Обязательное при ответе Только для чтения
description String(4096) Комментарий к Сотруднику
Только для чтения
email String(255) Электронная почта сотрудника
Только для чтения
externalCode String(255) Внешний код Сотрудника
Обязательное при ответе Только для чтения
firstName String(255) Имя
Только для чтения
fullName String(255) Имя Отчество Фамилия
Только для чтения
group Meta Отдел сотрудника
Обязательное при ответе Только для чтения
id UUID ID Сотрудника
Обязательное при ответе Только для чтения
image Object Фотография сотрудника. Подробнее тут
Только для чтения
inn String(255) ИНН сотрудника (в формате ИНН физического лица)
Только для чтения
lastName String(255) Фамилия
Обязательное при ответе Только для чтения
meta Meta Метаданные Сотрудника
Обязательное при ответе Только для чтения
middleName String(255) Отчество
Только для чтения
name String(255) Наименование Сотрудника
Обязательное при ответе Только для чтения
owner Meta Владелец (Сотрудник)
Обязательное при ответе Только для чтения
permissions Object Перечисление пермиссий сотрудника. Подробнее тут
Обязательное при ответе Только для чтения
phone String(255) Телефон сотрудника
Только для чтения
position String(255) Должность сотрудника
Только для чтения
shared Boolean Общий доступ
Обязательное при ответе Только для чтения
shortFio String(255) Краткое ФИО
Только для чтения
uid String(255) Логин Сотрудника
Только для чтения
updated DateTime Момент последнего обновления Сотрудника
Обязательное при ответе Только для чтения

Атрибуты вложенных сущностей

Многие атрибуты, представленные в этом запросе, за исключением поля permissions, повторяют атрибуты запроса Сотрудника, подробное описание которых можно посмотреть в соответствующем разделе.

Пермиссии сотрудника

Объект пермиссий сотрудника включает в себя пермиссии сущностей, часть тарифных и пользовательских пермиссий. Поля объекта представляют собой отдельную пермиссию, где имя указывает на тип пермиссии, а значение представляет собой объект со значениями пермиссий в формате <тип пермиссии>: <значение>.

Пользовательские и тарифные пермиссии
Название Описание
admin Является ли сотрудник админом
audit_dashboard Просматривать аудит
company_crm Просматривать показатели
customAttributes Работа с доп. полями
dashboard Просматривать показатели
dashboardMoney Видеть остатки денег
viewCashFlow Видеть движение денежных средств
viewProductCostAndProfit Видеть себестоимость
pnl Просматривать прибыльность
stock Просматривать остатки по товарам
tariff_crm Присутствует ли опция CRM на аккаунте

При наличии соответствующей пермиссии объект содержит поле VIEW со значением ALL

Список пермиссий сущностей

Имеется три возможных типа значений пермиссий сущности: OPERATION, DICTIONARY, BASE. Данные типы имеют следующие поля:

типы значений пермиссий сущности view create update delete print approve
OPERATION + + + + + +
DICTIONARY + + + + + -
BASE + + + + - -
Описание пермиссий сущностей
Название Описание
view Смотреть
create Создавать
update Редактировать
delete Удалять
print Печатать
approve Проводить
Возможные значения полей view, create, update, delete, approve, print
Название На кого распространяется
OWN Только свои
OWN_SHARED Свои и общие
OWN_GROUP Свои и отдела
OWN_GROUP_SHARED Свои, отдела и общие
ALL Все
Отсутствует Ни на кого
Пермиссии сущностей и документов, которые присутствуют в запросе
Название Возможные значения Описание
accountAdjustment DICTIONARY Корректировка остатков на счете
bonusTransaction OPERATION Бонусные баллы
cashIn OPERATION Приходной ордер
cashOut OPERATION Расходной ордер
cashboxAdjustment DICTIONARY Корректировка остатков в кассе
commissionReportIn OPERATION Полученный отчет комиссионера
commissionReportOut OPERATION Выданный отчет комиссионер
company DICTIONARY Контрагенты
contract DICTIONARY Договоры
counterpartyAdjustment DICTIONARY Корректировка взаиморасчетов
country BASE Страны
currency BASE Валюты
customEntity BASE Элементы пользовательских справочников
customerOrder OPERATION Заказ покупателям
demand OPERATION Отгрузка
employee BASE Сотрудники
enter OPERATION Оприходование
factureIn OPERATION Счета-фактуры полученные
factureOut OPERATION Счета-фактуры выданные
good DICTIONARY Товары и Услуги
internalOrder OPERATION Внутренние заказы
inventory DICTIONARY Инвентаризация
invoiceIn OPERATION Счет поставщику
invoiceOut OPERATION Счет покупателям
loss OPERATION Списание
move OPERATION Перемещение
myCompany BASE Юр. Лица
paymentIn OPERATION Входящий платеж
paymentOut OPERATION Исходящий платеж
prepayment OPERATION Предоплаты
prepaymentReturn OPERATION Возврат предоплаты
priceList OPERATION Прайс-лист
processing BASE Техоперации
processingOrder OPERATION Заказ на производство
processingPlan BASE Техкарты
processingStage BASE Этапы производства
processingProcess BASE Техпроцессы
project BASE Проекты
purchaseOrder OPERATION Заказ поставщикам
purchaseReturn OPERATION Возврат поставщику
retailDemand OPERATION Продажи
retailDrawerCashIn OPERATION Внесения
retailDrawerCashOut OPERATION Выплаты
retailSalesReturn OPERATION Возвраты
retailShift DICTIONARY Смены
retailStore BASE Точка продаж
salesReturn OPERATION Возврат покупателя
supply OPERATION Приемки
task Особый Задачи
uom BASE Единицы измерения
warehouse BASE Склады
webhook DICTIONARY Вебхуки
Пермиссии для задач

Пермиссии script для задач имеют следующие поля:

Название Описание Возможные значения
view Смотреть Отсутствует, AUTHOR_OR_ASSIGNEE, ALL
create Создавать Отсутствует, ALL
update Редактировать Отсутствует, AUTHOR, AUTHOR_OR_ASSIGNEE, ALL
delete Удалять Отсутствует, AUTHOR, AUTHOR_OR_ASSIGNEE, ALL
done Выполнять Отсутствует, ASSIGNEE, AUTHOR_OR_ASSIGNEE, ALL
Возможные значения полей view, create, update, delete, done для задач
Название На какие задачи распространяется
AUTHOR_OR_ASSIGNEE Созданные пользователем и назначенные ему
ASSIGNEE Назначенные
AUTHOR Созданные пользователем
ALL Возможность совершать действие над любыми задачами
Отсутствует Нет прав ни на какие задачи

Получить контекст сотрудника

Запрос на получение контекста запроса Cотрудника.

Серверные решения

Для доступа к API может быть использован токен выданный Вендору при установке Серверного решения пользователем МоегоСклада.

Получение контекста решения

Возвращает параметры решения, в рамках которого присходит запрос (по аналогии с контекстом Сотрудника).

Получение сущности установленного решения

Возвращает параметры установленного решения по id установленного на аккаунте решения.

Параметры

Параметр Описание
id string (required) Example: b58a6312-f958-11e9-ac12-000a00000020 id установленного на аккаунте решения

Фильтрация выборки с помощью параметра filter=updatedBy

Для фильтрации выборок сущностей по решению укажите uid изменившего их решения.

Uid решения должен быть указан в виде: .@

Пример запроса на получение списка входящих платежей: https://api.moysklad.ru/api/remap/1.2/entity/paymentin?filter=updatedBy=test.moysklad@reqwy1

Фильтрация записей аудита с помощью параметра filter=uid

Для фильтрации аудита по решению укажите uid решения, которое изменяло сущности.

Uid решения должен быть указан в виде: .@

Пример запроса на получение списка записей: https://api.moysklad.ru/api/remap/1.2/audit?filter=uid=test.moysklad@reqwy1

Фильтрация записей аудита с помощью параметра filter=application

Для фильтрации аудита по решению укажите href решения, которое изменяло сущности.

Href решения должен быть указан в виде: https://api.moysklad.ru/api/remap/1.2/entity/application/{id}, где id - UUID установленного на аккаунте решения

Пример запроса на получение списка записей: https://api.moysklad.ru/api/remap/1.2/audit?filter=application=https://api.moysklad.ru/api/remap/1.2/entity/application/46ea8005-2965-11e9-9ff4-34e80009ac49

Ограничения

Для JSON API установлены следующие ограничения:

Также накладывается ограничение на максимальное число объектов (позиций, материалов, продуктов), передаваемых в одном массиве в запросе - не более 1000 элементов. В случае, если количество элементов коллекции превышает максимально допустимое, произойдет ошибка со статусом 413. Если количество позиций превышает максимально допустимое, то для дальнейшего пополнения позиций нужно будет работать со специальным ресурсом, описание которого приведено в конкретной сущности.

МойСклад автоматически отключает:

Если вы столкнулись с отключением API или вебхуков:

В JSON API действуют тарифные ограничения. Пользователю доступна функциональность в соответствии с его действующим тарифным планом.

Ознакомиться с актуальными тарифами и существующими дополнительными опциями можно в статье Тарифы для вашего бизнеса. Более подробно об ограничениях Бесплатного тарифа в статье

Примечание: Работа с вебхуками доступна только на платных тарифах (и в пробный период).

Данные правила могут быть дополнены и изменены без предварительного уведомления. За их актуальностью необходимо следить в данной документации.

Асинхронный обмен

В JSON API можно выполнить некоторые запросы асинхронно. Это позволяет проводить выгрузку больших коллекций, не прибегая к листанию, если работа в реальном времени не критична.

Асинхронный обмен поддерживается не для всех запросов. Список запросов, которые могут быть выполнены асинхронно:

После выполнения запроса в асинхронном режиме результат доступен в течение 1 часа.

На количество задач в очереди и число одновременно выполняющихся асинхронных задач установлены ограничения.

На данный момент в процессе асинхронного выполнения запроса могут возникать дубли позиций коллекции, если параллельно с подготовкой результата добавляются новые элементы. Кроме того, элементы могут отсутствовать, если параллельно с обработкой Асинхронной задачи удаляются связанные с задачей сущности (например, удаление товара в процессе подготовки Отчета Остатки).

Выполнение запроса в асинхронном режиме

Чтобы выполнить запрос в асинхронном режиме, нужно в параметрах строки запроса указать async=true. Указание параметров строки запроса offset и limit, свойственных для синхронных запросов, является ошибкой.

Параметры

Параметр Описание
async boolean
true - будет создана Асинхронная задача.
false (по умолчанию) - запрос будет выполнен в синхронном режиме

Результатом выполнения запроса будет создание Асинхронной задачи, которая будет помещена в очередь. В ответе будут содержаться заголовки, содержащие URL статуса и результата задачи.

Параметр Описание
Location URL результата выполнения Асинхронной задачи.
Content-Location URL статуса Асинхронной задачи.

Асинхронная задача

Асинхронная задача содержит в себе информацию о создателе задачи, ее текущем статусе, наличии ответа и другую информацию.

Атрибуты сущности

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе Только для чтения
deletionDate DateTime Дата, после которой результат выполнения задачи станет недоступен. Содержится в ответе, если поле state имеет значение DONE
Только для чтения
errors Object json ошибки апи, если поле state имеет значение API_ERROR
Только для чтения
id UUID ID Асинхронной задачи
Обязательное при ответе Только для чтения
meta Meta Метаданные Асинхронной задачи
Обязательное при ответе
owner Meta Пользователь или решение, которые создали Асинхронную задачу
Обязательное при ответе Только для чтения
request String URL запроса, по которому создана Асинхронная задача
Обязательное при ответе Только для чтения
resultUrl String Ссылка на результат выполнения задачи. Содержится в ответе, если поле state имеет значение DONE
Только для чтения
state Enum Статус выполнения Асинхронной задачи. Подробнее тут
Обязательное при ответе Только для чтения
Статус выполнения Асинхронной задачи
Значение Описание
PENDING Задача находится в очереди
PROCESSING Задача находится в обработке, результат еще не готов
DONE Задача выполнена успешно
ERROR Задача не была выполнена в результате внутренней ошибки. В этом случае нужно попробовать запустить задачу заново
CANCEL Задача была отменена
API_ERROR Задача была завершена с ошибкой апи

Статусы Асинхронных задач

Запрос на получение списка статусов выполнения Асинхронной задачи. Результат содержит статусы Асинхронных задач за последнюю неделю.

Доступна фильтрация по полям state, request, deletionDate.

Получение статуса Асинхронной задачи

Запрос на получение статуса выполнения Асинхронной задачи.

Параметры

Параметр Описание
id string (required) Example: 498b8673-0308-11e6-9464-e4de00000089 id Асинхронной задачи.

Получение результата выполнения Асинхронной задачи

Response 200 Успешный запрос. Результат - файл с результатом выполнения Асинхронной задачи в формате json.

Пример полученного отчета

{
  "context": {
    "employee": {
      "href": "https://api.moysklad.ru/api/remap/1.2/context/employee",
      "type": "employee",
      "mediaType": "application/json"
    }
  },
  "meta": {
    "href": "https://api.moysklad.ru/api/remap/1.2/report/stock/bystore?async=true",
    "type": "stockbystore",
    "mediaType": "application/json",
    "size": 2
  },
  "rows": [
    {
      "meta": {
        "href": "https://api.moysklad.ru/api/remap/1.2/entity/product/c02e3a5c-007e-11e6-9464-e4de00000006?expand=supplier",
        "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/product/metadata",
        "type": "product",
        "mediaType": "application/json"
      },
      "stockByStore": [
        {
          "meta": {
            "href": "https://api.moysklad.ru/api/remap/1.2/entity/store/86c857d6-0302-11e6-9464-e4de00000072",
            "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/store/metadata",
            "type": "store",
            "mediaType": "application/json"
          },
          "name": "Не основной склад",
          "stock": -30,
          "reserve": 0,
          "inTransit": 0
        },
        {
          "meta": {
            "href": "https://api.moysklad.ru/api/remap/1.2/entity/store/850ee995-f504-11e5-8a84-bae500000160",
            "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/store/metadata",
            "type": "store",
            "mediaType": "application/json"
          },
          "name": "Основной склад",
          "stock": 0,
          "reserve": 0,
          "inTransit": 0
        }
      ]
    },
    {
      "meta": {
        "href": "https://api.moysklad.ru/api/remap/1.2/entity/product/cc99c055-fa34-11e5-9464-e4de00000069?expand=supplier",
        "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/product/metadata",
        "type": "product",
        "mediaType": "application/json"
      },
      "stockByStore": [
        {
          "meta": {
            "href": "https://api.moysklad.ru/api/remap/1.2/entity/store/86c857d6-0302-11e6-9464-e4de00000072",
            "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/store/metadata",
            "type": "store",
            "mediaType": "application/json"
          },
          "name": "Не основной склад",
          "stock": 0,
          "reserve": 0,
          "inTransit": 0
        },
        {
          "meta": {
            "href": "https://api.moysklad.ru/api/remap/1.2/entity/store/850ee995-f504-11e5-8a84-bae500000160",
            "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/store/metadata",
            "type": "store",
            "mediaType": "application/json"
          },
          "name": "Основной склад",
          "stock": 4,
          "reserve": 0,
          "inTransit": 0
        }
      ]
    }
  ]
}

Запрос на получение результата выполнения Асинхронной задачи.

Параметры

Параметр Описание
id string (required) Example: 498b8673-0308-11e6-9464-e4de00000089 id Асинхронной задачи.

Если статус задачи имеет значение DONE и время жизни результата не истекло, ответом на запрос будет перенаправление на ссылку загрузки результата выполнения Асинхронной задачи. С момента получения ссылка действительна 5 минут. Большинство HTTP-клиентов осуществляют перенаправление автоматически, но если ваш клиент этого не делает, то результат выполнения запроса будет иметь статус 302 FOUND с заголовком Location, в котором и содержится ссылка на результат. После наступления даты, указанной в поле deletionDate, результат становится недоступен.

Если статус задачи имеет значение API_ERROR, то в json ответе на запрос получения результата задачи будет указана ошибка, аналогичная той, которую вернул синхронный вызов ресурса.

Вебхуки Асинхронной задачи

Настроить вебхуки для асинхронной задачи можно аналогично остальным сущностям, но есть ряд исключений:

При формировании запроса на создание вебхука в поле entityType нужно указать тип async - асинхронная задача.

На указанный в поле url адрес при срабатывании вебхука будет приходить сообщение, у которого в meta в поле href указан url на получение статуса асинхронной задачи.

Отмена Асинхронной задачи

Response 204 Успешная отмена задачи

Запрос на отмену находящейся в очереди PENDING или в процессе обработки PROCESSING Асинхронной задачи.

Параметры

Параметр Описание
id string (required) Example: 498b8673-0308-11e6-9464-e4de00000089 id Асинхронной задачи.

Ошибки

В данном разделе приведены коды ошибок JSON API и их описание

Код ошибки Сообщение Описание
1000 Элемент URI не является идентификатором Вероятнее всего вы пытаетесь обратиться к несуществующему ресурсу. Проверьте указанный вами URI, проверьте правильно ли вы указали ключевое слово сущности и полностью ли вы скопировали ID.
1001 Не указан идентификатор метаданных При обращении к пользовательскому справочнику в URI должен быть указан корректный {id} метаданных данного справочника. Его можно уточнить, сделав запрос к метаданным настроек компании companysettings/metadata в массиве customEntities.
1002 Неопознанный путь: {путь} Не удалось определить ресурс, по которому был сделан запрос. Проверьте URI по которому совершается запрос.
1003 Отсутствуют метаданные для типа {тип} Для данного ресурса нельзя получить метаданные. Еще раз проверьте документацию по сущности данного типа и убедитесь в наличии ресурса "Метаданные <наименование_сущности>"
1004 Ошибка при формировании результата: {текст ошибки} При разборе переданного объекта произошла ошибка. Проверьте корректность переданных данных.
1005 Неизвестный тип: {тип} Тип сущности, указанный в URI, не может быть найден. Проверьте корректность ключевого слова.
1006 Создание объектов с указанным идентификатором запрещено При создании сущности не нужно указывать в URI запроса id сущности. Запрос на создание должен происходить по тому же URI, по которому происходит запрос на получение списка сущностей данного типа.
1007 Неизвестное поле: {имя поля} При обновлении сущности указанное поле не было найдено. Проверьте правильность написания имени поля, а также убедитесь что данное поле присутствует среди атрибутов сущностей этого типа.
1008 Ошибка при загрузке объекта с типом '{тип}' и идентификатором '{id}' Не удалось загрузить сущность с данным id. Проверьте корректность id. Убедитесь что сущность с данным id присутствует среди списка сущностей данного типа (возможно сущность с данным id была удалена).
1009 Редактирование объектов типа '{тип}' не поддерживается Сущность которую вы пытаетесь обновить - только для чтения. Изменение ее атрибутов не предусмотрено.
1010 Удаление объектов типа '{тип}' не поддерживается Нельзя удалить сущность данного типа. Проверьте, есть ли среди операций данного типа сущностей операция удаления.
1011 Создание объектов типа '{тип}' не поддерживается Нельзя создать сущность данного типа. Проверьте, есть ли среди операций данного типа сущностей операция создания.
1012 Не указан идентификатор объекта Для операций обновления и удаления необходимо указывать id сущности, над которой производится операция.
1013 Удаление вложенных объектов не поддерживается Невозможно удалить вложенные сущности, такие как счета контрагентов. Если вы хотите обнулить значение поля: попробуйте передать null в качестве значения данного поля в запроса не обновление. В случае с позициями документов - вы можете передать пустой массив. Это будет эквивалентно удалению сразу всех позиций из документа.
1014 Неверное значение '{значение}' параметра фильтрации '{имя параметра}' Вы указали значение неподдерживаемого типа для данного параметра (например передали int вместо boolean). Возможно ошибка в неправильном формате даты и времени.
1015 Указана неверная версия в url: {url} Проверьте необходимую версию API в url по которому вы делаете запрос. api.moysklad.ru/api/1.x/... Версии API различаются между собой по количеству доступных ресурсов, а также по способу обработки данных и именно поэтому являются важным элементом идентификации того или иного ресурса.
1016 Доступ запрещен: у вас нет прав на просмотр данного объекта Администратор учетной записи ограничил ваши права на просмотр сущностей данного типа. Свяжитесь с ним для выяснения подробностей.
1017 Доступ запрещен: у вас нет прав на редактирование данного объекта Администратор учетной записи ограничил ваши права на редактирование сущностей данного типа. Свяжитесь с ним для выяснения подробностей.
1018 Доступ запрещен: у вас нет прав на удаление данного объекта Администратор учетной записи ограничил ваши права на удаление сущностей данного типа. Свяжитесь с ним для выяснения подробностей.
1019 Чтение поля '{имя поля}' не поддерживается Невозможно чтение поля данного типа.
1020 Родительский объект с типом '{тип}' и идентификатором '{id}' не существует Неверный id родительской сущности.
1021 Объект с типом '{тип}' и идентификатором '{id}' не найден Не удалось загрузить сущность данного типа с данным id. Проверьте корректность id. Убедитесь что сущность с данным id присутствует среди списка сущностей данного типа (возможно сущность с данным id была удалена)
1022 Ошибка при создании объекта Ошибка в процессе создания сущности данного типа.
1023 Ошибка сохранения объекта: дочерний объект с типом '{тип}' и идентификатором '{id}' уже используется и не может быть удален Невозможно удалить объект во вложенной коллекции т.к. он уже где-то используется. Например, может возникнуть при удалении позиции из документа, по которому есть возврат, в котором присутствует данная позиция.
1024 Ошибка сохранения объекта: изменять стандартные объекты запрещено Вы пытаетесь изменить сущность, которая создается по умолчанию в сервисе МойСклад сразу после регистрации учетной записи. Это делать запрещено. (Например изменение стандартных стран и единиц измерения)
1025 Ошибка удаления объекта: удалять стандартные объекты запрещено Удаление стандартных объектов, таких как стандартные единицы измерения, валюты, страны и т.п. не поддерживается.
1026 Обновление объектов типа '{тип}' не поддерживается Обновление объектов указанного типа не поддерживается в JSON API.
1027 Запрос не содержит объектов Тело запросов на создание/обновление должно представляться в виде объекта либо массива JSON.
1028 Объект уже используется и не может быть удален Сущность используется в сущностях и документах, перечисленных в ошибке, поэтому ее нельзя удалить. Например нельзя удалить товар, который используется в качестве позиции в каком-либо документе.
1029 Шаблоны для типа '{тип}' не поддерживаются Невозможно создать предзаполненную сущность данного типа.
1030 Поле для фильтрации '{имя поля}' может быть указано только один раз Убедитесь, что каждое поле используется в параметрах фильтрации лишь единожды.
1031 Ошибка генерации шаблона: невозможно создать шаблон объекта на основе указанных полей Невозможно создать предзаполненную сущность данного типа на основе другой.
1032 Ошибка фильтрации: характеристика '{имя/id характеристики}' не существует У данной модификации нет характеристики с указанным id. Проверьте правильность введенного id и список характеристик для данной модификации.
1034 Ошибка фильтрации: {текст ошибки} Ошибка в процессе обработки фильтров. Проверьте переданные фильтры на валидность. Подробнее о параметрах фильтрации вы можете прочесть в соответствующем разделе документации или в документации по сущности, к которой вы пытаетесь применять фильтры.
1035 Ошибка фильтрации: неверный формат даты параметра фильтрации Проверьте значение даты и времени. Оно должно соответствовать формату yyyy-MM-dd HH:mm:ss
1036 Ошибка при формировании метаданных Описание Внутренняя ошибка сервиса. Попробуйте повторить запрос.
1037 Неверно указан Content-Type запроса Описание Возможно ресурс, к которому вы обращаетесь, требует form-data вместо JSON (или наоборот).
1038 Ошибка в адресе запроса Описание Проверьте, указываете ли вы валидный адрес запроса.
1039 Операция {HTTP метод} не поддерживается для данного ресурса Описание Проверьте метод, с которым вы обращаетесь к ресурсу. Убедитесь, что в документации ресурса этот метод описан и его можно применить.
1040 Неверно заданы параметры запроса Описание Один или несколько параметров запроса заданы некорректно. Проверьте формат параметров согласно документации.
1041 Неверное значение '{значение}' параметра фильтрации '{имя параметра}', допустимые значения: '{список допустимых значений}' Значение параметра должно входить в список допустимых значений.
1042 Неверное значение '{значение}' параметра сортировки '{имя параметра}', допустимые значения: '{список допустимых значений}' Значение параметра должно входить в список допустимых значений.
1043 Ваш тарифный план не позволяет работать с CRM Ваш тариф не подходит для работы с CRM.
1044 Превышен максимальный размер запроса Максимальный размер запроса 10 МБ.
1045 Доступ запрещен: у вас нет прав на создание данного объекта Администратор учетной записи ограничил ваши права на создание сущностей данного типа. Свяжитесь с ним для выяснения подробностей.
1046 Дочерняя сущность не может изменять свою родительскую сущность Возможно вы попробовали подставить позицию(и) из одного документа в другой (Попробуйте удалить meta, id, accountId из документа и позиции(й)).
1047 Вы не можете обновить поле syncId в запросе на обновление сущности Поле syncId может быть указано только при создании сущности. Его нельзя изменить в запросе на обновление.
1048 Превышено ограничение на количество попыток проверки имени и пароля Превышено количество попыток аутентификации с некорректными данными. Попробуйте повторить запрос позднее с корректными логином и паролем или токеном.
1052 Неверный формат UUID Проверьте сгенерированные вами UUID на корректность.
1056 Ошибка аутентификации: {текст ошибки аутентификации} Проверьте указанные для аутентификации данные. Возможно для данного ресурса требуется другой вид аутентификации.
1058 Не удалось декодировать параметры запроса из URL Проверьте запрос. Вероятно, в строке присутствуют параметры, которые не были urlencoded.
1059 Некорректный сервер в идентификаторе объекта: '{идентификатор}' Идентификатор объекта содержит сервер, отличный от api.moysklad.ru.
1060 Некорректный тип данных в meta сущности, поле type Тип данных указанный в поле type метаданных сущности не совпадает с ожидаемым типом.
1061 Отсутствует доступ к API для данного пользователя Отсутствует доступ к API для данного пользователя - обратитесь к администратору аккаунта.
1062 Неверное значение заголовка 'Accept'. Поддерживается только значение 'application/json;charset=utf-8' Значение заголовка 'Accept' может быть только application/json;charset=utf-8.
1063 Ошибка сортировки: неизвестное поле '{название поля}' или сортировка для данного поля не поддерживается Сортировка для данного поля не поддерживается. Возможно, поле не входит в список поддерживаемых полей.
1064 Доступ запрещен: у вас нет прав на печать данных объектов Администратор учетной записи ограничил ваши права на печать сущностей данного типа. Свяжитесь с ним для выяснения подробностей.
1065 Ошибка сохранения объекта: объект уже изменен/удален в параллельном запросе Ошибка возникает при попытке изменить объект из нескольких параллельных запросов к API.
1066 Ошибка удаления объекта: объект нельзя переместить в корзину Удаление в корзину возможно только для документов. Проверьте, является ли удаляемый объект документом.
1067 Ошибка удаления объекта: использование корзины отключено Отключена опция для удаления документов в корзину - обратитесь к администратору аккаунта.
1068 Точка продаж отключена. Обратитесь к администратору аккаунта Убедитесь, что Ваш тарифный план поддерживает работу с точками продаж.
1069 Ошибка запроса: несовместимые параметры запроса: '{несовместимые параметры}' Не все параметры запроса могут быть применены одновременно, они перечисленны в тексте ошибки: '{несовместимые параметры}'. Следует исключить параметры из запроса, учитывая совместимость.
1070 Ошибка: ваш тарифный план не позволяет вам работать с данным ресурсом На вашем тарифном плане работа с указанным ресурсом недоступна.
1071 Превышено ограничение на количество попыток регистрации Вы попытались зарегистрироваться слишком много раз.
1072 Превышено ограничение на количество регистраций с указанного адреса Вы попытались зарегистрироваться слишком много раз.
1073 Превышено ограничение на одновременное количество запросов От вас поступает слишком много параллельных запросов в единицу времени.
1074 Сервис временно недоступен, ведутся технические работы На сервере проводятся технические работы.
1075 Доступ запрещен: у вас нет прав на редактирование поля {имя поля} Вы попытались изменить поле, для которого требуется более высокий уровень доступа.
1076 Ошибка при работе с файлами: у файла отсутствует имя Поле filename у Файла должно быть заполнено.
1077 Ошибка при работе с файлами: у файла отсутствует контент Поле content у Файла должно быть заполнено.
1078 Ошибка при работе с файлами: невозможно преобразовать поле content в изображение Ошибка при преобразовании файла с расширением jpg или png в формате base64 в изображение.
1079 Ошибка при работе с файлами: размер файла превышает максимально допустимый(10 мб) Максимальный размер файла не может превышать 10 мб.
1080 Ошибка при работе с файлами: число файлов не может быть больше 100 Максимальное количество файлов, загруженных для одного объекта, не может превышать 100 штук.
1081 Ошибка при работе с файлами: недостаточно места в хранилище Место в хранилище, выделенное для вашего аккаунта, закончилось.
1082 Ошибка при работе с файлами: нельзя загрузить больше 10 файлов за раз Максимальное количество файлов загружаемых одним запросом не может превышать 10 штук.
1083 Ошибка при формировании результата: {текст ошибки} При формировании ответа произошла ошибка на стороне сервера. Попробуйте повторить запрос заново.
1084 Неверное значение '{значение}' параметра запроса '{параметр}', допустимые значения: '{список допустимых значений}' Вы указали неверное значение для данного параметра. Проверьте соответствие переданного значения допустимым.
1085 Используемый тип авторизации не содержит информацию о пользователе Необходим иной способ авторизации, содержащий в себе информацию о пользователе. Например, basic или токен
1088 Превышено максимальное время ответа на запрос Время выполнения запроса на массовое создание/изменение/удаление превышает максимально допустимое.
1089 Expand поля {путь и название поля} не поддерживается Expand запрошенного поля запрещен в использованном эндпоинте
1090 Дополнительный справочник {название справочника} используется в: {названия документов} и не может быть удален Дополнительный справочник используется как дополнительное поле в документах, перечисленных в ошибке.
1091 Недопустимые значения {значения из запроса} параметра запроса {название параметра} Для параметра допустимы значения из ограниченного списка. Переданные значения не входят в этот список.
1092 Доступ запрещен: у вас нет прав на проведение объекта {тип объекта} Для параметра допустимы значения из ограниченного списка. Переданные значения не входят в этот список.
1093 Отсутствует обязательный заголовок {название заголовка} Не указан обязательный заголовок запроса.
1998 Домен online.moysklad.ru в JSON API 1.2 больше не поддерживается Домен online.moysklad.ru не поддерживается с 1 декабря 2023 года. Вместо него нужно использовать новый домен api.moysklad.ru
1999 Неизвестная ошибка Произошла непредвиденная ошибка. Пожалуйста, обратитесь в поддержку сервиса МойСклад подробно изложив условия при которых эта ошибка произошла.

Ошибки формата

Код ошибки Сообщение Описание
2000 Ошибка формата: отсутствует начало объекта В данном месте ожидалось начало объекта. Проверьте тело запроса.
2001 Ошибка формата: входящий запрос не соответствует формату JSON Данные должны быть отправлены в формате JSON. Если это так, а ошибка все-таки возникает - попробуйте добавить Header Content-Type со значением application/json.
2002 Ошибка формата: неименованное внутреннее поле типа массив Проверьте указали ли вы наименование поля типа массив. Возможно присутствуют лишние открывающиеся/закрывающиеся скобки в теле запроса.
2003 Ошибка формата: неименованное внутреннее поле типа объект Проверьте указали ли вы наименование поля типа "объект". Возможно присутствуют лишние открывающиеся/закрывающиеся скобки в теле запроса.
2004 Ошибка формата: вложенные массивы недопустимы В рамках JSON API не обрабатываются массивы массивов. Проверьте тело запроса на корректность.
2005 Ошибка формата: входящий JSON должен начинаться либо с объекта, либо с массива Отсутствует открывающаяся фигурная/квадратная скобка в начале тела запроса.
2006 Ошибка формата: слишком большая вложенность объектов Максимальная глубина вложенности в JSON API - 10. Скорректируйте тело запроса и убедитесь, что это ограничение не нарушается.
2007 Ошибка формата: слишком большое число вложенных объектов В JSON API в массиве может содержаться не более 1000 объектов.
2008 Ошибка формата: запрос на шаблон не должен содержать массив С помощью запроса по ресурсу {entity_name}/new можно создать только 1 шаблон. Передача массива значений не поддерживается.
2009 Ошибка формата: запрос на создание/обновление одной сущности не должен содержать массив При обновлении отдельной сущности подразумевается, что в теле запроса будет передано ее новое представление (одно). В теле запроса должен быть один корневой объект.
2010 Ошибка формата: отсутствует href для meta поля '{доп. сообщение}' В переданном объекте метаданных отсутствует поле href. Проверьте тело запроса.
2011 Ошибка формата: отсутствует type для meta поля '{доп. сообщение}' В переданном объекте метаданных отсутствует поле type. Проверьте тело запроса.
2012 Ошибка формата: неизвестный type для meta поля '{доп. сообщение}' В переданном объекте метаданных указан неизвестный тип. Проверьте тело запроса. Возможно вы указываете неверное ключевое слово для сущности. Проверьте документацию по данной сущности и убедитесь в правильности передаваемого type.
2013 Ошибка формата: неправильное значение href для meta поля '{доп. сообщение}' Переданный href указывает на несуществующий объект. Убедитесь в корректности ссылки. Ошибка может быть в версии API, типе ресурса (entity/pos/report), ключевом слове сущности/(отчета), id сущности.
2014 Ошибка формата: отсутствует meta для поля '{имя поля}' Для полей типа метаданных (ссылок на другие связанные объекты) необходимо значение в виде объекта, содержащего meta.
2015 Ошибка формата: отсутствует id для поля '{имя поля}' При передаче вложенных сущностей в виде полей необходимо указывать id этих сущностей.
2016 Ошибка формата: значение поля '{имя поля}' не соответствует типу {тип поля} Для указанного поле передано значение неверного типа. Исправьте тело запроса.
2017 Ошибка формата: неизвестная ошибка Не удалось однозначно классифицировать ошибку. Убедитесь что формат передаваемых вами данных соответствует требуемому. Посмотрите примеры запросов в документации по используемой вами сущности.
2018 Ошибка формата: отсутствует поле для meta Вы не указали обязательное поле объекта meta.
2021 Ошибка формата: в объектах типа '<тип>' полю '<наименование поля>' не может быть присвоен объект типа <тип объекта> Для сущностей данного типа у указанного поля не может быть выставлено указанное значение. Например, нельзя полю agent отгрузки выставить значение типа employee, тогда как тому же полю входящего платежа можно выставить значение типа employee.
2022 Ошибка формата: слишком большое число элементов вложенной коллекции Вложенная коллекция может иметь в составе не более 1000 элементов.
2024 Ошибка формата: href указывает на сущность неправильного типа '<тип>', требуется '<тип>' Переданная ссылка href указывает на сущность неправильного типа.
2026 Ошибка формата: запрос не должен содержать массив Переданный объект является массивом. Для данного запроса массивы не поддерживаются.
2027 Ошибка формата: href указывает на сущность неправильного типа '<тип>', допустимые значения: '<допустимые типы>' Переданная ссылка href указывает на сущность неправильного типа.
2028 Ошибка формата: Доп поле '{имя доп. поля}' сущности с id '{id}' содержит не числовое значение В получаемом объекте содержится доп поле с некорректным значением
2029 Ошибка формата: неверное значение '{значение}' поля '{имя поля}'. Допустимые значения: {множество значений} В получаемом объекте содержится поле, которое не попадает во множество допустимых значений.

Общие ошибки валидации

Код ошибки Сообщение Описание
3000 Ошибка сохранения объекта: поле '{имя поля}' не может быть пустым или отсутствовать Необходимое поле не может содержать пустого значения или отсутствовать. Все необходимые поля можно посмотреть в документации по сущности, с которой вы работаете, под заголовком "Атрибуты сущности". Такие поля помечены как Необходимое.
3001 Ошибка сохранения объекта: поле '{имя поля}' не может быть изменено Вы пытаетесь изменить поле являющееся полем только для чтения. Все read-only поля можно посмотреть в документации по сущности, с которой вы работаете, под заголовком "Атрибуты сущности". Такие поля помечены как Только для чтения.
3002 Ошибка сохранения объекта: поле '{имя поля}' не может иметь отрицательное значение Данное поле принимает только числовые значения больше либо равные нулю.
3003 Ошибка сохранения объекта: поле '{имя поля}' должно быть больше нуля Данное поле принимает только числовые значения больше нуля. Эта ошибка также возвращается при указании значений, которые при округлении до 4-го знака после запятой будут равны нулю (т.е. для значений < 0.00005).
3004 Ошибка сохранения объекта: поле '{имя поля}' не соответствует полю связанного объекта Поле возврата не соответствует полю документа-основания. Невозможно изменить значения полей agent, currency, vatIncluded в возвратах на несоответствующие значениям этих же полей в документе-основании.
3005 Ошибка сохранения объекта: неверное значение '{значение}' поля '{имя поля}'. Допустимые значения: {список значений} Вы пытаетесь присвоить несуществующее значение полю типа "перечисление"(enum). Проверить все возможные значения этого поля вы можете в документации по данной сущности в разделе "Атрибуты сущности".
3006 Ошибка сохранения объекта: нарушено ограничение уникальности параметра '{имя параметра}' У указанного поля/параметра должно быть уникальное значение в системе. Например, если включена проверка на уникальность номеров операций, name у разных документов не может быть одинаковым.
3007 Ошибка валидации сохраняемого объекта: '{объект}' Ошибка при обмене. Проверьте, соблюдает ли все условия передаваемый вами объект.
3008 Ошибка сохранения объекта: значение поля '{имя поля}' превышает максимально допустимое значение Значение числового поля превышает максимально допустимое значение: 9 999 999 999.
3009 Ошибка валидации: поле '{имя поля}' не может быть пустым или отсутствовать Необходимое поле не может содержать пустого значения или отсутствовать.
3010 Ошибка валидации: нельзя привязать документ из корзины к платежу Документ из корзины не может быть привязан к платежу.
3011 Ошибка валидации штрихкода: невозможно добавить к сущности штрихкод длиной более 255 символов Исправьте длину штрихкода и попробуйте повторить запрос.
3012 Ошибка валидации: для поля '{имя поля}' массив элементов не должен содержать атомарный тип или null Нельзя передавать атомарный тип или null в составе массива.
3013 Ошибка валидации: для поля '{имя поля}' массив элементов не должен содержать сущности с одинаковыми идентификаторами Нельзя передавать сущности с одинаковыми идентификаторами в составе массива.
3014 Ошибка валидации штрихкода: неверный формат GTIN: <текст ошибки> Ошибка валидации штрихкода типа GTIN. Тексты ошибок:
  • GTIN должен содержать только цифры
  • В штрихкоде GTIN должно быть 14, 13. 12 или 8 цифр
  • Не сходится контрольная сумма
3015 Ошибка валидации: Ошибка валидации: некорректный адрес E-mail: '{адрес e-mail}' Ошибка валидации email поля. На вход должен подаваться валидный email
3016 Ошибка валидации: Поле '{имя поля}' должно соответствовать формату '{ожидаемый формат поля}' Ошибка валидации поля. Входящее поле должно соответствовать ожидаемому формату
3017 Ошибка валидации: Сумма накоплений должна быть больше предыдущей Ошибка валидации поля levels. В накопительных скидках сумма каждого накопления должна быть больше предыдущих
3018 Ошибка валидации: Скидка должна быть больше предыдущей Ошибка валидации поля levels. В накопительных скидках значение скидки должно быть больше предыдущих
3019 Ошибка валидации: Суммы должны различаться Ошибка валидации поля levels. В накопительных скидках значение скидки должно отличаться от предыдущих
3020 Ошибка валидации: Другая бонусная программа уже активна' Ошибка при активации бонусной программы. Невозможно активировать бонусную программу, если другая уже активна
3021 Ошибка валидации: Если в скидке указано использовать специальную цену, то необходимо заполнить поле specialPrice. Иначе необходимо заполнить поле discount. Ошибка валидации специальных цен. Данная скидка должна содержать поля specialPrice или discount, если указан соответствующий флаг
3022 Ошибка валидации: Превышен лимит по количеству скидок Ошибка при активации скидки. В системе не может быть больше 10 активных скидок одновременно
3023 Ошибка валидации: Ошибка валидации: не заполнено обязательное поле '{имя поля}' у объекта '{имя объекта}' У объекта в json'е не указано обязательное поле
3024 Ошибка валидации: Ошибка валидации: неверное значение '{значение поля}' поля '{имя поля}' для {название объекта}. Допустимые значения: {список_значений} У поля указано не валидное значение
3025 Ошибка валидации: Скидка '{тип скидки}' с именем '{имя скидки}' не применима для групп данного контрагента Контрагент не входит в группы, которые указаны в данной скидке
3026 Ошибка валидации: Скидка '{тип скидки}' с именем '{имя скидки}' указана более одного раза Скидка с одним и тем же типом передана в json'е более одного раза
3027 Ошибка валидации: Неверное значение заголовка {заголовок}. Было передано значение '{значение}'. Допустимые значения: '{значения}' Было передано невалидное значение указанного в тексте ошибки заголовка
3028 Ошибка валидации: Значение поля '{первое поле}' конфликтует со значением поля '{второе поле}'. Требуется {описание конфликта} Были переданы несовместимые значения указанных в тексте ошибки полей. В описании ошибки указано, что послужило причиной конфликта
3030 Ошибка валидации заголовка '{название заголовка}': {описание ошибки} Было передано некорректное значение в заголовке
3031 Ошибка валидации: Нельзя привязать '{тип документа}' c id 'id документа', он привязан к другому 'тип документа' Нельзя связывать документ, который уже связан и имеет ограничение на 1 связь
3033 Ошибка валидации: Удаляемая дочерняя сущность с id = '{id}' принадлежит другой родительской сущности Нельзя удалять дочернюю сущность, не принадлежащую текущей родительской сущности
3034 Ошибка валидации: невозможно полю '{название поля}' присвоить значение '{переданное значение}', так как '{причина, приведшая к ошибке}' Было передано значение, которое не удалось присвоить полю
3035 Ошибка сохранения: количество %s не может быть меньше %s Было передано слишком маленькое значение
3036 Ошибка сохранения: количество %s не может быть больше %s Было передано слишком большое значение
3037 Невозможно отправить запрос на удаление аккаунта. Нет адреса электронной почты владельца аккаунта или адрес некорректный. Обратитесь к владельцу аккаунта У заданного аккаунта владелец аккаунт имеет пустой или некорректный электронный адрес.
3038 Ошибка сохранения: Невозможно удалить связь между документами '{тип документа}' и '{тип документа}' Нельзя разорвать связь между указанными документами.
3039 Ошибка валидации: нельзя менять номенклатуру с учетом по серийным номерам на номенклатуру без учета по серийным номерам Нельзя менять номенклатуру с учетом по серийным номерам в позиции на номенклатуру без учета по серийным номерам

Коды ошибок для Точек продаж

Код ошибки Сообщение Описание
4000 Указанная точка продаж не активна Для выполнения операции необходимо активировать точку продаж.
4001 Ошибка сохранения объекта: превышен допустимый лимит активных точек продаж по вашему тарифу Число активных точек продаж с учетом сохраняемых превышает лимит по тарифу.
4002 Ошибка сохранения точки продаж: для типа 'minionToMasterType' = CHOSEN в списке 'masterRetailStores' должна присутствовать хотя бы одна точка продаж В случае, если связь (поле minionToMasterType) между облачной кассой и кассой, которая фискализирует чеки, указывается CHOSEN, то в списке masterRetailStores должна присутствовать хотя бы одна точка продаж.
4003 Ошибка сохранения точки продаж: нельзя одновременно указать родительскую группу товаров и ee дочерние группы. В группах товаров (поле productFolders) не могут одновременно указываться родительская группа товаров и ee дочерние группы.

Коды ошибок для Отчетов комиссионера

Код ошибки Сообщение Описание
5000 Неверный тип договора для отчета комиссионера. Могут быть использованы только договоры типа 'Договор комиссии'(Comission). При создании / обновлении отчета комиссионера обязательно указывать договор, который принадлежащит указанному контрагенту и имеет тип 'Договор комиссии'.
5001 Неверно указан период отчета комиссионера: конец периода не может быть раньше начала. Проверьте указанные даты. Дата в поле commissionPeriodStart должна быть раньше даты в поле commissionPeriodEnd.
5002 Указанный договор заключен с контрагентом, отличным от указанного в поле agent При создании / обновлении отчета комиссионера обязательно указывать договор, который принадлежащит указанному контрагенту и имеет тип 'Договор комиссии'.
5003 Указанный договор заключен с юрлицом, отличным от указанного в поле organization Организация должна соответствовать организации, указанной в договоре.
5004 Заявленное к возврату количество ({Количество к возврату}) товара '{Наименование товара}' превышает реализованное количество ({Реализованное количество}) Проверьте количество товара суммарно по всем позициям в реализовано комиссионером и суммарное количество этого же товара в позициях возврат на склад комиссионера.

Коды ошибок для Характеристик модификаций

Код ошибки Сообщение Описание
10000 Ошибка сохранения характеристики модификации: поля 'id' и 'name' не могут быть пустыми При обновлении характеристик модификации необходимо указывать вышеуказанные поля. Исправьте тело запроса.
10001 Ошибка сохранения характеристики модификации: поле 'id' ссылается на несуществующую характеристику По переданному id не удалось найти соответствующую характеристику. Убедитесь в правильности id и повторите запрос.
10002 Ошибка сохранения характеристик модификации: характеристики с указанными полями 'name' уже существуют Указанные в запросе имена характеристик уже существуют. Проверьте правильность написания полей 'name' или запросите существующие характеристики.

Коды ошибок для Статусов

Код ошибки Сообщение Описание
11000 Ошибка инициализации статуса: отсутствует информация о родительской сущности Не удалось найти документ, к которому должен быть привязан данный статус. Проверьте id документа, а также, в случае обновления, убедитесь, что документ с данным id не был удален.
11001 Ошибка инициализации статуса: статус с именем '{Наименование статуса}' не найден Проверьте в метаданных сущностей данного типа, что статус с передаваемым именем существует, и исправьте запрос.
11002 Ошибка инициализации статуса: статус с id = '{id статуса}' не принадлежит данному типу документа Передаваемый статус не принадлежит данному типу документа

Коды ошибок для Розничных смен (POS)

Код ошибки Сообщение Описание
12000 Ошибка открытия розничной смены: розничная смена находится в корзине Данный syncId уже был использован для открытия другой смены. Данная смена уже была удалена. Для открытия новой смены сгенерируйте новый syncId.
12001 Ошибка открытия розничной смены: розничная смена закрыта Данный syncId уже был использован для открытия другой смены. Данная смена уже была закрыта. Переоткрыть ее невозможно. Для открытия новой смены сгенерируйте новый syncId.
12002 Ошибка закрытия розничной смены: розничная смена удалена По переданному id смены не было найдено соответствующего объекта. Смена с данным id либо не существовала, либо была удалена. Проверьте правильность переданного id смены.
12003 Ошибка закрытия розничной смены: розничная смена находится в корзине Смена с указанным id находится в корзине. Проверьте правильность указанного вами id смены.
12004 Ошибка закрытия розничной смены: розничная смена закрыта Смена с указанным id находится уже была закрыта. Повторное закрытие смены невозможно. Проверьте правильность указанного вами id смены.
12005 Ошибка открытия розничной смены: не найдена точка продаж При открытии смены не была найдена точка продаж с указанным id. Проверьте id точки продаж, на которой должна быть открыта новая смена.
12006 Ошибка открытия розничной смены: параметр 'retailShift' отсутствует или имеет неверный формат Убедитесь в наличии параметра 'retailShift'.
12011 Ошибка открытия розничной смены: Точка продаж не активна При открытии смены не была найдена активная точка продаж с указанным id. Проверьте активность точки продаж по указанному id, на которой должна быть открыта новая смена.
12026 Значение '{наименование поля}' не должно превышать значение установленное в '{наименование поля}' При запросе значение '{наименование поля}' превышало значение установленного в значении '{наименование поля}'. Проверьте значение '{наименование поля}'.

Коды ошибок для Отчетов Остатков

Код ошибки Сообщение Описание
13000 Пустой идентификатор операции Вы запросили отчет Остатки по операции, не указав id операции. Убедитесь что id передается в качестве параметра.
13001 Операция с указанным идентификатором не найдена Не удалось найти операцию с указанным operation.id. Проверьте передаваемый вами id, а также убедитесь что операция с данным id не была удалена.
13002 Операция не может быть выполнена для указанного типа '{тип документа}' документа Отчет Остатки по операциям доступен только для операций типа Отгрузка, Розничная продажа, Заказ покупателя.
13003 Отсутствует доступ к отчету Остатки У пользователя отсутствует доступ к отчету Остатки.
13004 Отчет Текущие остатки доступен только для администратора Только администратор имеет доступ к отчету Текущие остатки.

Коды ошибок для Доп. поля

Код ошибки Сообщение Описание
14000 Ошибка сохранения дополнительного поля: поле '{наименование поля}' не относится к реестру '{тип сущности}' В своем запросе пытаетесь использовать дополнительные поля другого типа сущности. Сделайте запрос метаданных по данному типу сущности и используйте дополнительные поля которые придут в ответ.
14001 Ошибка сохранения дополнительного поля: обновление дополнительных полей типа 'Файл' не поддерживается Поле типа файл обновить нельзя.
14002 Ошибка сохранения дополнительного поля: родительская сущность не поддерживает дополнительные поля Сущности данного типа не могут иметь дополнительных полей. Уточнить список типов сущностей, которые могут иметь дополнительные поля можно в разделе Работа с дополнительными полями
14003 Ошибка сохранения дополнительного поля: идентификатор метаданных указывает на несуществующий объект Не удалось найти доп поле с указанным id. Проверьте список доп полей и их id с помощью ресурса метаданных сущности.
14004 Ошибка сохранения дополнительного поля: для объекта типа 'пользовательский справочник' необходимо указать поле meta или name Хотя бы одно из вышеуказанных полей не должно быть пустым.
14005 Ошибка сохранения дополнительного поля типа 'Файл': размер файла превышает максимально допустимый (10 мб) Невозможно загрузить в качестве значения дополнительного поля файл размером более 10 мб.
14006 Ошибка сохранения дополнительного поля типа 'Файл': отсутствует имя файла Поле filename у значения дополнительного поля типа Файл должно быть заполнено.
14007 Ошибка сохранения дополнительного поля типа 'Файл': отсутствует поле content Поле content у значения дополнительного поля типа Файл должно быть заполнено.
14008 Ошибка сохранения дополнительного поля типа 'Файл': недостаточно места в хранилище для сохранения файла Место в хранилище, выделенное для вашего аккаунта, закончилось.
14009 Ошибка сохранения дополнительного поля типа '{наименование типа поля}': отсутствует поле value Поле value у значения дополнительного поля типа '{наименование типа поля}' должно быть заполнено.
14010 Доступ запрещен: создавать, изменять и удалять дополнительные поля может только пользователь с правами администратора Cоздавать, изменять и удалять дополнительные поля может только пользователь с правами администратора.
14011 Ошибка удаления дополнительного поля: неверный формат meta удаляемого дополнительного поля По переданной meta не удалось идентифицировать дополнительное поле для удаления.
14012 Ошибка сохранения дополнительного поля: невозможно сделать обязательным поле, которое очищается в рамках сценария Дополнительное поле в сценарии со значением Очистить поле не может стать обязательным. Если требуется присвоить обязательность - необходимо изменить действие в сценарии.
14013 Ошибка сохранения дополнительного поля: передавать значение true для поля required может только администратор Только администратор может объявлять дополнительные поля обязятельными.

Коды ошибок для Модификаций

Код ошибки Сообщение Описание
15000 Ошибка сохранения модификации: модификация с данным набором характеристик уже существует для данного товара Невозможно иметь 2 модификации товара, у которых наборы значений характеристик будут совпадать. Убедитесь что это условие не нарушается. Иначе: используйте уже существующую модификацию.
15001 Ошибка сохранения модификации: должны быть заданы характеристики При создании/обновлении модификации переданный массив характеристик не может отсутствовать или быть пустым.
15002 Ошибка сохранения модификации: нельзя создать модификацию услуги Поддерживаются только модификации товаров. Убедитесь в правильности URI по которому происходит запрос.
15003 Ошибка сохранения модификации: нельзя создать модификацию алкогольного товара Поддерживаются только модификации обычных товаров. Убедитесь в правильности URI по которому происходит запрос.
15004 Ошибка сохранения модификации: названия характеристик не должны повторяться Нельзя создать модификацию с одинаковыми характеристиками

Коды ошибок для Товаров

Код ошибки Сообщение Описание
16000 Ошибка сохранения товара: свойства алкогольной продукции не могут быть отрицательными Алкогольные поля "код алкогольной продукции", "крепость" и "объем" должны принимать значение строго большее 0.
16001 Ошибка сохранения товара: весовой товар не может использовать учет по серийным номерам Товар не может одновременно быть весовым и использовать учет по серийным номерам. Это - взаимоисключающие признаки.
16002 Ошибка сохранения товара: нельзя отключить серийный учет Если серийный учет однажды включен, то его уже нельзя отключить. В ином случае вы можете создать новый товар.
16008 Ошибка сохранения товара: для использования упаковок нужно указать единицу измерения товара Для использования упаковок должна быть задана единица измерения товара
16009 Ошибка сохранения товара: значение поля ppeType не найдено в справочнике Указанный код товара СИЗ не найден в справочнике
16010 Ошибка сохранения товара: если указано, что товар облагается налогом, то необходимо заполнить поле vat. Иначе vatEnabled для товара должен иметь значение false При передаче поля vatEnabled = true для товара нужно указывать также значение НДС.
16011 Ошибка сохранения товара: разливной товар не может учитываться по серийным номерам. Товар не может быть одновременно на разлив и с учетом по серийным номерам.
16012 Ошибка сохранения товара: товар не может быть разливным и весовым одновременно. Товар не может быть одновременно весовым и на разлив.
16013 Ошибка сохранения товара: весовой товар не может иметь признак средства индивидуальной защиты. Товар не может быть одновременно на разлив и иметь признак средства индивидуальной защиты.
16014 Ошибка сохранения товара: разливной товар не может иметь признак средства индивидуальной защиты. Разливной товар не может иметь признак средства индивидуальной защиты.
16015 Ошибка сохранения товара: неверно указан тип маркировки «{тип маркировки}» для разливного товара. Разливной товар может сочетаться только с типами маркировки MILK, PERFUMERY.
16102 Ошибка сохранения товара: товар с типом маркировки «{тип маркировки}» не может иметь модификаций У маркированного товара типа "{тип маркировки}" не может быть модификаций
16103 Ошибка сохранения товара: маркированный товар не может учитываться по серийным номерам. Товар не может быть одновременно маркированным и учитываться по серийным номерам
16105 Ошибка сохранения товара: маркированный товар не может быть весовым . Весовой товар может сочетаться только с типом маркировки MILK.
16106 Ошибка сохранения товара: неизвестный тип маркировки товара Тип маркировки товара может быть только одним из следующих: NOT_TRACKED, TOBACCO, SHOES, LP_CLOTHES, LP_LINENS, PERFUMERY, ELECTRONICS, TIRES, MILK, WATER, OTP, BEER_ALCOHOL, FOOD_SUPPLEMENT, SANITIZER
16107 Ошибка сохранения товара: поле ТН ВЭД не может быть указано для: «Табачная продукция» У табачной продукции не может быть кода ТН ВЭД
16108 Ошибка сохранения товара: значение поля ТН ВЭД не найдено в справочнике Указанный код ТН ВЭД не существует в классификаторе ТН ВЭД ЕАЭС
16109 Ошибка сохранения товара: поле ТН ВЭД не может быть указано для немаркированной продукции Поле ТН ВЭД может присутствовать только у маркированных товаров
16110 Ошибка сохранения товара: <Текст ошибки> Произошла ошибка сохранения маркированного товара
16111 Ошибка сохранения товара: значение поля ТН ВЭД не соответствует типу маркированной продукции Тип маркированной продукции определенный по ТН ВЭД не соответсвует выбранному пользователем
16112 Ошибка сохранения товара: тип маркировки «<Тип маркировки товара>» не поддерживает частичное выбытие. Тип маркировки товара не поддерживает частичное выбытие
16113 Ошибка сохранения товара: маркированный товар не может быть средством индивидуальной защиты. Маркированный товар не может быть средством индивидуальной защиты.

Коды ошибок для Документов

Код ошибки Сообщение Описание
17000 Ошибка сохранения документа: счет организации не принадлежит указанной организации Убедитесь что вы указываете подходящий счет. Если вы обновляете поле organization вместе с ним также должно обновляться поле organizationAccount.
17001 Ошибка сохранения документа: счет контрагента не принадлежит указанному контрагенту Убедитесь что вы указываете подходящий счет. Если вы обновляете поле agent вместе с ним также должно обновляться поле agentAccount.
17002 Ошибка сохранения позиции документа: серийный номер не может быть пустым Серийный номер не может быть пустой строкой.
17003 Ошибка сохранения позиции документа: количество зарезервированных товаров не может превышать общее количество Количество зарезервированного товара позиции документа не может превышать общее количество товара по документу.
17004 Ошибка сохранения позиции документа: количество товаров в ожидании не может превышать общее количество Количество ожидаемого товара позиции документа не может превышать общее количество товара по документу.
17005 Ошибка сохранения связанного документа: отсутствует ссылка на документ-основание При сохранении связанного документа необходима ссылка на документ-основание (например при сохранении возврата необходима ссылка на продажу).
17006 Ошибка сохранения связанного документа: несовместимые типы документов - '<тип1>' и '<тип2>' В качестве связи вы указали документ несоответствующего типа.
17007 Ошибка сохранения позиции документа: НДС не может быть больше 100 Процент НДС может принимать значения от 0 до 100.
17008 Ошибка сохранения позиции документа: скидка не может быть больше 100 Процент скидки может принимать значения от 0 до 100.
17009 Ошибка сохранения документа: дата '{тип документа}' не попадает в открытый для редактирования период Данный документ относится к закрытому периоду. Редактирование документа невозможно.
17010 Ошибка сохранения документа: вы не можете проводить документы со складом-приемником из другого отдела В метаданных документа запрещено проводить документы со складом-приемником из другого отдела.
17011 Ошибка сохранения документа: вы не можете проводить документы со складом-источником из другого отдела В метаданных документа запрещено проводить документы со складом-источником из другого отдела.
17012 Ошибка сохранения документа: вы не можете сохранять документы со складом-приемником из другого отдела В метаданных документа запрещено сохранять документы со складом-приемником из другого отдела.
17013 Ошибка сохранения документа: вы не можете сохранять документы со складом-источником из другого отдела В метаданных документа запрещено сохранять документы со складом-источником из другого отдела.
17014 Ошибка сохранения документа: вы не можете снять проведение у документа типа <тип>, по которому был проведен возврат Нельзя снять проведение у данного документа, поскольку для него уже был проведен возврат.
17016 Ошибка сохранения документа: комплект не может быть в составе позиции документа типа {тип_документа} Комплект не может быть позицией в следующих документах: заказ поставщику, счет поставщика, приемка, возврат поставщику, выданный отчет комиссионера, полученный отчет комиссионера, списание, оприходование, перемещение, инвентаризация, техкарта, техоперация, внутренний заказ.
17018 Ошибка сохранения документа: количество комплектов должно быть целым числом Количество комплектов в позиции должно быть целым числом
17020 Ошибка сохранения позиции документа: товар упаковки и товар позиции отличаются Для данной позиции документа товар из упаковки и указанный товар отличаются
17021 Ошибка сохранения позиции документа: если указано, что позиция облагается налогом, то необходимо заполнить поле vat. Иначе vatEnabled для позиции должен иметь значение false При передаче поля vatEnabled = true в позиции нужно указывать также значение НДС
17022 Ошибка сохранения документа: {вид ассортимента} не может быть в составе позиции документа типа {тип_документа} Добавляемый вид ассортимента не может быть позицией в этом типе документа
17023 Ошибка сохранения позиции документа: отсутствует пермиссия {тип пермиссии} на изменение поля {наименование поля} Значение поля не может быть изменено из-за отсутствия соответствующей пермиссии
17101 Ошибка сохранения документа: для товара <наименование товара> не установлен признак маркированной продукции. Измените товар для сохранения кодов маркировки Установите для товара признак маркированной продукции 'trackingType' соответствующей категории
17102 Ошибка сохранения документа: неверный формат кода маркировки <значение КМ / КМ ТУ / КМ ПУ> Код маркировки для всех категорий маркированной продукции должен соответствовать формату:
  • 01+GTIN+21+SERIAL. GTIN - идентификатор товара из 14 цифр, SERIAL - серийный номер из 13 символов. Пример: 010463003759026521K6UT)6\"pIG-<
Исключения:
    Табачная продукция продукция, пачка: GTIN+SERIAL. GTIN - идентификатор товара из 14 цифр, SERIAL - серийный номер из 7 символов
  • Табачная продукция продукция, блок (упаковка): 01+GTIN+21+SERIAL. GTIN - идентификатор товара из 14 цифр, SERIAL - серийный номер из 7 символов. Пример: 010463003407002921tXXXu%d
  • Фотокамеры и лампы-вспышки:01+GTIN+21+SERIAL. GTIN - идентификатор товара из 14 цифр, SERIAL - серийный номер из 20 символов.
  • Код маркировки транспортной упаковки продукции должен содержать 18 цифр - формат GS1
17103 Ошибка сохранения документа: в документе несколько одинаковых кодов <значение КМ / КМ ТУ / КМ ПУ> Среди кодов маркировки есть дублирующиеся. Удалите дубликаты кодов маркировки для сохранения позиции
17104 Ошибка сохранения документа: код маркировки <КМ> не может содержать вложенные коды Допустимо сохранять список кодов маркировки trackingcode, список потребительских упаковок consumerpack, список транспортных упаковок transportpack, список кодов маркировки trackingcode вложенных в транспортные упаковки transportpack или потребительские упаковки consumerpack, список потребительских упаковок consumerpack вложенных в транспортные упаковки transportpack. Сохранение других вложенных структур не поддерживается
17105 Ошибка сохранения документа: код маркировки транспортной упаковки <КМ ТУ> не может содержать вложенные коды транспортных упаковок Допустимо сохранять список кодов маркировки trackingcode или список потребительских упаковок consumerpack вложенных в транспортные упаковки transportpack. Не поддерживается сохранение транспортных упаковок вложенных в транспортные упаковки
17106 Ошибка сохранения документа: код маркировки потребительской упаковки не может содержать вложенные коды Допустимо сохранять список кодов маркировки trackingcode вложенных в транспортные упаковки transportpack. Не поддерживается сохранение кодов маркировки trackingcode вложенных в потребительские упаковки consumerpack
17107 Ошибка сохранения документа: код маркировки транспортной упаковки <КМ ТУ> не может одновременно содержать вложенные коды товаров и потребительских упаковок Допустимо сохранять список кодов маркировки trackingcode или список потребительских упаковок consumerpack вложенных в транспортные упаковки transportpack. Не поддерживается их одновременное сохранение для одной транспортной упаковки
17108 Позиция документа типа <тип> не может содержать коды маркировки Позиции документа указанного типа не могут иметь коды маркировки

Коды ошибок для Продаж/Отгрузок

Код ошибки Сообщение Описание
18000 Ошибка сохранения продажи: сумма 'cashSum', 'noCashSum', 'qrSum', 'prepaymentCashSum', 'prepaymentNoCashSum' и 'prepaymentQrSum' не соответствует сумме по документу Сумма полей cashSum, noCashSum, qrSum, prepaymentCashSum и prepaymentNoCashSum, prepaymentQrSum должна быть равна значению поля sum или отличаться менее чем на 10 единиц. В случае создания документа и указании вышеупомянутых полей в теле запроса, ответственность за подсчет sum ложится на пользователя. sum считается как общая сумма по всем позициям документа.
18002 Ошибка сохранения документа: отгрузка по комиссионному договору не может содержать комплект в составе позиций В отгрузку нельзя добавить комплект, если для нее указан договор типа "Комиссионный"".
18005 В случае заполненного поля 'qrSum' поля 'cashSum', 'noCashSum', 'prepaymentCashSum' и 'prepaymentNoCashSum' должны быть пустыми Смешанная оплата по QR-коду и карте или по QR-коду и наличными запрещена.
18006 В случае заполненного поля 'prepaymentQrSum' поля 'cashSum', 'noCashSum', 'prepaymentCashSum' и 'prepaymentNoCashSum' должны быть пустыми В случае предоплаты по QR-коду, оплата возможно только по QR-коду.

Коды ошибок для Возвратов

Код ошибки Сообщение Описание
19000 Ошибка сохранения возврата: розничная смена уже закрыта Нельзя сохранить возврат в закрытую розничную смену. Убедитесь что используете идентификатор активной смены.
19001 Ошибка сохранения розничного возврата: поля 'cashSum' и 'noCashSum' являются обязательными для возврата без основания Поля 'cashSum' и 'noCashSum' являются обязательными для возврата без основания. Убедитесь, что они заполнены.
19002 Ошибка сохранения розничного возврата: сумма 'cashSum', 'noCashSum' и 'qrSum' не соответствует сумме по документу Сумма полей cashSum, noCashSum и qrSum должна быть равна значению поля sum или отличаться менее чем на 10 единиц. В случае создания документа и указании вышеупомянутых полей в теле запроса, ответственность за подсчет sum ложится на пользователя. sum считается как общая сумма по всем позициям документа.
19003 Ошибка сохранения розничного возврата: возврат возможен только по QR-коду Возникает в случае, если продажа была осуществлена по QR-коду, а возврат осуществляется за наличные или по карте. При создании такого возврата поля 'cashSum' и 'noCashSum' должны отсутствовать.
19004 Ошибка сохранения розничного возврата: возврат по QR-коду поддержан только для операций, оплаченных по QR-коду Возникает в случае, если продажа была осуществлена за наличные или по карте, а возврат осуществляется по QR-коду. При создании такого возврата поле 'qrSum' должно отсутствовать.

Коды ошибок для Приемок

Код ошибки Сообщение Описание
20000 Ошибка сохранения приемки: нельзя указать накладные расходы с договором комиссии Если к приемке привязан договор типа "Договор комиссии", то нельзя указать какое-либо значение в поле overhead.

Коды ошибок для Перемещений

Код ошибки Сообщение Описание
21000 Ошибка сохранения перемещения: нельзя провести перемещение со склада на этот же склад Убедитесь, что в полях sourceStore и targetStore указываете склады с разными идентификаторами.
21001 Ошибка сохранения перемещения: нельзя провести перемещение в одну и ту же ячейку Убедитесь, что в документе перемещения с одного и того же склада в полях sourceSlot и targetSlot в позициях указываете ячейки с разными идентификаторами.

Коды ошибок для Платежей

Код ошибки Сообщение Описание
22000 Ошибка сохранения платежа: распределенная сумма превышает сумму платежа Сумма, указанная в linkedSum больше чем sum платежа.
22001 Ошибка сохранения платежа: платеж содержит повторяющиеся привязанные документы Вы пытаетесь привязать платеж к документу более одного раза.
22002 Ошибка сохранения платежа: некорректная статья расходов: '{категория расходов}' Платежу нельзя присвоить данную статью расходов.
22003 Ошибка сохранения платежа: невозможно привязать платеж без закрывающих документов В платеже установлен активный флаг “Без закрывающих документов”.

Коды ошибок для Групп товаров

Код ошибки Сообщение Описание
23000 Ошибка сохранения группы: нельзя указывать в качестве родительской группы саму группу Группа не может в качестве родительской ссылаться на саму себя.
23001 Ошибка сохранения группы: нельзя указывать в качестве родительской группы вложенную группу Группа не может в качестве родительской группы ссылаться на группу, которая является ее дочерней группой.

Коды ошибок для Инвентаризаций

Код ошибки Сообщение Описание
24001 Ошибка создания шаблона списания: инвентаризация не требует проведения списания Инвентаризация не содержит недостачи, либо все необходимые списания уже созданы.
24002 Ошибка создания шаблона оприходования: инвентаризация не требует проведения оприходования Инвентаризация не содержит избытка, либо все необходимые оприходования уже созданы.
24003 Ошибка сохранения инвентаризации: услуга не может быть позицией инвентаризации Услуга не может быть позицией инвентаризации.
24004 Ошибка сохранения инвентаризации: инвентаризация не может содержать дублирующиеся позиции Товар/Модификация/Серия может быть добавлен(а) в инвентаризацию только единожды.

Коды ошибок для Технологических операций

Код ошибки Сообщение Описание
25003 Ошибка сохранения: технологическая операция должна содержать продукцию или техкарту При создании техоперации или удалении продукции техоперации должно быть не менее одной позиции продукции.

Коды ошибок для Технологических процессов

Код ошибки Сообщение Описание
25030 Ошибка сохранения: число этапов техпроцесса не может быть больше '100' Максимальное количество этапов - 100 на один техпроцесс.
25031 Ошибка сохранения: техпроцесс не может содержать повторяющиеся этапы производства Каждый этап производства может встречаться в техпроцессе только один раз.
25032 Ошибка удаления объекта: нельзя удалять основной техпроцесс Удаление возможно только для пользовательских техпроцессов.
25033 Ошибка сохранения: последний добавляемый этап не может содержать следующих позиций У последней позиции не должно быть следующих этапов
25034 Ошибка сохранения: нарушена структура техпроцесса У техпроцесса больше одного финального этапа или техпроцесс зациклен
25035 Ошибка сохранения: нельзя одновременно передать заполненный список сотрудников и признак allperformers=true Проверьте, что не передаете одновременно список конкретных сотрудников и признак доступности назначения на этап любого сотрудника

Коды ошибок для Технологических карт

Код ошибки Сообщение Описание
25060 Ошибка сохранения: элемент массива '{тип}' может содержать позицию только от техпроцесса, указанного в поле processingProcess техкарты Проверьте принадлежность техпроцессу техкарты указанных позиций техпроцесса.
25061 Ошибка сохранения: нельзя одновременно указать стоимость производства в техкарте и в этапах техкарты Проверьте, что не передаете одновременно стоимость производства (поле cost) в техкарте и в позициях этапа.
25062 Ошибка сохранения: при указании техкарты материала необходимо наличие в ней данного материала в качестве продукции Проверьте, что в результате операции не появится некорректных техкарт.

Коды ошибок для Заказов на производство

Код ошибки Сообщение Описание
26001 Ошибка сохранения заказа на производство: материалы заказа не соответствуют материалам техкарты Проверьте соответствие материалов заказа на производство и техкарты.
26002 Ошибка сохранения заказа на производство: новые товары не могут быть добавлены в заказ Проверьте заказ на наличие новых товаров.

Коды ошибок для Производственного задания

Код ошибки Сообщение Описание
26101 Ошибка сохранения производственного задания: количество позиций не может превышать {максимальное количество} Производственное задание может содержать до 200 позиций
26102 Ошибка сохранения производственного задания: нельзя начать выполнять не проведенное производственное задание
26103 Ошибка сохранения производственного задания: нельзя убирать дату начала производства у начатого производственного задания До отмены начала производства необходимо отменить все выполнения этапов
26104 Ошибка обновления позиции производственного задания: Замена техкарты не поддерживается Нельзя изменять техкарту у позиции производственного задания
26105 Ошибка обновления позиции производственного задания: нельзя изменять позицию, у которой есть выполненные или частично выполненные этапы Изменять позицию производственного задания можно только до начала его выполнения
26106 Ошибка сохранения позиции производственного задания: нельзя изменить или удалить продукцию, когда начато выполнение заключительного этапа позиции Изменять продукцию производственного этапа можно до окончания его выполнения
26107 Ошибка сохранения: позиция производственного задания {идентификатор} не принадлежит производственному заданию {идентификатор} В запросе указана позиция от другого производственного задания
26108 Ошибка удаления позиции производственного задания: нельзя удалить позицию, у которой есть выполненные этапы Удалять позицию производственного задания можно до начала её выполнения
26109 Ошибка обновления производственного этапа: нельзя изменять начатый производственный этап Изменять производственный этап можно до начала его выполнения
26110 Ошибка удаления: нельзя удалить последний материал при активном флаге 'reserve' При резервировании материалов необходим хотя бы один материал
26111 Ошибка удаления: нельзя удалить последнюю продукцию при активном флаге 'awaiting' При выставленном ожидании, необходим хотя бы один продукт
26112 Ошибка обновления производственного задания: нельзя присвоить полю {поле даты} значение после {дата} Для поля есть ограничения и зависимости. Необходимо передать дату до указанной
26113 Ошибка обновления: количество товара с учетом по серийным номерам не может быть дробным При использовании материала или продукта с учетом по серийным номерам необходимо указывать для него количество в целочисленном виде

Коды ошибок для Выполнений этапов производства

Код ошибки Сообщение Описание
26200 Ошибка сохранения Выполнения этапа: производство не начато, необходимо начать производство До начала выполнения этапов производства, необходимо начать производство
26201 Ошибка сохранения Выполнения этапа: допустимо изменять только серию товара в поле assortment Допустимо изменять серию, но не продукт / модификацию
26202 Ошибка сохранения Выполнения этапа: запрещено указывать исполнителем неактивного пользователя Только активные пользователи МоегоСклада могут выполнять Производственные задания
26203 Ошибка сохранения Выполнения этапа: для создания выполненного этапа требуется выполнение предыдущих этапов До начала выполнения последнего этапа необходимо начать выполнение предыдущих
26204 Ошибка сохранения Выполнения этапа: объем производства в рамках выполнения этапа не может превышать объем производства, согласно данным позиции производственного задания ({максимально допустимое количество}) Максимальный объем производства ограничен позицией производственного задания
26205 Ошибка сохранения Выполнения этапа: суммарный объем производства этапа не может превышать объем производства предыдущих этапов До начала выполнения последнего этапа необходимо в достаточном объемы выполнить предыдущие
26206 Ошибка удаления Выполнения этапа: невозможно удалить выполненный этап, так как общий объем производства на промежуточном этапе не может быть меньше объема производства на финальном этапе Нельзя уменьшить объем производства этапа, если при этом получится перепроизводство на последнем этапе
26207 Ошибка сохранения Выполнения этапа: для товаров с серийным учётом должны быть указаны серийные номера Для всех материалов и продуктов с учётом по серийным номерам должны быть указаны серийные номера
26208 Ошибка сохранения Выполнения этапа: значение {поле с количеством} должно соответствовать количеству серийных номеров в поле things Необходимо обновлять серийные номера при изменении consumedQuantity или producedQuantity

Коды ошибок для Прайс-листов

Код ошибки Сообщение Описание
27000 Ошибка сохранения описания таблицы, '{описание ошибки}' На создание таблицы Прайс-листа налагаются следующие ограничения: для описанного столбца не может отсутствовать или быть пустым название, в пределах одного Прайс-листа столбцы должны быть уникальные по названию.
27001 Ошибка сохранения позиции, для указанного имени столбца не найден столбец в описании таблицы Значение ячеек в позициях Прайс-листа соотносятся со столбцами по названию. Нельзя указывать для ячейки название несуществующих в определении Прайс-листа столбцов.
27002 Ошибка сохранения позиции, нельзя в прайс-листе указывать повторяющиеся позиции Нельзя в прайс-листе указывать повторящиеся позиции, например, товар или его модификацию дважды.
27003 Ошибка сохранения позиции, нельзя в прайс-листе указывать серии Нельзя в прайс-листе указывать серии, только товары, услуги и модификации.

Коды ошибок для Контрагентов

Код ошибки Сообщение Описание
28000 Ошибка сохранения контрагента: неизвестный тип цены: '<Тип цены>' Неизвестный тип цены. Список допустимых можно запросить в метаданных товаров.

Коды ошибок для Комплектов

Код ошибки Сообщение Описание
29000 Ошибка сохранения комплекта: некорректное число компонентов Поддерживается от одного до пятидесяти компонентов в одном комплекте.
29001 Ошибка сохранения комплекта: дополнительные расходы и состав компонентов не могут быть изменены, так как комплект уже используется Уберите зависимые комплекты из документов.
29002 Ошибка сохранения комплекта: комплект содержит повторяющиеся компоненты Проверьте состав компонентов комплекта и попробуйте снова.
29003 Ошибка сохранения комплекта: компонент комплекта не может быть комплектом, серией, алкогольным товаром или товаром на серийном учете Проверьте состав компонентов комплекта и попробуйте снова.
29009 Ошибка сохранения: компонент комплекта не может быть прослеживаемым товаром Проверьте состав компонентов комплекта и попробуйте снова.

Коды ошибок для Веб-хуков

Код ошибки Сообщение Описание
30000 Ошибка сохранения webhook: неподдерживаемый тип сущности '{тип}' В веб-хуках можно использовать любые типы сущностей, доступные через Remap API, кроме вложенных. Например, product или demand.
30001 Ошибка сохранения webhook: неизвестный HTTP-метод '{метод}'. Допустимый: POST В веб-хуках можно указывать только поддерживаемые HTTP методы. Допустимым сейчас является POST.
30002 Ошибка сохранения webhook: неизвестное действие '{действие}'. Допустимые: CREATE, UPDATE, DELETE В веб-хуках можно указывать только доступные действия: CREATE, UPDATE, DELETE.
30003 Ошибка сохранения webhook: webhook с данным набором параметров уже существует В веб-хуках на тройку (сущность, действие, адрес) может быть установлен только один веб-хук.
30004 Необходимы права администратора для работы с webhook Управление веб-хуками доступно только пользователям с правами администратора.
30005 Ошибка сохранения webhook: значение поля url не является корректным адресом запроса Значение поля url не является корректным адресом запроса. Проверьте адрес запроса на соответствие формату http, https адреса запроса.
30006 Ваш тарифный план не позволяет создавать или обновлять веб-хуки Создание и обновление веб-хуков доступно на всех тарифах кроме бесплатного.
30007 Нельзя создать больше '5' веб-хуков одинакового типа на одну сущность Нельзя создать новых веб-хуков на данный тип сущности и действия сверх данного ограничения. Удалите старые веб-хуки или перенастройте на новые url.
30008 Ошибка сохранения webhook: тип сущности '{тип}' не поддерживает действие '{действие}'. Допустимые: {действия} Для данного типа сущности определен не стандартный набор действий, поэтому некоторые действия данный тип не поддерживает
30009 "Ошибка сохранения webhook: указание значения поля 'diffType' не поддерживается для действия '{действие}'. Допустимые: {действия} Указание типа вывода списка изменений 'diffType' доступно для определенных типов действий. Если действие не поддерживается, то поле 'diffType' указывать не нужно
30010 Ошибка сохранения webhook: длина url адреса больше 255 символов Количество символов в url адресе должно быть меньше 256.

Коды ошибок для Валют

Код ошибки Сообщение Описание
31000 Валюту учета нельзя удалить Валюту учета нельзя удалить.

Коды ошибок для Договоров

Код ошибки Сообщение Описание
32001 Ошибка сохранения договора: невозможно изменить тип договора на комиссионный. По данному договору существует отгрузка, в составе позиций которой присутствует комплект Проверьте, чтобы по данному договору не было отгрузок комплектов и попробуйте снова.
32002 Ошибка сохранения договора: невозможно изменить тип договора на комиссионный. Договор, используемый в документах с компонентами комплектов, не может быть комиссионным Проверьте, чтобы по данному договору не было документов с компонентами комплектов и попробуйте снова.

Коды ошибок для Печатных форм

Код ошибки Сообщение Описание
33000 Ошибка формирования печатной формы: не найден шаблон печатной формы Шаблон, указанный при формировании печатной формы не существует. Проверьте корректность указанного шаблона для печати.
33001 Ошибка формирования печатной формы: неизвестный формат Проверьте, что указанный формат входит в список перечисленных: xls, pdf, html, ods.
33002 Ошибка формирования печатной формы: '<текст ошибки>' Текст ошибки указывает на проблемы, возникшие при печати документа.
33003 Ошибка формирования печатной формы: отсутствует ссылка на шаблон для печати Для того, чтобы сгенерировать печатную форму, необходимо отправить шаблон.
33004 Ошибка формирования печатной формы: отсутствует поле count для шаблона печатной формы При печати комплектов необходимо указывать поле count - число копий печатной формы в комплекте.
33005 Ошибка формирования печатной формы: указаны оба поля для ссылок на шаблон: template и templates. Возможно указать только одно из полей запроса template или templates.
33006 Ошибка формирования печатной формы: поле count для шаблона печатной формы может принимать только целые значения в диапазоне от 1 до 10 Поле count должно быть в интервале [1, 10].
33007 Ошибка формирования печатной формы: отсутствует ссылка на юрлицо Для того, чтобы сгенерировать печатную форму для товара, необходимо отправить ссылку на юрлицо.
33008 Ошибка формирования печатной формы: отсутствует количество ценников/термоэтикеток Для того, чтобы сгенерировать печатную форму для товара, необходимо отправить количество.
33009 Ошибка формирования печатной формы: отсутствует тип цены Для того, чтобы сгенерировать печатную форму для товара, необходимо отправить тип цены.
33010 Ошибка формирования печатной формы комплекта документов: для указанной сущности не было передано подходящих шаблонов печатной формы. Чтобы напечатать комплект документов, нужно передать хотя бы 1 подходящий для данной сущности шаблон печатной формы.
33011 Ошибка формирования печатной формы комплекта документов: сущность для печати комплекта должна быть документом Невозможно напечатать комплект документов для сущности, не являющейся документом.
33012 Печать для типа '{тип}' не поддерживается Печать не поддерживается для данного типа.

Коды ошибок для Публикаций

Код ошибки Сообщение Описание
34000 Публикации для типа '{тип}' не поддерживаются Публикации доступны только для следующих типов: Заказ покупателя, Счет покупателю, Отгрузка, Заказ поставщику, Счет поставщика, Приемка, Входящий платеж, Приходный ордер, Исходящий платеж, Расходный ордер, Внутренний заказ, Перемещение, Оприходование, Списание, Счет-фактура выданный, Счет-фактура полученный, Возврат поставщику, Возврат покупателя, Выплата денег, Внесение денег, Розничный возврат, Розничная продажа, Договор, Розничная смена, Заказ на производство, Полученный отчет комиссионера, Выданный отчет комиссионера, Инвентаризация, Техоперация.
34001 Не удалось создать публикацию. Проверьте корректность шаблона. Во время генерации документа возникла ошибка. Проверьте корректность передаваемого шаблона.
34002 Ошибка создания публикации документов: ваш тариф не позволяет создавать публикацию документов на основе пользовательского шаблона печатной формы Ваш тарифный план не позволяет использовать при публикации документов пользовательские шабоны.
34003 Ошибка: нельзя работать с публикацией сущности так как к ней отсутствует доступ на '<чтение, запись>'. Работа пользователя с публикациями документов возможна, если есть право на чтение и право печати сущности данного типа.

Коды ошибок для Счет-фактур

Код ошибки Сообщение Описание
35000 Ошибка формирования счета-фактуры: передано более 1 документа-основания в коллекции Счет-фактура может быть создан только на основании одного документа. Проверьте, что был передан один массив связанных документов с одним документом-основанием.
35001 Ошибка формирования счета-фактуры: документ уже внесен в счет-фактуру Счет-фактура уже создан на основании переданного документа.

Коды ошибок для Шаблонов

Код ошибки Сообщение Описание
36000 Ошибка формирования шаблона: передано более 1 документа-основания для формирования шаблона Не удалось сформировать предзаполненную сущность из-за того что передано более 1 документа-основания.
36001 Ошибка формирования шаблона: 'описание ошибки' Не удалось сформировать предзаполненную сущность из-за невалидных данных.

Коды ошибок для Задач

Код ошибки Сообщение Описание
37000 Ошибка: вы не можете работать с задачами, т.к. в вашем тарифном плане отсутствует опция CRM Вы не можете создавать, редактировать и удалять задачи без тарифной опции CRM.
37001 Ошибка: вы не можете редактировать или удалить задачу, созданную другим сотрудником Пользователь, не являющийся администратором, может изменять или удалять только задачи, которые создал он сам, либо менять статус готовности у задачи, на которую он назначен ответственным.
38000 Необходимы права администратора для работы с аудитом Просмотр изменений доступен только пользователям с правами администратора.

Коды ошибок Показателей

Код ошибки Сообщение Описание
39000 Ошибка: не указан обязательный параметр для запроса показателей: {параметр} Параметры momentFrom,momentTo, interval - обязательные.
39001 Ошибка: показатели, разбитые по {interval}, для промежутка большего, чем {limit}, не поддерживаются. Значения параметров 'interval' и соответствующие им limit: hour - 30 дней, day - 10 лет, month - 100 лет.
39002 Некорректное значение параметра фильтрации 'interval'. Допустимые значения: 'hour', 'day', 'month'. Значение параметра 'interval' должно входить в список допустимых значений.

Коды ошибок для Пользовательских справочников

Код ошибки Сообщение Описание
41000 Ошибка: пользовательский справочник с идентификатором '{идентификатор}' не найден Пользовательский справочник с указанным идентификатором не найден
41001 Ошибка: ваш тариф не позволяет работать с пользовательскими справочниками Для тарифов "Бесплатный", "Бесплатный 2014" и "Индивидуальный" не поддерживается работа с пользовательскими справочниками.

Коды ошибок для Типов цен

Код ошибки Сообщение Описание
42000 Ошибка валидации: превышено максимальное количество типов цен Превышено максимальное количество типов цен (100).
42001 Ошибка сохранения: нельзя удалить все типы цен При редактировании списка типа цен необходимо указать хотя бы один.

Коды ошибок для Сотрудников

Код ошибки Сообщение Описание
43001 Ошибка сохранения сотрудника: у изображения отсутствует контент При передаче изображения в запросе на изменение сотрудника необходимо указывать поле content
43002 Ошибка сохранения сотрудника: невозможно преобразовать поле content в изображение Содержимым поля content должно быть изображение закодированное в формате base64 с расширением jpg или png.
43003 Ошибка сохранения сотрудника: Недостаточно места в хранилище. Место в хранилище, выделенное для вашей учетной записи закончилось.
43004 Ошибка сохранения сотрудника: размер изображения превышает максимально допустимый(3 мб) Попробуйте уменьшить размер изображения.
43005 Ошибка сохранения сотрудника: у изображения отсутствует имя файла При загрузке изображения необходимо указать непустое имя файла в поле filename.
43006 Ошибка сохранения сотрудника: неверный формат ИНН Проверьте, чтобы формат ИНН соответствовал формату ИНН физического лица.
43007 Ошибка обновления прав сотрудника: нельзя изменить права у сотрудника, у которого нет доступа к сервису Нельзя изменить права у сотрудника, у которого нет доступа к сервису.
43008 Ошибка обновления прав сотрудника: нельзя изменить логин сотрудника При изменении прав нельзя изменять логин доступа сотрудника к сервису МойСклад
43009 Ошибка обновления прав сотрудника: логин пользователя должен оканчиваться на '{формат логина}' Не верный формат логина доступа сотрудника к сервису МойСклад
43010 Ошибка обновления прав сотрудника: нельзя указывать пользовательские права для данной роли Задавать права можно только для пользовательской роли.
43011 Ошибка обновления прав сотрудника: для пермиссии {тип пермиссии} задано дочернее значение пермиссии {название пермиссии}, но не указано родительское значение пермиссии {название пермиссии} Нельзя задавать значение пермиссии, не указывая значения для родительской пермиссии.
43012 Ошибка обновления прав сотрудника: для пермиссии {тип пермиссии} для {название пермиссии} задано значение {значение пермиссии}, которое шире, чем значение {значение пермиссии} для {название пермиссии} Указаны несовместимые типы для дочерней и родительской пермиссии.
43013 Ошибка обновления прав сотрудника: нельзя изменить роль, на аккаунте должен быть хотя бы один администратор Необходимо, чтобы на аккаунте всегда был хотя бы один сотрудник с ролью 'Администратор аккаунта'
43014 Ошибка обновления прав сотрудника: ваш тарифный план не позволяет настраивать права доступа сотрудникам Настраивать права для индивидуальных ролей или создавать кастомные роли можно только на определенных тарифах
43015 Ошибка обновления прав сотрудника: не найдена роль с идентификатором {идентификатор роли} Не была найдена кастомная роль с указанным идентификатором.
43016 Ошибка сброса пароля сотрудника: у пользователя не указан или указан некорректный email У сотрудника, для которого был запрошен сброс пароля, не указан корректный email.
43017 Ошибка сброса пароля сотрудника: у сотрудника нет прав на вход в сервис Нельзя сбросить пароль у неактивного пользователя.
43018 Ошибка сброса пароля сотрудника: {название причины} Если не получилось отправить пароль по почте, то выводится сообщение о причине
43019 Ошибка деактивации доступа сотрудника: у данного сотрудника нет доступа к сервису Нельзя деактивировать сотрудника, который никогда не был активным.
43020 Ошибка деактивации доступа сотрудника: нельзя деактивировать свою учетную запись Нельзя деактивировать свою учетную запись.
43021 Ошибка активации доступа сотрудника: у пользователя не указан или указан некорректный email У сотрудника нет или указан некорректный email.
43022 Ошибка активации доступа сотрудника: логин '{логин пользователя}' уже используется При активации сотрудника указан логин, который уже используется у другого сотрудника.
43023 Ошибка активации доступа сотрудника: у сотрудника не задан логин для входа Для активации пользователя, который ранее не был активным, не задан логин.
43024 Ошибка активации доступа сотрудника: на аккаунте достигнуто максимальное число активных сотрудников По тарифу уже максимальное число активных сотрудников.
43025 Ошибка активации доступа сотрудника: у данного сотрудника уже есть доступ к сервису Нельзя активировать активного сотрудника.
43026 Ошибка изменения доступа сотрудника: активировать, деактивировать доступ сотрудника к сервису или сбрасывать пароль может только администратор Изменять активность может только администратор.
43027 Ошибка валидации прав сотрудника: пермиссия {тип пермиссии} должна иметь значение {значение пермиссии} для {название пермиссии} Для указанных типов пермиссий должны быть заданы пермиссии с определенными типами.
43028 Ошибка обновления прав сотрудника: для пермиссии {тип пермиссии} для {название пермиссии} значение должно совпадать со значением для {название родительской пермиссии} ({значение родительской пермиссии}) или иметь значение NO Указаны несовместимые типы для дочерней и родительской пермиссии.
43029 Ошибка обновления прав сотрудника: для пермиссии {тип пермиссии} для {название пермиссии} ({значение пермиссии}) задано несовместимое с {название родительской пермиссии} ({значение родительской пермиссии}) значение Указаны несовместимые типы для дочерней и родительской пермиссии. Например, значения OWN_SHARED и OWN_GROUP не могут быть указаны одновременно в рамках одной сущности.
43030 Ошибка сохранения сотрудника: для использования системной роли 'Сотрудник производства' необходима активная опция 'Управление производством' Нельзя сохранить сотрудника с ролью 'Сотрудник производства', если на аккаунте не подключена опция 'Управление производством'

Коды ошибок для Скачивания изображений

Код ошибки Сообщение Описание
44000 Метод POST не поддерживается для URL HTTP метод POST не поддерживается для запроса на скачивание изображения.
44001 Метод PUT не поддерживается для URL HTTP метод PUT не поддерживается для запроса на скачивание изображения.
44002 Метод DELETE не поддерживается для URL HTTP метод DELETE не поддерживается для запроса на скачивание изображения.

Коды ошибок для Тарифных ограничений

Код ошибки Сообщение Описание
47000 Тарифное ограничение: {описание ограничения} Сработало тарифное ограничение для текущего тарифа.

Коды ошибок для Изображений

Код ошибки Сообщение Описание
51001 Ошибка при работе с изображением: у изображения отсутствует контент При передаче изображение в составе товара в запросе на создание товара необходимо указывать поле content
51002 Ошибка при работе с изображением: невозможно преобразовать поле content в изображение Содержимым поля "content" должно быть изображение закодированное в формате base64 с расширением jpg или png.
51003 Ошибка при работе с изображением: Недостаточно места в хранилище. Место в хранилище, выделенное для вашей учетной записи закончилось.
51004 Ошибка при работе с изображением: размер изображения превышает максимально допустимый(3 мб) Попробуйте уменьшить размер изображения.
51005 Ошибка при работе с изображением: у изображения отсутствует имя файла При загрузки изображения необходимо указать непустое имя файла в поле filename.
51006 Ошибка при работе с изображением: число изображений у товара не может быть больше 10 У товара не может быть больше 10 изображений.
51007 Ошибка при работе с изображением: файловое хранилище недоступно. Внутренняя ошибка на сервере. Попробуйте повторить запрос позже.

Коды ошибок для Серверных решений

Код ошибки Сообщение Описание
55000 Просмотр уведомлений решениями не поддерживается Работа с уведомлениями возможно только при авторизации от лица пользователя
55001 Редактирование уведомлений решениями не поддерживается Работа с уведомлениями возможно только при авторизации от лица пользователя
55002 Удаление уведомлений решениями не поддерживается Работа с уведомлениями возможно только при авторизации от лица пользователя
55003 Просмотр подписок на уведомления решениями не поддерживается Работа с уведомлениями возможно только при авторизации от лица пользователя
55004 Создание и редактирование подписок на уведомления решениями не поддерживается Работа с уведомлениями возможно только при авторизации от лица пользователя
55005 Доступ к контексту решения невозможен для данной авторизационной сущности Вы запрашиваете endpoint /context/application от лица пользователя
55006 Доступ к контексту пользователя невозможен для данной авторизационной сущности Вы запрашиваете endpoint /context/employee от лица решения

Коды ошибок для автозаполнения

Код ошибки Сообщение Описание
56000 Ошибка заполнения шаблона: При указании параметра запроса '{параметр}' со значением '{переданное значение}' требуется указать значение поля '{имя поля}' Проверьте заполнение указанного поля. Для автозаполнения требуется указать начения неоторых полей: при значении fill = discount, price требуется заполнение поля agent, при значении fill = vat - organization.

Коды ошибок для отделов

Код ошибки Сообщение Описание
60000 Доступ запрещён: создавать, изменять и удалять отделы может только пользователь с правами администратора
60001 Ошибка сохранения отдела: отдел с таким названием уже существует каждый отдел должен иметь уникальное название
60002 Ошибка сохранения отдела: индекс за пределами диапазона индекс не должен быть больше количества отделов или меньше 0
60003 Ошибка удаления отдела: нельзя удалить все отделы после удаления должен остаться хотя бы один отдел

Коды ошибок для асинхронного обмена

Код ошибки Сообщение Описание
61000 Ошибка при создании асинхронной задачи: эндпоинт не поддерживает асинхронный обмен Запрос не поддерживает асинхронное выполнение. Список доступных запросов можно уточнить в разделе Асинхронный обмен
61001 Ошибка при создании асинхронной задачи: нельзя указывать параметры 'offset' и 'limit' для асинхронного запроса Если вы хотите выполнить асинхронный запрос, не указывайте параметры 'offset' и 'limit'
61002 Ошибка при создании асинхронной задачи: превышено ограничение на количество одновременно выполняемых асинхронных операций Дождитесь выполнения одной из поставленных в очередь задач
61003 Ошибка при запросе результата асинхронной задачи: результат задачи был удален После наступления даты, указанной в поле deletionDate, результат становится недоступен. Нужно создать новую задачу
61004 Ошибка при запросе результата асинхронной задачи: задача завершилась ошибкой Задача не была передана в обработку в результате внутренней ошибки и имеет статус ERROR. Попробуйте создать задачу заново. Если ошибка повторяется, обратитесь в поддержку
61005 Ошибка при запросе результата асинхронной задачи: задача была отменена Задача была отменена и имеет статус CANCEL. Нужно создать новую задачу
61006 Ошибка при запросе результата асинхронной задачи: результат еще не готов Задача находится в обработке и имеет статус PROCESSING. Дождитесь выполнения асинхронной задачи
61007 Ошибка при отмене асинхронной задачи: задача уже завершена Можно отменять только задачи со статусами PENDING и PROCESSING

Коды ошибок для Расширенной бонусной программы

Код ошибки Сообщение Описание
62000 Ошибка: вы не можете создавать бонусные операции с отложенным начислением, т.к. в вашем тарифном плане отсутствует опция расширенной бонусной программы Для создания отложенных бонусных операций необходима подключённая опция "Расширенная бонусная программа"
62001 Ошибка: вы не можете редактировать дату начисления бонусной операции, т.к. в вашем тарифном плане отсутствует опция расширенной бонусной программы Для изменения даты начисления бонусной операции необходима подключённая опция "Расширенная бонусная программа"
62002 Ошибка валидации: поле '{параметр}' не может быть указано для бонусной операции списания Переданный параметр доступен для редактирования только для бонусных операций начисления
62003 Ошибка валидации: поле '{параметр}' может быть изменено только для отложенной бонусной операции Переданный параметр доступен для редактирования только для отложенных бонусных операций

Коды ошибок для Сохраненного фильтра

Код ошибки Сообщение Описание
63000 Ошибка применения сохраненного фильтра: сохраненный фильтр несовместим с параметрами запроса filter, search и order Был передан параметр filter, search и order или применено несколько сохраненных фильтров
63001 Ошибка применения сохраненного фильтра: указанный сохраненный фильтр несовместим с текущим эндпоинтом Был применен сохраненный фильтр, который нельзя получить на текущем энжпоинте по пути /entity/[entityType]/namedfilter
63002 Ошибка применения сохраненного фильтра: неверный формат ссылки на сохраненный фильтр Корректный формат ссылки должен иметь тип URL
63003 Ошибка применения сохраненного фильтра: указанная ссылка на сохраненный фильтр содержит несовместимые фильтр и эндпоинт Переданная ссылка содержит id фильтра, который нельзя получить на переданном в ссылке эндпоинте
63004 Ошибка получения сохраненных фильтров: неверное значение '{значение}' параметра запроса 'owner' Значение параметра запроса 'owner' не удовлетворяет формату href
63005 Ошибка получения сохраненных фильтров: решения могут получать сохраненные фильтры только с указанным параметром запроса 'owner' Решения могут получать сохраненные фильтры других пользователей, поэтому нужно указывать параметр 'owner'

Коды ошибок для Каналов продаж

Код ошибки Сообщение Описание
64000 Ошибка обновления Канала продаж: вы не можете изменить тип для Канала продаж, созданного автоматически Канал продаж созданный автоматически имеет неизменяемый тип, доступный только для чтения

Коды ошибок для Ячеек и Зон склада

Код ошибки Сообщение Описание
67000 Ячейка с идентификатором '{параметр}' не относится к указанному складу '{параметр}'" Нельзя указывать ячейку от другого склада
67001 Нельзя указывать ячейку для '{параметр}' Нельзя задавать ячейку для позиций документа типа Комплект или Услуга
67002 Указанная зона '{параметр}' не является зоной склада '{параметр}' ячейки Нельзя задавать ячейке зону другого склада
67003 Превышено максимальное число зон у склада Нарушено ограничение на количество зон на аккаунте
67004 Зона '{параметр}' не является зоной склада '{параметр}' Для заданного склада нельзя менять зону другого склада
67005 Ячейка '{параметр}' не является ячейкой склада '{параметр}' Для заданного склада нельзя менять ячейку другого склада
67006 Штрихкод уже указан у другой ячейки Нельзя дублировать штрихкод ячейки в рамках склада

Коды ошибок для Ленты Событий

Код ошибки Сообщение Описание
70000 Вы не можете создавать более {лимит} событий в рамках одного документа Для заданного документа достигнут лимит Событий

Коды ошибок для Серий

Код ошибки Сообщение Описание
71000 Ошибка сохранения серии: ассортимент не может быть серией Проверьте состав ассортимента серии и попробуйте снова.