Navbar
cURL

МойСклад JSON API

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

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

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

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

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

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

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

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат JSON объект, содержащий токен

СвернутьПоказать

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

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

Ограничения

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

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

Типы данных

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

Метаданные

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

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

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

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

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

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

Пример запроса на получение метаданных с помощью GET:

СвернутьПоказать

Пример тела запроса:

СвернутьПоказать
Мета коллекций

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) Сообщение, прилагаемое к ошибке. нет
Возвращаемые HTTP статусы ошибок и их значения:
HTTP status code Значение
301 Запрашиваемый ресурс находится по другому URL.
303 Запрашиваемый ресурс может быть найден по другому URI и должен быть найден с использоваием GET запроса
400 Ошибка в структуре JSON передаваемого запроса
401 Имя и/или пароль пользователя указаны неверно или заблокированы пользователь или аккаунт
403 У вас нет прав на просмотр данного объекта
404 Запрошенный ресурс не существует
405 http-метод указан неверно для запрошенного ресурса
409 Указанный объект используется и не может быть удален
410 Версия API больше не поддерживается
412 Не указан обязательный параметр строки запроса или поле структуры JSON
413 Размер запроса или количество элементов запроса превышает лимит (например, количество позиций, передаваемых в массиве positions, превышает 1000)
429 Превышен лимит количества запросов
500 При обработке запроса возникла непредвиденная ошибка
502 Сервис временно недоступен
503 Сервис временно отключен
504 Превышен таймаут обращения к сервису, повторите попытку позднее

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

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

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

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

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

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

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

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

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

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

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

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

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

При передаче значения null в поле value значение соответствующего доп. поля сбрасывается.

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример указания значения для доп. поля типа файл есть в секции создания товара

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

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

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

Параметры

Параметр Описание
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) Успешный запрос. Результат - JSON представление списка доп. полей отгрузок.

СвернутьПоказать

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

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

Создание двух новых доп. полей для отгрузок.

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление созданных доп. полей.

СвернутьПоказать

Пример создания нового доп. поля Отгрузок и обновления существующего одним запросом.

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление созданного и обновленного доп. полей.

СвернутьПоказать

Пример создания дополнительного поля типа пользовательский справочник.

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление созданного доп. поля.

СвернутьПоказать

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

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

Удаление двух доп полей одним запросом

СвернутьПоказать

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

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

Параметры

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

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

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

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

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление доп. поля отгрузки.

СвернутьПоказать

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

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

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

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление доп. поля отгрузки.

СвернутьПоказать

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

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

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

СвернутьПоказать

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

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

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

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

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление отгрузки с обновленными доп. полями.

СвернутьПоказать

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

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

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

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

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

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

Пример URL для запроса на удаление с помощью DELETE:

СвернутьПоказать

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

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

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

Пример URL для запроса на массовое удаление позиций с помощью POST:

СвернутьПоказать

Пример тела запроса:

СвернутьПоказать

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

Представление остатков в составе позиции

СвернутьПоказать

При запросе и обновлении документов есть возможность получать остатки позиций этих документов. Для получения остатков в позициях документа в запросе нужно передать дополнительный параметр 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 можно фильтровать по дополнительным полям. Список дополнительных полей сущности указан в ее метаданных

https://online.moysklad.ru/api/remap/1.2/entity/product/metadata

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

для доп.полей типа справочник:

Пример ссылки на доп.поле

Пример ссылки на сущность:

для доп.полей типа пользовательский справочник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Также expand можно применять для результатов операций создания и обновления.

Возврат без expand

Пример запроса возврата без expand

СвернутьПоказать

Объект возврата покупателя в его обычном представлении, имеющий ссылку на отгрузку

СвернутьПоказать

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

Пример запроса возврата с expand отгрузки Передаем параметр expand=demand.

СвернутьПоказать

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

СвернутьПоказать

Expand с глубиной 2

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

СвернутьПоказать
СвернутьПоказать

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

Развернем поле agent у создаваемой отгрузки.

СвернутьПоказать

В ответ придет созданная отгрузка с развернутым объектом контрагента (agent).

СвернутьПоказать

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

Теперь обновим эту отгрузку и развернем у нее поля agent и organization. В ответ придет измененная отгрузка с развернутым объектом контрагента (agent) и развернутым объектом юрлица (organization).

СвернутьПоказать

Response 200 (application/json)

СвернутьПоказать

Серверные приложения

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

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

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

Пример запроса на получение контекста приложения

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат JSON объект, содержащий данные приложения

СвернутьПоказать

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

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

Параметры

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

Пример запроса на получение сущности установленного приложения

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат JSON объект, содержащий данные приложения

СвернутьПоказать

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

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

Uid приложения должен быть указан в виде: <Application-Alias>.<Vendor-Alias>@<Account-Name>

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

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

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

