Аудит
Аудит
Сервис МойСклад накапливает сведения о всех событиях в системе. Эта часть сервиса называется аудит, а накопленные сведения - событиями аудита. Изменения по конкретной сущности доступны пользователям при наличии прав на просмотр.
Основными сущностями в аудите JSON API являются контексты и события. События содержат подробную информацию о произошедших изменениях конкретной сущности или операции, например, изменение значения поля. Контекстом называются одно или несколько связанных событий, например, массовое обновление товаров. События отражают конкретные произошедшие изменения, связанные с одной сущностью, контекст же содержит только общую информацию событий, относящихся к нему.
Пользователь может получить подробную информацию об изменениях в системе через JSON API двумя способами:
- Просмотр общей ленты аудита
Для просмотра общей ленты аудита через JSON API пользователь может запросить список контекстов, которые будут содержать общую информацию об изменениях, произошедших в системе, а также ссылку на связные с ними события. Для просмотра подробной информации по отдельному контексту, необходимо запросить события по конкретному контексту. В ответе пользователю будет содержаться детальная информация об изменениях сущности, произошедших в рамках данного обновления в системе, в специальном формате diff
- Просмотр событий по отдельной сущности
Для того, чтобы получить события, связанные с конкретной сущностью, необходимо воспользоваться запросом событий по сущности. Ответ будет содержать список событий, относящихся к данной сущности или операции, где в специальном поле diff будут отражены подробные изменения полей сущности или операции.
Контексты
В аудите под контекстом подразумевается одно или несколько связанных событий, например, массовое обновление товаров. События отражают конкретные произошедшие изменения, например, изменение значения поля. Контекст же содержит только общую информацию событий, относящихся к нему.
Атрибуты сущности
Название | Тип | Описание |
---|---|---|
entityType | Enum | Название сущности (поле присутствует, только если оно одинаково у всех Событий в рамках данного Контекста)Обязательное при ответе Только для чтения |
eventType | Enum | Действие Событий (поле присутствует, только если оно одинаково у всех Событий в рамках данного Контекста)Обязательное при ответе Только для чтения |
events | Array(Object) | Список методанных Событий аудитаОбязательное при ответе Только для чтения |
id | UUID | ID КонтекстаОбязательное при ответе Только для чтения |
info | String(255) | Краткое описаниеТолько для чтения |
meta | Meta | Метаданные сущности КонтекстаОбязательное при ответе Только для чтения |
moment | DateTime | Дата измененияОбязательное при ответе Только для чтения |
objectCount | Int | количество измененных объектовОбязательное при ответе Только для чтения |
objectType | Enum | Тип сущностей, с которыми связанно данное изменение. Поле присутствует только для entityType = entitysettings или statesettings или templatesettings Обязательное при ответе |
source | Enum | Тип измененияОбязательное при ответе Только для чтения |
supportAccess | Boolean | Был ли доступ произведен поддержкой от имени пользователя. Флаг отсутствует, если значение falseОбязательное при ответе Только для чтения |
uid | String(255) | Логин СотрудникаОбязательное при ответе Только для чтения |
Возможные значение параметра source
преставлены ниже:
Значение параметра source | Описание |
---|---|
registration | Регистрация аккаунта |
clearrecyclebin | Автоматическая очистка корзины |
combine | Объединение |
connectors | Синхронизация с ИМ |
copy | Копирование |
emailsend | Отправка сообщения |
evotor | Синхронизация с Эвотор |
export | Экспорт |
exportediclient1c | Экспорт в 1С Клиент ЭДО |
import | Импорт |
import1c | Импорт из 1С |
importAlfabank | Импорт из Альфа-Банка |
importModulebank | Импорт из Модульбанка |
importTinkoffbank | Импорт из Тинькофф Банка |
importTochkabank | Импорт из Точка Банка |
importediclient1c | Импорт в 1С Клиент ЭДО |
loginlogout | Вход или выход из МоегоСклада |
phone-1.0 | Phone API |
posapi | POS API |
remap-1.0 | JSON API 1.0 |
remap-1.1 | JSON API 1.1 |
remap-1.2 | JSON API 1.2 |
restapi | REST API |
retail | Точка продаж |
app | Все действия |
Возможные значение параметров eventType
и entityType
приведены в разделе Фильтры
Получить Контексты
Запрос всех изменений. Результат: Объект JSON, включающий в себя поля:
Название | Тип | Описание |
---|---|---|
meta | Meta | Метаданные о выдаче, |
context | Meta | Метаданные о сотруднике, выполнившем запрос. |
rows | Array(Object) | Массив JSON объектов, представляющих собой изменения. |
Параметры
Параметр | Описание |
---|---|
limit | number (optional) Default: 25 Example: 25 Максимальное количество сущностей для извлечения.Допустимые значения 1 - 100 . |
offset | number (optional) Default: 0 Example: 40 Отступ в выдаваемом списке сущностей. |
filter | string (optional) Example: source=jsonapi Подробное описание параметра в разделе Фильтрация выборки с помощью параметра filter Атрибуты фильтрации для Контекстов аудита представлены в разделе Фильтры |
Получить Контексты c фильтрацией
Параметры
Параметр | Описание |
---|---|
filter | string (optional) Example: filter=entityType=customerorder фильтр по типу сущности |
Пример запроса с фильтрацией контекстов по типу "заказ покупателя" https://api.moysklad.ru/api/remap/1.2/audit?filter=entityType=customerorder
События
События аудита содержат подробную информацию о произошедших изменениях, например, изменение значения поля.
Типы Событий
События делятся на несколько типов, начиная от аудита создания сущности и заканчивая аудитом печати, и состоят из сведений о времени события и произошедших во время этого события изменениях. Различные типы событий отличаются друг от друга форматом поля diff, подробнее о котором ниже.
- Регистрация аккаунта
- Создание сущности или документа
- Обновление сущности или документа
- Удаление сущности или документа
- Помещение в корзину
- Восстановление из корзины
- Помещение в архив
- Восстановление из архива
- Публикация документов
- Отправка писем
- Смена токена
Атрибуты сущности
Название | Тип | Описание |
---|---|---|
additionalInfo | String(4096) | Дополнительная информация о СобытииТолько для чтения |
audit | Enum | Метаданные контекстаОбязательное при ответе Только для чтения |
diff | Object | Изменения, произошедшие в Событии, в специальном формате diff, описанном в разделе Формат поля diffОбязательное при ответе Только для чтения |
entity | Meta | Метаданные сущности. Не будет выводиться только для товаров, услуг, модификаций, комплектов удаленных до 20.08.2017Только для чтения |
entityType | Enum | Название сущностиОбязательное при ответе Только для чтения |
eventType | Enum | Действие СобытияОбязательное при ответе Только для чтения |
moment | DateTime | Время создания событияОбязательное при ответе Только для чтения |
name | String(255) | Имя сущностиОбязательное при ответе Только для чтения |
objectCount | Int | количество измененных объектовОбязательное при ответе Только для чтения |
objectType | Enum | Тип сущностей, с которыми связанно данное изменение. Поле присутствует только для entityType = entitysettings или statesettings или templatesettings Обязательное при ответе |
source | Enum | Тип измененияОбязательное при ответе Только для чтения |
supportAccess | Boolean | Был ли доступ произведен поддержкой от имени пользователя. Флаг отсутствует, если значение falseОбязательное при ответе Только для чтения |
uid | String(255) | Логин СотрудникаОбязательное при ответе Только для чтения |
Формат поля diff
В данном поле отображены изменения полей сущности, произошедшие в Событии.
Сведения об изменениях в полях сущностей отображаются по всем полям, включая те, к которым нет доступа через JSON API. Для полей, используемых в JSON API для сущностей и документов, название атрибута сущности будет совпадать с названием соответствующего поля, описанного в разделе для данной сущности или документа.
Ниже приведены возможные форматы поля diff
для разных типов Событий.
Для событий создания сущности поле diff
будет отсутствовать.
Событие регистрации
Название | Тип | Описание |
---|---|---|
account | String(255) | Название аккаунтаОбязательное при ответе Только для чтения |
country | String(255) | Конфигурация аккаунта (страна)Обязательное при ответе Только для чтения |
События публикации документов
Название | Тип | Описание |
---|---|---|
templateName | String(255) | Название шаблонаОбязательное при ответе Только для чтения |
publicationHref | URL | Ссылка на публикациюОбязательное при ответе Только для чтения |
События отправки писем
Название | Тип | Описание |
---|---|---|
senderEmail | String(255) | Почта отправителя письмаОбязательное при ответе Только для чтения |
targetEmail | String(255) | Почта получателя письмаОбязательное при ответе Только для чтения |
subjectEmail | String(255) | Тема письмаОбязательное при ответе Только для чтения |
text | String(255) | Текст письмаОбязательное при ответе Только для чтения |
События удаления сущностей
Название | Тип | Описание |
---|---|---|
attributeName | String(255) | Название атрибута сущностиОбязательное при ответе Только для чтения |
oldValue | Boolean | Значение атрибута до удаленияОбязательное при ответе Только для чтения |
События обновления сущностей, перемещения/восстановления из корзины, перемещение/восстановление из архива
Название | Тип | Описание |
---|---|---|
attributeName | String(255) | Название атрибута сущностиОбязательное при ответе Только для чтения |
oldValue | Boolean | Значение атрибута до удаленияОбязательное при ответе Только для чтения |
newValue | Boolean | Значение атрибута после обновленияОбязательное при ответе Только для чтения |
Получить События по Контексту
Запрос на получение событий Контекста с указанным id. Результат: Объект JSON, включающий в себя поля:
Название | Тип | Описание |
---|---|---|
meta | Meta | Метаданные о выдаче, |
context | Meta | Метаданные о сотруднике, выполнившем запрос. |
rows | Array(Object) | Массив JSON объектов, представляющих собой события. |
Параметры
Параметр | Описание |
---|---|
id | string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id Контекста. |
Получить События по Сущности
Запрос на получение событий по сущности с указанным id. Результат: Объект JSON, включающий в себя поля:
Название | Тип | Описание |
---|---|---|
meta | Meta | Метаданные о выдаче, |
context | Meta | Метаданные о сотруднике, выполнившем запрос. |
rows | Array(Object) | Массив JSON объектов, представляющих собой события. |
Параметры
Параметр | Описание |
---|---|
id | string (required) Example: 7944ef04-f831-11e5-7a69-971500188b19 id сущности. |
type | string (required) Example: product тип сущности. |
Фильтры
В JSON API сервиса МойСклад предусмотрена возможность фильтрации Контекстов аудита с помощью url параметр filter
.
Подробнее про данный параметр можно посмотреть в разделе Фильтрация выборки с помощью параметра filter
Фильтрация может осуществляться по полям, описанным ниже.
Атрибуты сущности
- moment - Параметр строкового типа. В качестве значения должна быть передана строка в формате дата + время с точностью до секунд.
Допустимые операторы для фильтрации по атрибуту moment
: ['>=', '<=']
Формат строки : ГГГГ-ММ-ДД ЧЧ:ММ:СС[.ммм]
, Часовой пояс: MSK
(Московское время).
Минимальное значение: 1970-01-01 03:00:00
. Максимальное значение даты также ограничено.
- employee -
Параметр строкового типа. В качестве значения должен быть передан
href
сущности сотрудника. В отфильтрованную выборку попадут все сущности аудита, автором изменений которых является данный пользователь.
Формат строки : href
- eventType - Параметр строкового типа. В качестве значения должен быть передан тип События, по которому должны быть отфильтрованы сущности аудита. Список возможных значений параметра:
Значение параметра eventType | Описание |
---|---|
registration | Регистрация |
bulkoperation | Массовая операция |
closepublication | Удаление публикации |
create | Создание сущностей |
delete | Удаление сущностей |
openpublication | Создание публикации |
Печать документа | |
puttoarchive | Помещение в архив |
puttorecyclebin | Помещение в корзину |
replacetoken | Смена токена для Точки продаж |
restorefromarchive | Извлечение из архива |
restorefromrecyclebin | Извлечение из корзины |
sendemailfromentity | Отправка письма |
update | Изменение сущностей |
- source - Параметр строкового типа. В качестве значения должен быть передан тип действия, по которому должны быть отфильтрованы сущности аудита. Список возможных значений параметра:
Значение параметра source | Описание |
---|---|
registration | Регистрация аккаунта |
clearrecyclebin | Автоматическая очистка корзины |
combine | Объединение |
connectors | Синхронизация с ИМ |
copy | Копирование |
emailsend | Отправка сообщения |
evotor | Синхронизация с Эвотор |
export | Экспорт |
exportediclient1c | Экспорт в 1С Клиент ЭДО |
import | Импорт |
importediclient1c | Импорт в 1С Клиент ЭДО |
jsonapi | JSON API (remap-1.0, remap-1.1, remap-1.2) |
loginlogout | Вход или выход из МоегоСклада |
phone-1.0 | Phone API |
posapi | POS API |
restapi | REST API |
retail | Точка продаж |
scriptor | Работа со сценариями |
- uid - Параметр строкового типа. В качестве значения должен быть передан логин сотрудника, по которому должны быть отфильтрованы события аудита.
- entityType - Параметр строкового типа. В качестве значения должно быть передано название сущности, по которой должны быть отфильтрованы сущности аудита. В качестве параметра может быть передано наименование из JSON API сущности/документа (move, enter, customerorder и т.д.) либо одно из значений следующего списка:
Значение параметра entityType | Описание |
---|---|
accountrole | Роль |
amiroconnectorsettings | Настройка синхронизации (Amiro) |
cmlconnectorsettings | Настройка синхронизации (CML) |
crptcancellation | Списание кодов маркировки |
crptdemand | Отгрузка маркированной продукции |
crptpackagecreation | Формирование упаковки |
crptpackagedisaggregation | Расформирование упаковки |
crptpackageitemremoval | Изъятие из упаковки |
ecwidconnectorsettings | Настройка синхронизации (Ecwid) |
entitysettings | Настройки сущностей |
evotorsetting | Настройка обмена с Эвотор |
processingplanfolder | Группа техкарт |
scripttemplate | Сценарий |
smartwebconnectorsettings | Настройка синхронизации (SmartWeb) |
statesettings | Настройки статусов |
templatesettings | Настройки шаблонов |
user | Пользователь |
usersettings | Настройки пользователя |
vkconnectorsettings | Настройка синхронизации (Вконтакте) |
yandexconnectorsettings | Настройка синхронизации (Яндекс.Маркет) |
ymlconnectorsettings | Настройка синхронизации (YML) |
Также можно отфильтровать контексты аудита по пользовательскому справочнику. Для этого в качестве параметра entityType необходимо передать href пользовательского справочника. Пример: https://api.moysklad.ru/api/remap/1.2/entity/customentity/eaacabaf-2655-11e6-8a84-bae500000045
Получить Фильтры
Запрос всех фильтров аудита, доступных пользователю. Результат: Объект JSON, включающий в себя поля:
Название | Описание |
---|---|
eventType | действия, по которым могут быть отфильтрованы сущности аудита |
source | типы действий, по которым могут быть отфильтрованы сущности аудита |
entityType | названия сущностей, по которым могут быть отфильтрованы сущности аудита |