Navbar

Сущности

Ассортимент

Ассортимент

Сущность assortment представляет собой список всех товаров, услуг, комплектов, модификаций и серий с полями stock, reserve, inTransit, quantity, показывающими остаток, резерв, ожидание и доступно каждой из сущностей (для комплектов и услуг эти поля не выводятся). Данные поля могут быть рассчитаны в зависимости от даты и склада с использованием параметров фильтрации stockMoment и stockStore.

Атрибуты доступные для фильтрации

Результаты запроса можно отфильтровать, используя параметр filter.

Название Описание
alcoholic.type параметр для фильтрации по коду вида алкогольной продукции. Можно использовать операторы = и !=. Значение параметра - целое число. Можно передать пустое значение, тогда в выборку попадут товары с заполненным или незаполненным значением кода вида продукции.
archived параметр для фильтрации по признаку архивности товаров. Возможные значения: true, false. Для выдачи как обычных, так и товаров в архиве, нужно передать сразу два значения true и false. По умолчанию в выдачу попадают только обычные товары.
article параметр для фильтрации по артикулам товаров и комплектов. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений. Можно указать пустое значение.
barcode параметр для фильтрации по штрихкодам сущностей. Допустимый оператор - =. Можно передать несколько значений. Можно указать пустое значение.
code параметр для фильтрации по кодам сущностей. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений. Можно указать пустое значение.
description параметр для фильтрации по описаниям сущностей. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений. Можно указать пустое значение.
externalCode параметр для фильтрации по внешним кодам сущностей. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений. Можно указать пустое значение.
group параметр для фильтрации по владельцу-отделу. Можно использовать операторы = и !=. Значение параметра - ссылка на отдел. Можно передать несколько значений.
id параметр для фильтрации по идентификаторам сущностей. Можно использовать операторы = и !=. Можно передать несколько значений.
isSerialTrackable параметр для фильтрации по использованию серийных номеров
name параметр для фильтрации по наименованиям сущностей. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений.
owner параметр для фильтрации по владельцу-сотруднику. Можно использовать операторы = и !=. Значение параметра - ссылка на сотрудника. Можно передать несколько значений. Можно указать пустое значение.
pathname параметр для фильтрации по наименованию групп товаров. Можно использовать операторы =, !=, ~, ~=, =~. Можно передать несколько значений. Можно указать пустое значение.
productFolder параметр для фильтрации по нескольким группам товаров. Можно использовать операторы = и !=. Значение параметра - ссылка на группу товаров, которая должна быть включена в выборку или исключена из нее. Можно передать несколько значений. В выборку попадут товары, которые находятся (или не находятся) непосредственно в указанных группах.
quantityMode параметр для фильтрации по значению доступно. Значение по умолчанию all. Доступные значения
search префиксный поиск по строковым полям, выводимым в ассортименте. Для данного параметра нужно использовать оператор =. Поиск по штрихкодам выполняется по полному соотвествию. Можно передать только одно значение.Подробнее тут
shared параметр для фильтрации по признаку общего доступа. Возможные значения: true, false.
stockMode параметр для фильтрации по значению остатка. Значение по умолчанию all. Доступные значения
stockMoment момент времени, на который нужно вывести остатки. Передается в виде строки в формате дата-время
stockStore параметр для фильтрации по нескольким складам. Можно использовать операторы = и !=. Значение параметра - ссылка на склад, который должен быть учтен в выборке или исключен из нее. Можно передать несколько значений.
supplier параметр для фильтрации по нескольким поставщикам. Можно использовать операторы = и !=. Значение параметра - ссылка на контрагента или организацию. В выборку будут включены или исключены товары с указанными поставщиками. Можно передать пустое значение, тогда в выборку попадут товары с незаполненным или заполненным поставщиком.
type параметр для фильтрации по типу сущности (product, service, bundle, variant, consignment). Используется с оператором =. Можно передать несколько значений. Для фильтрации по типу consignment требуется использовать группировку (groupBy=consignment).
updated параметр для фильтрации по времени последнего обновления сущностей. Можно использовать операторы =, <, <=, >, >=. Действие строгих операторов синонимично нестрогим. Передается в виде строки в формате дата-время.
updatedBy параметр для фильтрации по автору последнего обновления. Можно использовать операторы = и !=. Значение параметра - uid (admin@admin). Можно передать несколько значений.
weighed параметр для фильтрации по признаку весового товара. Возможные значения: true, false.
withSubFolders параметр учета вложенных подгрупп. Работает только при наличии непустого фильтра по productFolder. По умолчанию true, выводятся товары из дочерних подгрупп фильтруемой группы / групп товаров. При передаче false выводятся только товары из фильтруемой группы / групп, без учета подгрупп.
доп. поле(url) параметром фильтрации служит url дополнительного поля. Оператор фильтрации зависит от типа доп. поля. Подробнее тут.

Также доступна фильтрация по доп. полям. Подробнее про фильтрацию по доп. полям можно посмотреть в соответствующем разделе.

Доступные значения для stockMode

Значение по умолчанию all.

Значение Описание
all Любое значение остатка
positiveOnly Положительный остаток
negativeOnly Отрицательный остаток
empty Нулевой остаток
nonEmpty Ненулевой остаток
underMinimum Остаток ниже неснижаемого остатка
Доступные значения для quantityMode