Uid приложения должен быть указан в виде: <Application-Alias>.<Vendor-Alias>@<Account-Name>

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

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

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

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

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

Устаревшие версии JSON API

Версия API REMAP 1.1 устарела. Поддерживается и работает, но не развивается и не дополняется новыми возможностями.

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

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

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

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

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

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

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

Пример запроса на создание Асинхронной задачи

СвернутьПоказать

Response 202 Успешное создание Асинхронной задачи

СвернутьПоказать

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

Параметры

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

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

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

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

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

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

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

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

Пример запроса на получение списка статусов Асинхронных задач

СвернутьПоказать

Response 200 (application/json) Успешный запрос. Результат - JSON представление списка статусов Асинхронных задач.

СвернутьПоказать

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

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

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

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

СвернутьПоказать

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

СвернутьПоказать

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

СвернутьПоказать

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

Параметры

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

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

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

СвернутьПоказать

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

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

СвернутьПоказать

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

Параметры

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

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

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

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

СвернутьПоказать

Пример результата задачи, который содержит описание ошибки Response 403 Forbidden

СвернутьПоказать

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

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

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

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

СвернутьПоказать

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

СвернутьПоказать

На указанный в поле 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 по которому вы делаете запрос. online.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 может быть указано только при создании сущности. Его нельзя изменить в запросе на обновление.
1052 Неверный формат UUID Проверьте сгенерированные вами UUID на корректность.
1056 Ошибка аутентификации: {текст ошибки аутентификации} Описание Проверьте указанные для аутентификации данные. Возможно для данного ресурса требуется другой вид аутентификации.
1058 Не удалось декодировать параметры запроса из URL Описание Проверьте запрос. Вероятно, в строке присутствуют параметры, которые не были urlencoded.
1059 Некорректный сервер в идентификаторе объекта: '{идентификатор}' Описание Идентификатор объекта содержит сервер, отличный от online.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 или токен
1090 Дополнительный справочник {название справочника} используется в: {названия документов} и не может быть удален Дополнительный справочник используется как дополнительное поле в документах, перечисленных в ошибке.
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 Ошибка формата: отсутствует поле <field> для meta <type> Вы не указали обязательное поле объекта meta.
2021 Ошибка формата: в объектах типа '<тип>' полю '<наименование поля>' не может быть присвоен объект типа <тип объекта> Для сущностей данного типа у указанного поля не может быть выставлено указанное значение. Например, нельзя полю agent отгрузки выставить значение типа employee, тогда как тому же полю входящего платежа можно выставить значение типа employee.
2022 Ошибка формата: слишком большое число элементов вложенной коллекции Вложенная коллекция может иметь в составе не более 1000 элементов.
2024 Ошибка формата: href указывает на сущность неправильного типа '<тип>', требуется '<тип>' Переданная ссылка href указывает на сущность неправильного типа.
2027 Ошибка формата: href указывает на сущность неправильного типа '<тип>', допустимые значения: '<допустимые типы>' Переданная ссылка href указывает на сущность неправильного типа.

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

Код ошибки Сообщение Описание
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'е более одного раза

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

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

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

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

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

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

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

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

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

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

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

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

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

Код ошибки Сообщение Описание
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 Ошибка сохранения дополнительного поля: невозможно сделать обязательным поле, которое очищается в рамках сценария Дополнительное поле в сценарии со значением Очистить поле не может стать обязательным. Если требуется присвоить обязательность - необходимо изменить действие в сценарии.

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

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

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

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

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

Код ошибки Сообщение Описание
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 Ошибка сохранения позиции документа: товар упаковки и товар позиции отличаются Для данной позиции документа товар из упаковки и указанный товар отличаются
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. Не поддерживается их одновременное сохранение для одной транспортной упаковки

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

Код ошибки Сообщение Описание
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 указываете склады с разными идентификаторами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код ошибки Сообщение Описание
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: тип сущности '{тип}' не поддерживает действие '{действие}'. Допустимые: {действия} Для данного типа сущности определен не стандартный набор действий, поэтому некоторые действия данный тип не поддерживает

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

Код ошибки Сообщение Описание
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 документа-основания.

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

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

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

Код ошибки Сообщение Описание
39000 Ошибка: не указан обязательный параметр для запроса показателей: {параметр} Параметры momentFrom,momentTo, interval - обязательные.
39001 Ошибка: показатели, разбитые по часам, для промежутка большего, чем месяц, на поддерживаются. Укажите меньший промежуток времени.
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 не могут быть указаны одновременно в рамках одной сущности.

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

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

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

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

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

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

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

Код ошибки Сообщение Описание
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 Ошибка валидации: поле '{параметр}' может быть изменено только для отложенной бонусной операции Переданный параметр доступен для редактирования только для отложенных бонусных операций