Значение по умолчанию all.

Значение Описание
all Любое значение остатка
positiveOnly Положительный остаток
negativeOnly Отрицательный остаток
empty Нулевой остаток
nonEmpty Ненулевой остаток
underMinimum Остаток ниже неснижаемого остатка

Для данного параметра нужно использовать оператор =. Поиск по штрихкодам выполняется по полному соотвествию. Можно передать только одно значение.

При использовании фильтров alcoholic.type, weighed и фильтров stockMode, quantityMode со значениями, отличными от all, в выдачу не попадают услуги и комлекты.

Фильтрация доп. полей

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

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

Параметры

Параметр Описание
limit number (optional) Default: 1000 Example: 1000 Максимальное количество сущностей для извлечения.Допустимые значения 1 - 1000.
offset number (optional) Default: 0 Example: 40 Отступ в выдаваемом списке сущностей.
groupBy string (optional) Параметр группировки. Принимает одно из значений: product - будут выведены только товары, variant - будут выведены товары и модификации (аналогично отсутствию параметра), consignment - будут выведены все сущности

Настройки справочника

Под сущностями справочника товаров подразумеваются товары, услуги, комплекты и группы товаров. Настройки справочника позволяют пользователю менять проверку уникальности кода, установку уникального кода при создании сущностей, установку уникального штрихкода EAN13, использование префиксов штрихкода для весовых товаров и настройку общего доступа к этим сущностям.

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

Название Тип Описание
meta Meta Метаданные Настроек справочника
Обязательное при ответе
uniqueCodeRules Object Настройки уникальности кода для сущностей справочника. Подробнее тут
Обязательное при ответе
barcodeRules Object Настройки правил штрихкодов для сущностей справочника. Подробнее тут
Обязательное при ответе
createdShared Boolean Создавать новые документы с меткой «Общий»
Обязательное при ответе

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

Настройки уникальности кода для сущностей справочника
Название Тип Описание
checkUniqueCode Boolean Проверка уникальности кода сущностей справочника товаров
Обязательное при ответе
fillUniqueCode Boolean Устанавливать уникальный код при создании создании сущностей справочника товаров
Обязательное при ответе
Настройки правил штрихкодов для сущностей справочника
Название Тип Описание
fillEAN13Barcode Boolean Автоматически создавать штрихкод EAN13 для новых товаров, комплектов, модификаций и услуг
Обязательное при ответе
weightBarcode Boolean Использовать префиксы штрихкодов для весовых товаров
Обязательное при ответе
weightBarcodePrefix Int Префикс штрихкодов для весовых товаров. Возможные значения: число формата X или XX
Обязательное при ответе

Получить Ассортимент

Получение Ассортимента с сериями

Массовое удаление позиций в Ассортименте

В теле запроса нужно передать массив, содержащий JSON метаданных позиций в Ассортименте, которые вы хотите удалить.

Получить Настройки справочника товаров

Изменить настройки справочника товаров

В теле запроса нужно передать объект, содержащий новый JSON настроек справочника. Изменять настройки можно частично, для этого в тело запроса нужно добавить лишь те поля, которые необходимо обновлять, остальные поля останутся прежними. Каждое поле является необязательным. В ответе придет полная сущность, даже если обновление было частичным.

Бонусная операция

Бонусные операции

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

Атрибуты сущности
Название Тип Фильтрация Описание
accountId UUID = != ID учетной записи
Обязательное при ответе Только для чтения
agent Meta = != Метаданные Контрагента, связанного с бонусной операцией
Обязательное при ответе Expand Необходимо при создании
applicable Boolean = != Отметка о проведении
Обязательное при ответе
bonusProgram Meta = != Метаданные бонусной программы
Expand
bonusValue Int = != < > <= >= Количество бонусных баллов
categoryType Enum Категория бонусной операции. Возможные значения: REGULAR, WELCOME
Только для чтения
code String(255) = != ~ ~= =~ Код Бонусной операции
created DateTime = != < > <= >= Момент создания Бонусной операции
Обязательное при ответе
executionDate DateTime Дата начисления бонусной операции.
externalCode String(255) = != ~ ~= =~ Внешний код Бонусной операции
Обязательное при ответе
group Meta = != Отдел сотрудника
Обязательное при ответе Expand
id UUID = != ID Бонусной операции
Обязательное при ответе Только для чтения
meta Meta Метаданные Бонусной операции
Обязательное при ответе
moment DateTime = != < > <= >= Время проведения бонусной операции
name String(255) = != ~ ~= =~ Наименование Бонусной операции
organization Meta = != Метаданные юрлица
Expand
owner Meta = != Владелец (Сотрудник)
Expand
parentDocument Meta Метаданные связанного документа бонусной операции
Expand
shared Boolean = != Общий доступ
Обязательное при ответе
transactionStatus Enum Статус бонусной операции. Возможные значения: WAIT_PROCESSING, COMPLETED, CANCELED
Только для чтения
transactionType Enum Тип бонусной операции. Возможные значения: EARNING, SPENDING
Обязательное при ответе Необходимо при создании
updated DateTime = != < > <= >= Момент последнего обновления Бонусной операции
Обязательное при ответе
updatedBy UID = != Автор последнего обновления бонусной операции в формате uid (admin@admin) (Атрибут используется только для фильтрации)
Атрибут "executionDate".

При создании или редактировании бонусной операции начисления данный атрибут позволяет указать дату обработки операции. Если атрибут не указан, то операция будет обработана сразу, без задержки.

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

Получить Бонусные операции

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

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

Параметры

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

Создать Бонусную операцию

Запрос на создание новой бонусной операции на данной учетной записи. Обязательные для создания поля:

Название Тип Описание
agent Meta Метаданные Контрагента, связанного с бонусной операцией
Обязательное при ответе Expand Необходимо при создании
bonusProgram Meta Метаданные Бонусной программы
Обязательное при ответе Expand Необходимо при создании
transactionType Enum Тип бонусной операции
Обязательное при ответе Необходимо при создании

Массовое создание и обновление Бонусных операций

Массовое создание и обновление Бонусных операций. В теле запроса нужно передать массив, содержащий JSON представления Бонусных операций, которые вы хотите создать или обновить. Обновляемые Бонусные операции должны содержать идентификатор в виде метаданных.

Удалить Бонусную операцию

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Бонусной операции.

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

Массовое удаление Бонусных операций

В теле запроса нужно передать массив, содержащий JSON метаданных Бонусных операций, которые вы хотите удалить.

Бонусная операция

Получить Бонусную операцию

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Бонусной операции.

Изменить Бонусную операцию

Запрос на изменение объекта, представляющего собой бонусную операцию. Невозможно изменение типа бонусной операции.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Бонусной операции.

Бонусная программа

Бонусные программы

Кодом сущности для Бонусных программ в составе JSON API является ключевое слово bonusprogram. Перед работой со скидками настоятельно рекомендуем вам прочитать вот эту статью на портале поддержки МоегоСклада.

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

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе Только для чтения
active Boolean Индикатор, является ли бонусная программа активной на данный момент
Обязательное при ответе
agentTags Array(String) Тэги контрагентов, к которым применяется бонусная программа. В случае пустого значения контрагентов в результате выводится пустой массив.
Обязательное при ответе
allAgents Boolean Индикатор, действует ли скидка на всех контрагентов (см. Скидки)
Обязательное при ответе
allProducts Boolean Индикатор, действует ли бонусная программа на все товары (всегда true, см. Скидки)
Обязательное при ответе
earnRateRoublesToPoint Int Курс начисления
earnWhileRedeeming Boolean Разрешить одновременное начисление и списание бонусов. Если true - бонусы будут начислены на денежную часть покупки, даже при частичной оплате покупки баллами.
Обязательное при ответе
id UUID ID Бонусной программы
Обязательное при ответе Только для чтения
maxPaidRatePercents Int Максимальный процент оплаты баллами
meta Meta Метаданные Бонусной программы
Обязательное при ответе
name String(255) Наименование Бонусной программы
postponedBonusesDelayDays Int Баллы начисляются через [N] дней
Тарифная опция «Расширенная бонусная программа»
spendRatePointsToRouble Int Курс списания
welcomeBonusesEnabled Boolean Возможность начисления приветственных баллов
Обязательное при ответе
welcomeBonusesMode Enum Условие начисления приветственных баллов. Не может быть пустым, если welcomeBonusesEnabled = true. Подробнее тут
welcomeBonusesValue Int Количество приветственных баллов, начисляемых участникам бонусной программы. Не может быть отрицательным. Не может быть пустым, если welcomeBonusesEnabled = true
Условия бонусных баллов
Название Описание
REGISTRATION Приветственные баллы начисляются участиникам после регистрации в бонусной программе.
FIRST_PURCHASE Приветственные баллы начисляются участиникам бонусной программы после совершения первой покупки.

Получить все Бонусные программы

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

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

Параметры

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

Бонусная программа

Создать Бонусную программу

Запрос на создание новой бонусной программы. Обязательные поля для заполнения: name (имя скидки), active (активна ли скидка), allProducts (действует ли скидка на все товары), allAgents (действует ли скидка на всех контрагентов) earnRateRoublesToPoint (курс начисления), spendRatePointsToRouble (курс списания), maxPaidRatePercents (максимальный процент оплаты баллами)

Изменить Бонусную программу

Параметры

Параметр Описание
id string (required) Example: 87c69fae-c1ad-4700-a852-f21939470760 id Бонусной программы.

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

Получить Бонусную программу

Параметры

Параметр Описание
id string (required) Example: 87c69fae-c1ad-4700-a852-f21939470760 id Бонусной программы.

Удалить Бонусную программу

Параметры

Параметр Описание
id string (required) Example: 87c69fae-c1ad-4700-a852-f21939470760 id Бонусной программы.

Response 200 (application/json) Успешное удаление Бонусной программы

Массовое удаление Бонусных программ

В теле запроса нужно передать массив, содержащий JSON метаданных Бонусных программ, которые вы хотите удалить.

Валюта

Средствами JSON API можно запрашивать списки валют и сведения по отдельным валютам, а также создавать новые и обновлять сведения по уже существующим валютам. Кодом сущности для валют в составе JSON API является ключевое слово currency. Больше о валютах и работе с ними в основном интерфейсе вы можете прочитать в нашей службе поддержки по этой ссылке. По данной сущности можно осуществлять контекстный поиск с помощью специального параметра search. Подробнее можно узнать по ссылке. Поиск с параметром search отличается от других тем, что поиск не префиксный, без токенизации и идет только по одному полю одновременно. Ищет такие строки, в которые входит значение строки поиска.

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

Атрибуты Сущности
Название Тип Фильтрация Описание
archived Boolean = != Добавлена ли Валюта в архив
Обязательное при ответе
code String(255) = != ~ ~= =~ Цифровой код Валюты
Обязательное при ответе Необходимо при создании
default Boolean = != Является ли валюта валютой учета
Обязательное при ответе Только для чтения
fullName String(255) = != ~ ~= =~ Полное наименование Валюты
id UUID = != ID Валюты
Обязательное при ответе Только для чтения
indirect Boolean Признак обратного курса Валюты
Обязательное при ответе
isoCode String(255) = != ~ ~= =~ Буквенный код Валюты
Обязательное при ответе Необходимо при создании
majorUnit Object Формы единиц целой части Валюты. Подробнее тут
Обязательное при ответе
margin Double Наценка при автоматическом обновлении курса
Обязательное при ответе
meta Meta Метаданные Валюты
Обязательное при ответе
minorUnit Object Формы единиц дробной части Валюты. Подробнее тут
Обязательное при ответе
multiplicity Int = != < > <= >= Кратность курса Валюты
Обязательное при ответе
name String(255) = != ~ ~= =~ Краткое наименование Валюты
Обязательное при ответе Необходимо при создании
rate Double Курс Валюты
Обязательное при ответе
rateUpdateType String(255) Способ обновления курса Валюты. auto или manual
Обязательное при ответе Только для чтения
system Boolean Основана ли валюта на валюте из системного справочника
Только для чтения
Формы единиц

Поля majorUnit и minorUnit содержат в себе следующие атрибуты:

Атрибут Описание
gender Грамматический род единицы валюты (допустимые значения masculine - мужской, feminine - женский)
s1 Форма единицы, используемая при числительном 1
s2 Форма единицы, используемая при числительном 2
s5 Форма единицы, используемая при числительном 5

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

Получить Валюты

Результат успешного запроса - JSON представление списка валют с перечисленными полями:

Поле Описание
meta Метаданные о выдаче
context Метаданные о сотруднике, выполнившем запрос
rows Массив JSON объектов, представляющих собой валюты

Параметры

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

Создать новую Валюту

Обязательные поля для создания валюты: name, code и isoCode. В теле запроса нельзя указать курс валюты (rate) равным нулю.

Создать системную валюту

Системной является валюта, для которой в МоемСкладе уже есть все параметры и возможность автоматического обновления курса. Для добавления системной валюты необходимо указать system=true и один из параметров code или isoCode. Дополнительно можно указать rateUpdateType и margin

Массовое создание и обновление Валют

Массовое создание и обновление Валют. В теле запроса нужно передать массив, содержащий JSON представления Валют, которые вы хотите создать или обновить. Обновляемые Валюты должны содержать идентификатор в виде метаданных.

Удалить Валюту

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

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 - id Валюты

Response 200 (application/json) Успешное удаление Валюты

Массовое удаление Валют

В теле запроса нужно передать массив, содержащий JSON метаданных Валют, которые вы хотите удалить.

Валюта

Получить Валюту

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 - id Валюты

Изменить Валюту

Запрос на обновление существующей валюты. В теле запроса нельзя указать курс валюты (rate) равным нулю, а также пустые поля name, code, isoCode. Нельзя изменять значения полей name, fullName, code, isoCode, majorUnit, minorUnit для валют, основанных на системном справочнике валют. Нельзя изменять курс валюты учета. Нельзя изменить курс валюты с автоматическим обновлением.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 - id Валюты

Вебхуки

С помощью средств JSON API можно работать с вебхуками.

Вебхук — это механизм отправки уведомлений. Уведомление отправляется при наступлении в системе изменения, которое отслеживает вебхук. Например, если подключить вебхук на товары, при изменении наименования товара, вы получаете уведомление со ссылкой на измененный товар. Подробнее о работе с вебхуками читайте Вебхуки.

С помощью API версии 1.2 можно просматривать, изменять, удалять вебхуки, созданные только с помощью API версии 1.2.

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

Управление вебхуками доступно администратору аккаунта и решениям со специальными правами. Подробнее про работу решений с вебхуками см. в документации для вендоров.

Пример вебхука

Пример того, в каком виде будут передаваться данные:

Атрибуты сущности отправляемого вебхука

Название Тип Описание
events Object Данные о событии, вызвавшем срабатывание вебхука
Обязательное при ответе
auditContext Object Контекст аудита, соответствующий событию вебхука

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

Название Тип Описание
meta Meta Метаданные измененной сущности
Обязательное при ответе
action Enum Действие, которое вызвало срабатывание вебхука. Возможные значения: [CREATE, UPDATE, DELETE, PROCESSED]
Обязательное при ответе
accountId UUID ID учетной записи Кассира
Обязательное при ответе
updatedFields Array(String) Поля сущности, измененные пользователем

Для отображения атрибута сущности событие updatedFields нужно, чтобы вебхук имел diffType=FIELDS и action=UPDATE

Атрибуты сущности контекст аудита

Название Тип Описание
meta Meta Метаданные контекста аудита
Обязательное при ответе
uid String(255) Логин Сотрудника
Обязательное при ответе Только для чтения
moment DateTime Дата изменения
Обязательное при ответе Только для чтения

В массиве events может быть несколько объектов. Параметр запроса requestId - идентификатор уведомления.

В ответ на наш запрос мы ожидаем получить ответ с HTTP статусом 200 или 204 в течение 1500 миллисекунд. При невалидном ответе от клиентского приложения наша система осуществляет еще 3 попытки отправки.

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

Чтобы попытки отправки уведомления не заканчивались неудачей из-за истечения времени ожидания ответа сервером, рекомендуется разделить прием вебхуков и их обработку. Понять, что уведомление о событии было отправлено повторно, можно по параметру запроса requestId - при повторной отправке уведомления идентификатор останется прежним.

С помощью API версии 1.2 можно просматривать, изменять, удалять вебхуки созданные только с помощью API версии 1.2.

Заголовок временного отключения X-Lognex-WebHook-DisableByPrefix через API

Через JSON API при запросах можно выборочно отключить часть уведомлений вебхуков в контексте данного запроса. Для этого нужно указать заголовок X-Lognex-WebHook-DisableByPrefix. Этот заголовок позволяет указать набор префиксов url-адресов. Если адрес вебхука содержит один из указанных префиксов, то этот вебхук не будет инициирован по результатам запроса.

Префикс должен содержать протокол и доменное имя целиком: заголовки вида X-Lognex-WebHook-DisableByPrefix: https:// или X-Lognex-WebHook-DisableByPrefix: https://some_url будут отклонены с ошибкой, заголовки вида X-Lognex-WebHook-DisableByPrefix: https://some_url.com или X-Lognex-WebHook-DisableByPrefix: https://some_url.com/some_path считаются валидными.

Чтобы указать не один префикс, а набор, нужно указать несколько заголовков X-Lognex-WebHook-DisableByPrefix в запросе. Перечисление префиксов url-адресов через запятую в рамках одного заголовка не поддерживается.

Заголовок временного отключения X-Lognex-WebHook-Disable через API

Данный функционал в будущем будет удален.

Через JSON API или POS API при запросах можно отключить все уведомления вебхуков в контексте данного запроса. Для этого нужно указать заголовок X-Lognex-WebHook-Disable с произвольным значением.

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

SSL Handshake

Если на адресе получателя используется SSL сертификат, то необходимо удостовериться, что сертификат имеет корректные Certification Paths. Проверить сертификат можно в сервисе https://www.ssllabs.com/ssltest/index.html

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

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе
action Enum Действие, которое отслеживается вебхуком. Возможные значения: [CREATE, UPDATE, DELETE, PROCESSED]. Задать значение PROCESSED возможно только для асинхронных задач
Обязательное при ответе Необходимо при создании
authorApplication Meta Метаданные Решения, создавшего вебхук
diffType Enum Режим отображения изменения сущности. Указывается только для действия UPDATE. Возможные значения: [NONE, FIELDS] (по умолчанию NONE)
enabled Boolean Флажок состояние вебхука (включен / отключен)
Обязательное при ответе
entityType String(255) Тип сущности, к которой привязан вебхук
Обязательное при ответе Необходимо при создании
id UUID ID вебхука
Обязательное при ответе
meta Meta Метаданные вебхука
Обязательное при ответе
method Enum HTTP метод, с которым будет происходить запрос. Возможные значения: POST
Обязательное при ответе
url URL URL, по которому будет происходить запрос. Допустимая длина до 255 символов
Обязательное при ответе Необходимо при создании

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

Создание вебхуков доступно для всех типов сущностей и документов, кроме следующих:

Получить список вебхуков

Создать вебхук

Пример запроса на создание нового вебхука. Убедитесь, что создаете еще не существующий вебхук: сочетание entityType, action, url должно быть уникальным. Всего на одно уникальное сочетание entityType, action может быть создано не более 5 вебхуков с разными url для пользователей и не более 1 для решения.

Массовое создание и обновление вебхуков

Массовое создание и обновление вебхуков. В теле запроса нужно передать массив, содержащий JSON представления вебхуков, которые вы хотите создать или обновить. Обновляемые вебхуки должны содержать идентификатор в виде метаданных.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука.

Получить отдельный вебхук

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука.

Изменить вебхук

Пример запроса на изменение сведений о вебхуке.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука.

Отключить вебхук

Пример запроса на отключение вебхука.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука.

Удалить вебхук

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука.

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

Массовое удаление вебхуков

В теле запроса нужно передать массив, содержащий JSON метаданных вебхуков, которые вы хотите удалить.

Вебхук на изменение остатков

Вебхуки позволяют получать уведомления об изменениях остатков товаров. Уведомления отправляются пользователю каждые 1-5 минут, если произошло изменение остатков. Чтобы получать уведомления, создайте вебхук на изменения остатков и включите его. Ключевое слово для вебхуков на изменение остатков в рамках JSON API — webhookstock.

Набор возможностей также зависит от вашего тарифа:

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

Атрибуты отправляемого сообщения

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе
stockType Enum Тип остатков, изменение которых вызывает вебхук на изменение остатков. Возможные значения: [stock]
Обязательное при ответе
reportType Enum Тип отчета остатков, к которым привязан вебхук на изменение остатков. Возможные значения: [all, bystore]
Обязательное при ответе
reportUrl String(255) URL на получения данных по изменившейся номенклатуре за указанный период
Обязательное при ответе

Параметр запроса requestId — идентификатор уведомления.

При отправке запроса система ожидает получить ответ от клиентского приложения с HTTP-статусом 200 или 204 в течение 1500 миллисекунд. Если система получает неверный ответ, она осуществляет еще 3 попытки отправки. Попытки осуществляются последовательно, без таймаутов между ними. Если все попытки закончились неудачно или истекло время ожидания ответа, уведомление считается неотправленным и удаляется.

Чтобы попытки отправки уведомления не заканчивались неудачей из-за истечения времени ожидания ответа сервером, разделите прием вебхуков и их обработку. Параметр запроса requestId говорит о том, что уведомление о событии было отправлено повторно. При повторной отправке уведомления идентификатор останется прежним.

SSL Handshake

Если на адресе получателя используется SSL сертификат, то необходимо удостовериться, что сертификат имеет корректные Certification Paths. Проверить сертификат можно в сервисе https://www.ssllabs.com/ssltest/index.html

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

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе
authorApplication Meta Метаданные Решения, создавшего вебхук на изменение остатков
Только для чтения
enabled Boolean Флажок состояния вебхука на изменение остатков (включен / отключен)
Обязательное при ответе
stockType Enum Тип остатков, изменение которых вызывает вебхук. Возможные значения: [stock]
Обязательное при ответе Необходимо при создании
reportType Enum Тип отчета остатков, к которым привязан вебхук на изменение остатков. Возможные значения: [all, bystore]
Обязательное при ответе Необходимо при создании
id UUID ID вебхука на изменение остатков
Обязательное при ответе
meta Meta Метаданные вебхука на изменение остатков
Обязательное при ответе
url URL URL, по которому будет происходить обработка вебхука. Допустимая длина до 255 символов
Обязательное при ответе Необходимо при создании

Получить список вебхуков на изменение остатков

Создать вебхук на изменение остатков

Сочетание stockType, reportType, url должно быть уникальным. Всего на одно уникальное сочетание stockType, reportType может быть создано не более 5 вебхуков на изменение остатков с разными url для пользователей и не более 1 для решения.

Массовое создание и обновление вебхуков на изменение остатков

Массовое создание и обновление вебхуков на изменение остатков. В теле запроса нужно передать массив, содержащий JSON представления вебхуков на изменение остатков, которые вы хотите создать или обновить. Обновляемые вебхуки на изменение остатков должны содержать идентификатор в виде метаданных.

Получить отдельный вебхук на изменение остатков

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука на изменение остатков.

Изменить вебхук на изменение остатков

Пример запроса на изменение сведений о вебхуке на изменение остатков.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука на изменение остатков.

Отключить вебхук на изменение остатков

Пример запроса на отключение вебхука на изменение остатков.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука на изменение остатков.

Удалить вебхук на изменение остатков

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id вебхука на изменение остатков.

Response 200 (application/json) Успешное удаление вебхука на изменение остатков.

Массовое удаление вебхуков на изменение остатков

В теле запроса нужно передать массив, содержащий JSON метаданных вебхуков на изменение остатков, которые вы хотите удалить.

Грузовая таможенная декларация (ГТД)

Грузовая таможенная декларация (ГТД)

Название Тип Описание
name String(255) Номер ГТД

В версии API 1.2 отсутствует отдельный ресурс для работы с ГТД. ГТД - вложенная сущность документа.

Группа техкарт

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

Группы техкарт

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

Название Тип Описание
accountId UUID ID учетной записи
Обязательное при ответе Только для чтения
archived Boolean Добавлена ли Группа техкарт в архив
Обязательное при ответе
externalCode String(255) Внешний код Группы техкарт
Обязательное при ответе
code String(255) Код Группы техкарт
description String(4096) Описание Группы техкарт
group Meta Метаданные отдела сотрудника
Обязательное при ответе Expand
id UUID ID Группы техкарт
Обязательное при ответе Только для чтения
meta Meta Метаданные Группы техкарт
Обязательное при ответе
name String(255) Наименование Группы техкарт
Обязательное при ответе Необходимо при создании
owner Meta Метаданные владельца (Сотрудника)
Expand
pathName String Наименование Группы техкарт, в которую входит данная Группа техкарт
Обязательное при ответе Только для чтения
shared Boolean Общий доступ
Обязательное при ответе
updated DateTime Момент последнего обновления сущности
Обязательное при ответе Только для чтения

Получить список Групп техкарт

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

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

Параметры

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

Создать новую Группу техкарт

Запрос на создание новой Группы техкарт Обязательные для создания Группы техкарт поля:

Название Описание
name Наименование Группы техкарт

Массовое создание и обновление Групп техкарт

Массовое создание и обновление Групп техкарт. В теле запроса нужно передать массив, содержащий JSON представления Групп техкарт, которые вы хотите создать или обновить. Обновляемые Группы техкарт должны содержать идентификатор в виде метаданных.

Удалить Группу техкарт

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы техкарт.

Response 200 (application/json) Успешное удаление Группы техкарт.

Массовое удаление Групп техкарт

В теле запроса нужно передать массив, содержащий JSON метаданных Групп техкарт, которые вы хотите удалить.

Метаданные Групп техкарт

Метаданные Групп техкарт

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

Название Тип Описание
meta Meta Метаданные Групп техкарт
Обязательное при ответе

Структура отдельного объекта, представляющего доп. поле подробно описана в разделе Работа с дополнительными полями.

Группа техкарт

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы техкарты

Получить Группу техкарт

Изменить Группу техкарт

Запрос на обновление Группы техкарт с указанным id. В теле запроса можно указать только те поля, которые необходимо изменить у Группы техкарт, кроме тех, что помечены Только для чтения в описании атрибутов Группы техкарт. Для обновления поля pathName нужно обновить ссылку на родительскую Группу техкарт, т.е. обновить поле processingplanfolder

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы техкарт.

Группа товаров

Группы товаров

Средствами JSON API можно создавать и обновлять сведения о Группах товаров, запрашивать списки Групп товаров и сведения по отдельным Группам товаров. Кодом сущности для Группы товаров в составе JSON API является ключевое слово productfolder. По данной сущности можно осуществлять контекстный поиск с помощью специального параметра search. Подробнее можно узнать по ссылке.

Поиск среди объектов групп товаров на соответствие поисковой строке будет осуществлен по следующим полям:

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

Название Тип Фильтрация Описание
accountId UUID = != ID учетной записи
Обязательное при ответе Только для чтения
archived Boolean = != Добавлена ли Группа товаров в архив
Обязательное при ответе Только для чтения
code String(255) = != ~ ~= =~ Код Группы товаров
description String(4096) = != ~ ~= =~ Описание Группы товаров
effectiveVat Int Реальный НДС %
Только для чтения
effectiveVatEnabled Boolean Дополнительный признак для определения разграничения реального НДС = 0 или "без НДС". (effectiveVat = 0, effectiveVatEnabled = false) -> "без НДС", (effectiveVat = 0, effectiveVatEnabled = true) -> 0%.
Только для чтения
externalCode String(255) = != ~ ~= =~ Внешний код Группы товаров
Обязательное при ответе
group Meta = != Метаданные отдела сотрудника
Обязательное при ответе Expand
id UUID = != ID Группы товаров
Обязательное при ответе Только для чтения
meta Meta Метаданные Группы товаров
Обязательное при ответе
name String(255) = != ~ ~= =~ Наименование Группы товаров
Обязательное при ответе Необходимо при создании
owner Meta = != Метаданные владельца (Сотрудника)
Expand
pathName String = != ~ ~= =~ Наименование Группы товаров, в которую входит данная Группа товаров
Обязательное при ответе Только для чтения
productFolder Meta Ссылка на Группу товаров, в которую входит данная Группа товаров, в формате Метаданных
Expand
shared Boolean = != Общий доступ
Обязательное при ответе
taxSystem Enum Код системы налогообложения. Подробнее тут
updated DateTime = != < > <= >= Момент последнего обновления сущности
Обязательное при ответе Только для чтения
useParentVat Boolean Используется ли ставка НДС родительской группы. Если true для единицы ассортимента будет применена ставка, установленная для родительской группы.
Обязательное при ответе
vat Int НДС %
vatEnabled Boolean Включен ли НДС для группы. С помощью этого флага для группы можно выставлять НДС = 0 или НДС = "без НДС". (vat = 0, vatEnabled = false) -> vat = "без НДС", (vat = 0, vatEnabled = true) -> vat = 0%.

Код системы налогообложения

Значения поля taxSystem.

Значение Описание
GENERAL_TAX_SYSTEM ОСН
PATENT_BASED Патент
PRESUMPTIVE_TAX_SYSTEM ЕНВД
SIMPLIFIED_TAX_SYSTEM_INCOME УСН. Доход
SIMPLIFIED_TAX_SYSTEM_INCOME_OUTCOME УСН. Доход-Расход
TAX_SYSTEM_SAME_AS_GROUP Совпадает с группой
UNIFIED_AGRICULTURAL_TAX ЕСХН

Получить список групп товаров

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

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

Параметры

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

Создать новую группу товаров

Запрос на создание новой Группы товаров. Обязательные для создания Группы товаров поля:

Название Описание
name Наименование Группы товаров

Массовое создание и обновление Групп товаров

Массовое создание и обновление Групп товаров. В теле запроса нужно передать массив, содержащий JSON представления Групп товаров, которые вы хотите создать или обновить. Обновляемые Группы товаров должны содержать идентификатор в виде метаданных.

Удалить Группу товаров

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы товаров.

Response 200 (application/json) Успешное удаление Группы товаров.

Массовое удаление Групп товаров

В теле запроса нужно передать массив, содержащий JSON метаданных Групп товаров, которые вы хотите удалить.

Метаданные Групп товаров

Метаданные Групп товаров

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

Название Тип Описание
meta Meta Метаданные Групп товаров
Обязательное при ответе
attributes Array(Object) Коллекция доп. полей

Структура отдельного объекта, представляющего доп. поле подробно описана в разделе Работа с дополнительными полями.

Отдельное доп. поле

Параметры

Параметр Описание
id string (required) Example: 5290a290-0313-11e6-9464-e4de00000020 id Доп. поля.

Отдельное доп. поле

Группа товаров

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы товаров.

Получить Группу товаров

Изменить Группу товаров

Запрос на обновление Группы товаров с указанным id. В теле запроса можно указать только те поля, которые необходимо изменить у Группы товаров, кроме тех, что помечены Только для чтения в описании атрибутов Группы товаров. Для обновления поля pathName нужно обновить ссылку на родительскую Группу товаров, т.е. обновить поле productFolder

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Группы товаров.

Договор

Договоры

Средствами JSON API можно создавать и обновлять сведения о Договорах, запрашивать списки Договоров и сведения по отдельным Договорам. Кодом сущности для Договора в составе JSON API является ключевое слово contract. Больше о Договорах и работе с ними в основном интерфейсе вы можете прочитать в нашей службе поддержки по этой ссылке. По данной сущности можно осуществлять контекстный поиск с помощью специального параметра search. Подробнее можно узнать по ссылке. Поиск с параметром search отличается от других тем, что поиск не префиксный, без токенизации и идет только по одному полю одновременно. Ищет такие строки, в которые входит значение строки поиска.

Поиск среди объектов Договора на соответствие поисковой строке будет осуществлен по следующим полям:

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

Название Тип Фильтрация Описание
accountId UUID = != ID учетной записи
Обязательное при ответе Только для чтения
agent Meta = != Метаданные Контрагента
Обязательное при ответе Expand Необходимо при создании
agentAccount Meta Метаданные счета контрагента
Обязательное при ответе Expand
archived Boolean = != Добавлен ли Договор в архив
Обязательное при ответе
attributes Array(Object) Операторы доп. полей Коллекция доп. полей
code String(255) = != ~ ~= =~ Код Договора
contractType Enum Тип Договора. Возможные значения: Договор комиссии, Договор купли-продажи
Обязательное при ответе
description String(4096) = != ~ ~= =~ Описание Договора
externalCode String(255) = != ~ ~= =~ Внешний код Договора
Обязательное при ответе
group Meta = != Метаданные отдела сотрудника
Обязательное при ответе Expand
id UUID = != ID Договора
Обязательное при ответе Только для чтения
meta Meta Метаданные Договора
Обязательное при ответе
moment DateTime = != < > <= >= Дата Договора
Обязательное при ответе
name String(255) = != ~ ~= =~ Номер договора
Обязательное при ответе
organizationAccount Meta Метаданные счета вашего юрлица
Expand
ownAgent Meta = != Метаданные вашего юрлица
Обязательное при ответе Expand Необходимо при создании
owner Meta = != Метаданные владельца (Сотрудника)
Expand
rate Meta Метаданные валюты
Обязательное при ответе Expand
rewardPercent Int Вознаграждение в процентах (от 0 до 100)
rewardType Enum Тип Вознаграждения. Возможные значения: Процент от суммы продажи, Не рассчитывать
shared Boolean = != Общий доступ
Обязательное при ответе
state Meta = != Метаданные статуса договора
Expand
sum Int Сумма Договора
Обязательное при ответе
printed Boolean Напечатан ли документ
Обязательное при ответе Только для чтения
published Boolean Опубликован ли документ
Обязательное при ответе Только для чтения
updated DateTime = != < > <= >= Момент последнего обновления сущности
Обязательное при ответе Только для чтения

Таблица полей, их значений и их значений в JSON представлении:

Имя поля Возможные Значения Соответствующее значение в JSON Значение по умолчанию
contractType Договор комиссии Commission Договор купли-продажи
Договор купли-продажи Sales
rewardType Процент от суммы продажи PercentOfSales Не рассчитывать
Не рассчитывать None

О работе с доп. полями Договоров можно прочитать здесь

Получить список Договоров

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

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

Параметры

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

Создать новый Договор

Запрос на создание нового Договора. Обязательные для создания Договора поля:

Название Тип Описание
name String(255) Номер договора
Обязательное при ответе
ownAgent Meta Метаданные вашего юрлица
Обязательное при ответе Expand Необходимо при создании
agent Meta Метаданные Контрагента
Обязательное при ответе Expand Необходимо при создании

Массовое создание и обновление Договоров

Массовое создание и обновление Договоров. В теле запроса нужно передать массив, содержащий JSON представления Договоров, которые вы хотите создать или обновить. Обновляемые Договора должны содержать идентификатор в виде метаданных.

Удалить договор

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Договора.

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

Массовое удаление Договоров

В теле запроса нужно передать массив, содержащий JSON метаданных Договоров, которые вы хотите удалить.

Метаданные Договоров

Метаданные Договоров

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

Название Тип Описание
meta Meta Метаданные Заказа покупателя
Обязательное при ответе
attributes Array(Object) Коллекция доп. полей
states Array(Object) Массив статусов договоров
createShared Boolean Создавать новые договора с меткой "Общий"
Обязательное при ответе

Структура отдельного объекта, представляющего доп. поле подробно описана в разделе Работа с дополнительными полями.

Отдельное доп. поле

Параметры

Параметр Описание
id string (required) Example: 5290a290-0313-11e6-9464-e4de00000020 id Доп. поля.

Отдельное доп. поле

Договор

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Договора.

Получить Договор

Изменить Договор

Запрос на обновление отдельного Договора с указанным id. При обновлении полей organization и agent нужно также обновить поля organizationAccount и agentAccount соответственно, иначе произойдет ошибка.

Параметры

Параметр Описание
id string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Договора.