|
|
Программный интерфейс приложений (API) для
работы с ИС «ЭДО.Поток»
Инструкция для разработчиков
Версия 4.0 от 12.05.2022
Введение
Информационной системе «ЭДО.Поток» реализован программный интерфейс приложений (API). API
позволяет сторонним приложениям работать с данными информационной системы (ИС) «ЭДО.Поток». В
инструкции описаны методы API для получения данных из информационной системы (ИС) «ЭДО.Поток»
сторонними приложениями. Взаимодействие клиентского приложения и API производится путем
отправки приложением HTTP-запросов к серверу и получением ответов на них. Для отправки запросов и
получения ответов используется протокол HTTPS.
В случае возникновения проблем использования ИС «ЭДО.Поток», подробно опишите их и отправьте на
edo@edo.ru.
Ниже описаны запросы HTTP, которыми реализуются функции API по работе с ИС «ЭДО.Поток».
Общий вид запроса и ответа в API
Кодировка, используемая в запросах и ответах - Windows-1251. Запросы выполняются методами POST и
GET, параметры запроса располагаются в структуре данных формата JSON, передаваемой в блоке данных
запроса (при использовании POST), также параметры могут передаваться в строке запроса (при
использовании GET).
Ответы выдаются сервером в формате JSON и, в случае успешности ответа согласно его заголовку (код
ответа по протоколу HTTP равен 200), данные имеют следующий обобщенный вид:
{
"status": {
"code": 0,
"message": "string"
}
"result": {
}
}
Здесь:
«result» - произвольный тип данных (часто - структура данных, вид которой определяется видом
запроса);
«status» - структура, описывающая состояние обработки запроса.
Состав и назначение полей см. в раздел 1.2. таблицу 1.1.
1. Начало работы в ИС «ЭДО.Поток»
1.1 Регистрация в ИС «ЭДО.Поток»
Метод позволяет зарегистрироваться в ИС «ЭДО.Поток» и получить логин и пароль. Логин и пароль
необходим для авторизации и работы с API.
Используется метод POST следующего вида:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос должен выглядеть следующим образом:
Content-Type: application/json
{
certificate: "MIIKJTCCCdKgAwIBAgIRAgHuzADNrbL
Строка"
email: "belka@ofd.ru"
fullLegalAddress: "г Москва"
fullName: "ИП Пирогова Александра Андреевна"
ifns: "7700"
inn: "772863973810"
kpp: ""
legalAddress: {fullName: "г Москва", area: null, building: null, city: "Москва",
houseNumber: null, office: null,…}
area: null
building: null
city: "Москва"
fullName: "г Москва"
houseNumber: null
office: null
postalCode: "101000"
region: "Москва"
settlement: null
street: null
mailAddress: "г Москва"
name: "Виктория"
ogrn: "314774617000610"
password: "TestTest94"
phone: "99999999999"
}
Назначение полей структуры запроса регистрации приведено в таблице 1.1.
Таблица 1.1. Поля структуры запроса регистрации
Параметр
Вложенные поля
Формат значения
Описание
certificate
String
Сертификат, экспортированный в формате base64
email
String
Email клиента
fullLegalAddress
String
Юридический адрес клиента (полный)
fullName
String
Полное название организации
ifns
String
Код ИФНС, состоит из 4-х цифр
inn
String
ИНН
kpp
String
КПП
Параметр
Вложенные поля
Формат значения
Описание
Структура
Юридический адрес клиента (по составляющим)
Юридический адрес клиента (единое название),
fullName
String
например «г Москва, ул Хуторская 2-я, д 38А стр 15»
area
String
Область
city
String
Город
street
String
Улица
legalAddress
houseNumber
String
Номер здания
building
String
Строение/корпус
office
String
Номер офиса
postalCode
String
Почтовый индекс
region
String
Регион
settlement
String
Поселок
Адрес компании для корреспонденции (полный,
mailAddress
mailAddress
String
например «г Москва, ул Хуторская 2-я, д 38А стр 15»)
name
String
ФИО пользователя
ogrn
String
ОГРН/ОГРИП компании
password
String
Пароль от личного кабинета EDO.ru
phone
String
Номер телефона
В ответ на запрос сервер возвращает структуру данных (приведены примеры значений):
{
"result": {
"clientId": "string",
"password": "string"
},
"status": {
"code": 0,
"message": "some message here"
}
}
Назначение полей структуры ответа на запрос регистрации приведено в таблице 1.2.
Таблица 1.2. Поля структуры ответа на запрос регистрации
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
result
clientId
String
логин клиента
password
String
пароль клиента
Структура
Состояние запроса
status
code
Integer
Числовое представление статуса
message
String
Сообщение с описанием статуса/ошибки
Доступ в ИС «ЭДО.Поток» возможен при использовании учетной записи пользователя.
Для получения доступа к учетной записи пользователя необходимо успешно пройти процедуру
авторизации с помощью механизма AuthToken.
После успешной авторизации пользователь получает токен. И далее к каждому HTTP-запросу к
ЭДО.Поток требуется добавлять HTTP-заголовок Authorization с параметром Token {TOKEN}.
Authorization: Token {TOKEN}
Здесь: {TOKEN} - токен, возвращенный в результате авторизации (см. п. 1.1.).
Например, команда получения списка доступных входящих документов транслируется в следующий
HTTP-запрос
Authorization: Token 99a6f59f-4b2d-4b85-a8e8-0b3231983573
1.2. Авторизация в сервисе
Авторизация может производиться двумя способами: с помощью логина и пароля или с помощью
механизма AuthToken.
После успешной авторизации любым способом пользователь получает токен. И далее к каждому HTTP-
запросу к ЭДО.Поток требуется добавлять HTTP-заголовок Authorization с параметром Token {TOKEN1}.
Authorization: Token {TOKEN1}
Здесь: {TOKEN1} - токен, возвращенный в результате авторизации (см. пп. 1.2.1 Авторизация через
AuthToken и 2.2).
Например, команда получения списка доступных входящих документов транслируется в следующий
HTTP-запрос
Authorization: Token 99a6f59f-4b2d-4b85-a8e8-0b3231983573
1.2.1 Авторизация через AuthToken
Авторизация посредством механизма AuthToken предполагает использование квалифицированной
электронной подписи (КЭП). Для авторизации необходимо проделать следующую последовательность
действий.
1. Со стороны клиента должен быть направлен запрос следующего вида:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{fprint1} - отпечаток сертификата.
В ответ на запрос сервер возвращает структуру данных (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": "c698a3c9-d22f-4a93-9a8d-d8310cac326a"
}
Назначение полей структуры ответа на запрос авторизации приведено в таблице 1.3.
Таблица 1.3. Поля структуры ответа на запрос авторизации
Формат
Параметр
Вложенные поля
Описание
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Поле с ключом «result» имеет тип данных «Строка», и в
нем возвращается строка для подписания, которая
result
String
будет использована в следующих шагах.
Действителен в течение суток с момента получения
2. Клиент подписывает строку для подписания с помощью КЭП, а затем отправляет ее вместе с
подписью (CMS detached container), закодированную по алгоритму “Base64”, на тот же адрес URL с
помощью запроса следующего вида:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Тело запроса содержит следующую структуру (приведены примеры значений):
Content-Type: application/json
{
"cmsDetached": "UTA9STK1...",
"content": "IDMYUTA9STK11070FQL..."
}
Назначение полей тела запроса на получение токена приведено в таблице 1.4.
Таблица 1.4. Поля структуры запроса на получение токена
Формат
Параметр
Описание
значения
Результат подписания строки (параметр result в ответе на запрос GET /auth-
with-ds), закодированный с помощью “Base64”. Результат, после кодировки
cmsDetached
String
должен быть представлен в виде строки (не забудьте удалить символы
переноса срок, например '\n' и '\r')
Сама строка для подписания, полученная на предыдущем шаге (параметр
content
String
result в ответе на запрос GET /auth-with-ds)
3. Сервер производит проверку переданной строки, и в случае успешной проверки возвращает структуру
данных (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
{
"sessionId": "440d14a5-9070-49e1-abcd-baa013ff23ad",
"edoOrgId": "2PS-24610035090000000000000095636522"
}
}
}
Назначение полей структуры ответа на запрос авторизации приведено в таблице 1.5.
Таблица 1.5. Поля структуры ответа на запрос авторизации
Формат
Параметр
Вложенные поля
Описание
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Параметры авторизации
Токен, далее используемый клиентом в качестве
дополнительного параметра в последующих запросах к
result
sessionId
String
API.
Действителен в течение суток с момента получения
edoOrgId
String
Ваш идентификатор участника ЭДО
1.2.2 Авторизация с помощью логина и пароля
Для авторизации с помощью логина и пароля применяется HTTP-запрос, в котором передаются логин и
пароль в формате JSON. Запрос имеет следующий вид:
Здесь: {VERSION} - обозначение текущей версии системы, по умолчанию равное v1, но впоследствии
номер версии может быть другим.
Пример запроса
Content-Type: application/json
{
"clientId": "2PS-0078414651",
"password": "PASSWORD"
}
Где:
clientId - уникальный идентификатор клиента в ИС «ЭДО.Поток»;
password - пароль клиента в «ЭДО.Поток». Для получения пароля обратитесь в техническую
поддержку edo@edo.ru
Оба поля являются обязательными для заполнения.
В ответ на запрос сервер возвращает структуру данных (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": "c698a3c9-d22f-4a93-9a8d-d8310cac326a"
}
Таблица 1.6. Поля структуры ответа на запрос авторизации
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Целое число
Код ответа на запрос (0 - OK)
message
Строка
Сообщение в ответе на запрос
Токен, далее используемый клиентом в качестве
result
Строка
дополнительного параметра в последующих запросах
к API
2. ЭДО.Поток
Запросы (функции) программного интерфейса приложений ИС «ЭДО.Поток» предназначены для
выполнения операций документооборота (пересылка, сохранение, подписание документов) для внешних
информационных систем, взаимодействующих с ИС «ЭДО.Поток». Большинство запросов и ответов имеет
вид, описанный в разделе 2, если входные и выходные данные будут другого вида, это будет
описываться дополнительно. Данные документов при передаче кодируются алгоритмом “Base64”.
Запросы API ИС «ЭДО.Поток» можно разделить на три группы: запросы, связанные с документами,
запросы связанные с клиентами и запросы, связанные с контрагентами. К запросам, связанным с
клиентами относится также и авторизация пользователя в системе, описанная в разделе 3.
2.1. Документооборот
2.1.1. УПД/УКД
Универсальный передаточный документ (УПД) можно использовать как:
счет-фактуру (функция СЧФ);
первичный документ, подтверждающий совершение хозяйственной операции, например
накладную или акт (функция СЧФДОП);
документ, который совмещает в себе счет-фактуру и первичный документ, подтверждающий
совершение хозяйственной операции (функция ДОП).
Универсальный корректировочный документ (УКД) можно использовать как:
корректировочную счет-фактуру (функция КСЧФ);
документ об изменении стоимости в первичном документе (функция КСЧФДИС);
документ, который совмещает в себе корректировочную счет-фактуру и документ об изменении
стоимости в первичном документе (функция ДИС).
Форматы
Тип
Документ
Подробное описание
Форматы
документа
в ЭДО.Поток
Приказ №93 (устарел)
Счет-фактура
Приказ №155 (устарел)
1
УПД с функцией СЧФ
Приказ №820
Счет-фактура
Приказ №93 (устарел)
Счет-фактура (исправительный)
Приказ №155 (устарел)
9
УПД (исправительный) с функцией СЧФ
Приказ №820
Приказ №93 (устарел)
Счет-фактура Корректировочный
Приказ №189 (устарел)
2
УКД с функцией КСЧФ
Счет-фактура
Приказ №736
Корректировочный
Счет-фактура Корректировочный
Приказ №93 (устарел)
(исправительный)
Приказ №189 (устарел)
10
УКД (исправительный) с функцией КСЧФ
Приказ №736
Приказ №155 (устарел)
УПД с функциями СЧФДОП и ДОП
8
Приказ №820
УПД (исправительный) с функциями
Приказ №155 (устарел)
УПД
30
СЧФДОП и ДОП
Приказ №820
Приказ №155 (устарел)
Титул покупателя УПД
11
Приказ №820
Приказ №189 (устарел)
УКД с функциями КСЧФДИС и ДИС
12
Приказ №736
УКД (исправительный) с функциями
Приказ №189 (устарел)
УКД
31
КСЧФДИС и ДИС
Приказ №736
Приказ №189 (устарел)
Титул покупателя УКД
13
Приказ №736
Порядок обмена по приказу 14Н
УПД с функцией СЧФ / УКД с функцией КСЧФ
УПД с функцией СЧФДОП / УКД с функцией КСЧФДИС
2.1.1. Описание "Action"
«Action»- это список возможных процедур с документами. Список возможных процедур выводится в
соответствии с документом. В таблице 2.2. описаны процедуры с документами в соответствие с Action.
Таблица 2.2. Описание процедур с документами в соответствие с Action
Action
Документы
Действия
Описания процедуры
Для подписания документа
требуется:
1. Запросить извещение о
получении (ИОП) методом
"Сформировать ИОП", подписать
КЭП и отправить методом
W_BuyerTitle_Accept_Sign_Title_Iop
Подписать
"Отправить ИОП".
2. Запросить титул покупателя
методом "Сформировать титул
покупателя", подписать КЭП и
отправить методом "Отправить
титул покупателя".
Извещение о получении (ИОП) уже
успешно подписано, осталось
запросить титул покупателя
W_BuyerTitle_Accept_Sign_Title
Подписать
методом "Сформировать титул
покупателя", подписать КЭП и
отправить методом "Отправить
титул покупателя".
1. Запросить извещение о
получении (ИОП) методом
"Сформировать ИОП", подписать
КЭП и отправить методом
"Отправить ИОП".
W_BuyerTitle_Accept_Sign_Ukd_Title_Iop
УПД (функция СЧФДОП),
Подписать
2. Запросить титул покупателя
УКД (функция
методом "Сформировать титул
КСЧФДИС), в том числе
покупателя", подписать КЭП и
исправительные.
отправить методом "Отправить
Порядок обмена
титул покупателя".
согласно Приказу 14н
Извещение о получении (ИОП) уже
успешно подписано, осталось
запросить титул покупателя
W_BuyerTitle_Accept_Sign_Ukd_Title
Подписать
методом "Сформировать титул
покупателя", подписать КЭП и
отправить методом "Отправить
титул покупателя".
1. Запросить извещение о
получении (ИОП) методом
"Сформировать ИОП", подписать
КЭП и отправить методом
Отказать в
"Отправить ИОП".
W_BuyerTitle_Reject_Sign_Uou_Iop
подписи
2. Запросить Уведомление об
уточнении (УОУ) методом
"Сформировать УОУ", подписать КЭП
и отправить методом "Отправить
УОУ".
Извещение о получении (ИОП) уже
успешно подписано, осталось
запросить Уведомление об
Отказать в
W_BuyerTitle_Reject_Sign_Uou
уточнении (УОУ) методом
подписи
"Сформировать УОУ", подписать КЭП
и отправить методом "Отправить
УОУ".
Action
Документы
Действия
Описания процедуры
1. Запросить извещение о
получении (ИОП) методом
"Сформировать ИОП", подписать
КЭП и отправить методом
Запросить
"Отправить ИОП".
Wo_BuyerTitle_Reject_Sign_Uou_Iop
уточнение
2. Запросить Уведомление об
уточнении (УОУ) методом
"Сформировать УОУ", подписать КЭП
Счет-фактура,
и отправить методом "Отправить
корректировочная счет-
УОУ".
фактура, УПД (функция
Извещение о получении (ИОП) уже
СЧФ), УКД (функция
подписано или по схеме работы с
ксчф), в том числе
некоторыми операторами ЭДО ИОП
исправительные.
не нужен.
Порядок обмена
Запросить
Wo_BuyerTitle_Reject_Sign_Uou
Осталось запросить Уведомление об
согласно Приказу 14н
уточнение
уточнении (УОУ) методом
"Сформировать УОУ", подписать КЭП
и отправить методом "Отправить
УОУ".
Запросить извещение о получении
Подтвердить
(ИОП) методом "Сформировать
Wo_BuyerTitle_Accept_Sign_Iop
получение
ИОП", подписать КЭП и отправить
методом "Отправить ИОП"
УПД (функция СЧФДОП,
ActionTakeUPD
ДОП), в том числе
Подписать
исправительные.
УКД (функция
ActionTakeUKD
КСЧФДИС), в том числе
Подписать
исправительные.
Неформализованные
ActionSign
документы с запросом
Подписать
подписи, например,
договор,
дополнительное
ActionSign_FastFinished
соглашение, акт, акт
Подписать
сверки, накладная.
Action
Документы
Действия
Описания процедуры
Для подписания документа
требуется:
1. Запросить извещение о
получении (ИОП) методом
"Сформировать ИОП", подписать
W_2ndSgnRqrd_U10d_Accept_Sign_Orig_Doc_Iop
Подписать
КЭП и отправить методом
"Отправить ИОП".
2. Подписать сам документ и
отправить подпись методом
"Отправить подпись на
неформализованный документ ".
Извещение о получении (ИОП) уже
успешно подписано, осталось
подписать сам документ и
W_2ndSgnRqrd_U10d_Accept_Sign_Orig_Doc
Подписать
Неформализованные
отправить подпись методом
документы с запросом
"Отправить подпись на
подписи, например,
неформализованный документ ".
договор,
Для отказа в подписи требуется:
дополнительное
1. Запросить извещение о
соглашение, акт, акт
получении (ИОП) методом
сверки, накладная.
"Сформировать ИОП", подписать
КЭП и отправить методом
Отказать в
W_2ndSgnRqrd_U10d_Reject_Sign_Uou_Iop
"Отправить ИОП".
подписи
2. Запросить Уведомление об
уточнении (УОУ) методом
"Сформировать УОУ", подписать КЭП
и отправить методом "Отправить
УОУ".
Извещение о получении (ИОП) уже
успешно подписано, для отказа в
подписи осталось запросить
Отказать в
W_2ndSgnRqrd_U10d_Reject_Sign_Uou
Уведомление об уточнении (УОУ)
подписи
методом "Сформировать УОУ",
подписать КЭП и отправить методом
"Отправить УОУ".
Для принятия документа требуется
запросить извещение о получении
WO_2ndSgnRqrd_U10d_Accept_Sign_Iop
Принять
(ИОП) методом "Сформировать
ИОП", подписать КЭП и отправить
методом "Отправить ИОП".
Для запроса уточнения требуется:
1. Запросить Уведомление об
уточнении (УОУ) методом
"Сформировать УОУ", подписать КЭП
и отправить методом "Отправить
Неформализованные
Запросить
WO_2ndSgnRqrd_U10d_Reject_Sign_Uou_Iop
УОУ".
документы без запроса
уточнение
2.Затем запросить извещение о
подписи, например
получении (ИОП) методом
счет, письмо.
"Сформировать ИОП", подписать
КЭП и отправить методом
"Отправить ИОП".
Извещение о получении (ИОП) уже
успешно подписано, для запроса
уточнения осталось запросить
Запросить
WO_2ndSgnRqrd_U10d_Reject_Sign_Uou
Уведомление об уточнении (УОУ)
уточнение
методом "Сформировать УОУ",
подписать КЭП и отправить методом
"Отправить УОУ".
Action
Документы
Действия
Описания процедуры
Для отказа в подписи документа
требуется:
1. Запросить извещение о
получении (ИОП) методом "2.2.14.
Получение извещений на документ
(для получателя)", подписать КЭП и
Акт (формализованный),
Отказать в
отправить методом "2.2.2. Отправка
ActionRequestRefine_FastFinished
Накладная
подписи
документа".
(формализованная),
2. Запросить уведомление об
Неформализованные
уточнении (УОУ) методом "2.2.4.
документы с запросом
Сформировать ИОП/УОУ/Ответный
подписи: Произвольный
титул", подписать КЭП и отправить
документ, Договор,
методом "2.2.2. Отправка
Дополнительное
документа".
соглашение, Акт, Акт
Извещение о получении (ИОП) уже
сверки, Накладная, Счет,
успешно подписано, осталось
Письмо.
запросить уведомление об
Отказать в
уточнении (УОУ) методом "2.2.4.
ActionRequestRefine
подписи
Сформировать ИОП/УОУ/Ответный
титул", подписать КЭП и отправить
методом "2.2.3. Отправка
документа".
Для подписания документа
требуется:
1. Запросить извещение о
получении (ИОП) методом "2.2.13.
Получение извещений на документ
(для получателя)", подписать КЭП и
отправить методом "2.2.2. Отправка
ActionTakeZAKTPRM_FastFinished
Подписать
документа".
2. Запросить ответный титул
заказчика методом "2.2.4.
Акт (формализованный)
Сформировать ИОП/УОУ/Ответный
титул", подписать КЭП и отправить
методом "2.2.2. Отправка
документа".
Извещение о получении (ИОП) уже
успешно подписано, осталось
запросить титул заказчика методом
ActionTakeZAKTPRM
Подписать
"2.2.4. Сформировать
ИОП/УОУ/Ответный титул",
подписать КЭП и отправить методом
"2.2.2. Отправка документа".
Для подписания документа
требуется:
1. Запросить извещение о
получении (ИОП) методом "2.2.13.
Получение извещений на документ
(для получателя)", подписать КЭП и
отправить методом "2.2.2. Отправка
ActionTakeNAKLADN_FastFinished
Подписать
документа".
2. Запросить ответный титул
заказчика методом "2.2.4.
Накладная
Сформировать ИОП/УОУ/Ответный
(формализованная)
титул", подписать КЭП и отправить
методом "2.2.2. Отправка
документа".
Извещение о получении (ИОП) уже
успешно подписано, осталось
запросить титул заказчика методом
ActionTakeNAKLADN
Подписать
"2.2.4. Сформировать
ИОП/УОУ/Ответный титул",
подписать КЭП и отправить методом
"2.2.2. Отправка документа".
Доступно для всех
ActionRemove
неархивированных
Архивировать
документов
Доступно для всех
Восстановить
ActionRecover
архивированных
документ из
документов
архива
2.2. Работа с документами
2.2.1. Получение списка документов клиента
Для получения списка документов клиента используется HTTP-метод “GET”, в ответ на запрос
возвращается список документов клиента, в соответствии с переданным токеном. Список документов
клиента может быть запрошен как по всему времени пользования системой, так и по заданному периоду
(см. ниже).
Также может быть запрошен как полный список документов, так и его часть (страница), исходя из
принципа деления списка на страницы равной длины. Длина страницы и номер выдаваемой страницы
определяются в параметрах запроса (см. ниже).
Запрос на получение списка документов клиента имеет вид:
GET
2&pageIndex=INDEX&pageRecords=NUM1&sortKey=KEY1&sortDirection=DIR1&typeOfDate=TYPE
Все параметры в данном запросе приведены в таблице 2.3.
Таблица 2.3. Параметры запроса на получение списка документов
Заменяемая
Значение по
Обязательно
Параметр
Описание
строка
умолчанию
в запросе
{version}
Версия системы
v1
да
Направление документооборота.
Возможные значения:
direction
DIRECTION
in - входящие документы;
да
out - исходящие документы;
deleted - удаленные документы.
Начальная дата периода поиска
from
DATE1
документов в формате (dd.mm.yyyy), где
нет
dd - день, mm - месяц, yyyy - год
Конечная дата периода поиска документов
to
DATE2
нет
в формате (dd.mm.yyyy)
Номер запрашиваемой страницы списка
pageIndex
INDEX
документов; в виде десятичного целого
1
нет
числа
Количество записей на странице. В виде
pageRecords
NUM
1000
нет
десятичного целого числа
sortKey
KEY1
Столбец для сортировки
doc_id
нет
Порядок сортировки. Возможные значения:
sortDirection
DIR1
asc - восходящая (прямой порядок);
desc
нет
desc - нисходящая (обратный порядок).
Способ интерпретации даты в полях from и
to:
STATUS_CHANGE_DATE - дата изменения
статуса;
typeOfDate
TYPE
RECEIVED_DATE
нет
RECEIVED_DATE - дата получения
документа;
CREATION_IN_DOCUMENT_DATE - дата
формирования документа.
Далее здесь во всех запросах будет указана первая версия API (“v1”).
Пример запроса:
GET
ageIndex=1&pageRecords=50&sortKey=Doc_id&sortDirection=asc&docType=without_service_d ocs
Authorization: Token 99a6f59f-4b2d-4b85-a8e8-0b3231983573
Пример успешного ответа на запрос (приведены примеры значений, многоточие означает многократно
повторяющуюся структуру):
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"data": [
{
"direction": "OUT",
"docId": 2610,
"fromOrgId": "2PS-003245025998032",
"fromOrgName": "PS ST",
"toOrgId": "2PS-00440111648005445",
"toOrgName": "ИП Иванов",
"edoIdFrom": "000-00010035090000000000000095600000",
"edoIdTo": "000-0000000000003516438590065861909",
"docTypeId": 1,
"docTypeName": "Счёт-фактура",
"docStateId": 0,
"docStateName": "Создан",
"sfStateName": "Подписано отправителем",
"sfStateId": 3,
"innFrom": "000000000",
"innTo": "000000000000",
"kppFrom": "00000000",
"kppTo": null,
"content": null,
"xmlBody": "PD94bWwgdmVyc2...",
"imgBody": null,
"signature": "MIIGGAYJKoZIhvcNAQcCoII Строка...",
"certificateSerialNumber": null,
"fileName":
"ON_SCHFDOPPR_2PS-0069110332410689418822_2PS-007841465194609667_20180820_80aa0ec5-
d512-48a1-b504-7d84872d5dcf",
"docName": null,
"docNumber": "11321",
"docDate": "01.09.2020 00:00:00",
"sumAll": null,
"sumNds": null,
"updPokupatelyaId": null,
"marking": false,
"fingerprint": "4ff4214c64e8d8db2046defab0dAAAA",
"mcDocState": "MC_NONE",
"actions": [
"ActionRemove",
"ActionSentRefine",
"ActionVisualization"
],
"forDocument": [
null
],
"guid": null,
"updated": "2018-08-31 13:17"
"nds": false,
"signRequested": false
}
],
"pageInfo": {
"pageIndex": 1,
"pageRecords": 1000,
"pageCount": 1,
"sortKey": "doc_id",
"sortDirection": "desc"
}
}
}
Описание параметров структуры ответа приведены в таблице 2.4.
Таблица 2.4. Описание параметров структуры ответа на запрос списка документов
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Содержащая список документов
Структура
Данные списка документов
Признак документа:
direction
String
OUT - исходящий;
IN - входящий
Идентификационный номер (индекс)
docId
Integer
документа
fromOrgId
String
Идентификатор организации-отправителя
fromOrgName
String
Название организации-отправителя
Идентификатор в ЭДО организации-
edoIdFrom
String
отправителя
edoIdTo
String
Идентификатор в ЭДО организации-получателя
toOrgId
String
Идентификатор организации-получателя
docTypeId
Integer
Идентификатор типа документа
docTypeName
String
Название типа документа
docStateId
Integer
Идентификатор статуса (состояния) документа
sfStateName
String
Статус подписи документа
sfStateId
Integer
Идентификатор статуса подписи документа
innFrom
String
ИНН организации-отправителя
innTo
String
ИНН организации-получателя
kppFrom
String
КПП организации-отправителя
kppTo
String
КПП организации-получателя
Содержимое документа, закодированное с
content
String
помощью алгоритма “Base 64”
Содержит тело документа в виде двоичного
xmlBody
String
массива, закодированного с помощью
result
алгоритма «Base 64”
data
Содержит тело документа в виде двоичного
imgBody
String
массива, закодированного с помощью
алгоритма «Base 64”
Открепленная подпись в формате PKCS#7/CMS
с публичной частью сертификата,
signature
String
закодированная с помощью алгоритма “Base
64”
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Информация о делении списка на страницы и о
Структура
передаваемой странице списка
pageIndex
Integer
Номер передаваемой страницы
pageRecords
Integer
Количество строк списка на странице
pageInfo
pageCount
Integer
Количество страниц в списке
Имя поля ключа сортировки (аналогично
sortKey
String
запросу)
sortDirection
String
Направление сортировки (аналогично запросу)
2.2.2. Отправка документа
Для отправки формализованного документа заданному получателю используется запрос на основе
метода POST.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"to": "2PS-00631566061106315010010016107897",
"docType": 7,
"content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv...",
"signature": "MIIGGAYJKoZIhvcNAQcCoIIGCTCCBg...",
"fileName": "my_file.txt",
"parentDocId": "",
"docAttrs": {
"docName": "docName",
"docNumber": "N-345",
"docDate": "04.10.2018",
"sumAll": "154.3",
"sumNds": "12.3",
"nds": true,
"signRequested": true
}
}
Описание параметров запроса на отправку документа приведены в таблице 2.5.
Таблица 2.5. Описание параметров запроса на отправку документа
Вложенные
Формат
Обязательно в
Параметр
Описание
поля
значения
запросе
to
String
Идентификатор получателя
да
ID типа документа, который требуется
отправить.
docType
Integer
да
ID можно получить в методе 2.2.11. Вывод
справочника типов документов
Содержимое документа, закодированное с
content
String
да
помощью алгоритма “Base 64”
Вложенные
Формат
Обязательно в
Параметр
Описание
поля
значения
запросе
Открепленная подпись в формате
PKCS#7/CMS с публичной частью
signature
String
да
сертификата, закодированная с помощью
алгоритма “Base 64”
fileName
String
Имя файла документа
да
Идентификатор документа, на основании
parentDocId
String
которого был сгенерирован текущий
нет
документ
Содержит дополнительную информацию о
Структура
нет
документе
docName
String
Наименование документа
нет
docNumber
String
Номер документа
нет
docDate
String
Дата генерации документа
нет
Общая сумма по документу, указывается с
sumAll
String
нет
docAttrs
использованием “.”, например “356.00”
Общая сумма НДС по документу,
sumNds
String
указывается с использованием “.”,
нет
например “12.10”
nds
Boolean
Признак необходимости расчета НДС
нет
Признак необходимости подписания
signRequested
Boolean
нет
документа
Пример успешного ответа на запрос описан в разделе "Введение", при этом параметр «message» имеет
значение «OK», а «result» имеет значение «null».
2.2.3. Получение списка документов для подписания
Для получения клиентом списка документов для подписания используется HTTP-метод “GET”, в ответ на
запрос возвращается список документов, в соответствии с переданным токеном.
Запрос на получение списка документов на подписание имеет вид:
GET
Пример запроса
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Описание параметров запроса приведены в таблице 2.6.
Таблица 2.6. Описание параметров запроса на получение списка документов для подписания
Заменяемая
Значение по
Обязательно в
Параметр
Описание
строка
умолчанию
запросе
{version}
Версия системы
v1 1)
да
Тип возвращаемых документов:
true - технологические (не
требующие второй подписи) и
req-duplex-sign
{REQ1}
false
нет
прочие (требующие вторую
подпись);
false - только технологические
Пример успешного ответа на запрос имеет следующий вид (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": [
{
"docId": 4483,
"fromOrgId": "252",
"fromOrgName": "ООО ПС-СТ",
"toOrgId": "1",
"toOrgName": "ОФД.РУ",
"edoIdFrom": "2PS-00324502599803245010010096511518",
"edoIdTo": "2PS",
"docTypeId": 3,
"docTypeName": "Извещение о получении электронного документа",
"docStateId": 0,
"docStateName": "Ожидается извещение о получении",
"sfStateName": "Ожидается извещение о получении",
"sfStateId": 2,
"content": "PD94bWwgdmVyc2lvbiA9IjEuMCIgZW5jb2R...",
"signature": null,
"fileName": "DP_IZVPOL_2PS_2PS-0032450259980324...",
"certFingerprint": null,
"docName": null,
"docNumber": null,
"docDate": null,
"sumAll": null,
"sumNds": null,
"updated": "17.10.2018 11:15:01",
"nds": false
}
]
}
Описание параметров ответа на запрос приведены в таблице 2.7.
Таблица 2.6. Описание параметров ответа на запрос списка документов на подписание
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Параметр
Вложенные поля
Формат значения
Описание
Структура
Список документов на подписание
docId
Integer
Идентификационный номер (индекс) документа
Идентификатор документа, присвоенный
fromOrgId
String
организацией-отправителем
Название документа, присвоенное организацией-
fromOrgName
String
отправителем
Идентификатор документа, присвоенный
toOrgId
String
организацией-получателем
Название документа, присвоенное организацией-
toOrgName
String
отправителем
Название системы ЭДО отправителя (в случае
edoIdFrom
String
передачи документов между различными системами
ЭДО)
Название системы ЭДО получателя (в случае
edoIdTo
String
передачи документов между различными системами
ЭДО)
docTypeId
Integer
Идентификатор типа документа
docTypeName
String
Название типа документа
docStateId
Integer
Идентификатор статуса (состояния) документа
docStateName
String
Статус документа
sfStateName
String
Статус подписи документа
sfStateId
Integer
Идентификатор статуса подписи документа
result
Содержимое документа, закодированное с помощью
content
String
алгоритма “Base 64”
Открепленная подпись в формате PKCS#7/CMS с
signature
String
публичной частью сертификата, закодированная с
помощью алгоритма “Base 64”
fileName
String
Имя файла документа
certFingerprint
String
Отпечаток сертификата
docName
String
Наименование документа
docNumber
String
Номер документа
String,
описывающая
docDate
момент времени
Дата формирования документа
(дату и время в
формате ISO)
sumAll
String
Общая сумма по документу
sumNds
String
Общая сумма НДС по документу
String,
описывающая
updated
момент времени
Дата последнего изменения документа
(дату и время в
формате ISO)
nds
Boolean
Признак необходимости расчета НДС
2.2.4. Сформировать ИОП/УОУ/Ответный титул
Метод используется для формирования:
извещения о получении документа (ИОП),
уведомления об уточнении (УОУ),
ответных титулов для УПД/УКД (по приказу 174н),
ответного титула заказчика на Акт (формализованный),
ответного титула получателя Накладной (формализованной).
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры (приведены
примеры значений):
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"docTypeId": 6,
"parentDocId": 3972,
"textRefinement": "Текстовый комментарий",
"fingerprint": "4ff4214c64e8d8db2046defab0dAAAA"
}
Описание параметров запроса предварительно заполненной формы приведены в таблице 2.8.
Таблица 2.8. Описание параметров запроса предварительно заполненной формы
Формат
Обязательно в
Параметр
Описание
значения
запросе
ID типа документа, который хотим получить в
ответе на данный метод.
docTypeId
Integer
да
ID можно получить в методе 2.2.11. Вывод
справочника типов документов
Идентификатор «родительского» документа, на
parentDocId
Integer
который хотим получить ИОП/УОУ/Ответный
да
титул.
Дата принятия работ/услуг.
Используется и является обязательным только
для формирования Акта-заказчика
Условно
serviceAcceptanceDate
String
(формализованный)
обязательный
(идентификатор типа документа id=36) в ответ
на полученный Акт (формализованный) (id=32).
Содержание действий. Указывается
«Результаты работ переданы (услуги оказаны)»
или иное.
Используется и является обязательным только
Условно
commentForAct
String
для формирования Акта-заказчика
обязательный
(формализованный)
(идентификатор типа документа id=36) в ответ
на полученный Акт (формализованный) (id=32).
textRefinement
String
Текстовый комментарий
да
fingerprint
String
Отпечаток сертификата
да
Пример успешного ответа на запрос имеет следующий вид (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv..."
}
Описание параметров структуры ответа на запрос предварительно заполненной формы приведено в
таблице 2.9.
Таблица 2.9. Описание параметров структуры ответа на запрос предварительно заполненной формы
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
Код ответа на запрос (0 -
code
Integer
status
OK)
Сообщение в ответе на
message
String
запрос
Содержимое предварительно заполненной
result
String
формы, закодированное с помощью
алгоритма “Base 64”
2.2.5. Подписание документа
Для отправки формализованного документа заданному получателю используется запрос на основе
метода POST.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры (приведены
примеры значений):
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"docId": "2614",
"signature": "MIIGGAYJKoZ…"
}
Описание параметров запроса на отправку документа приведены в таблице 2.10.
Таблица 2.10 . Описание параметров запроса на отправку документа
Формат
Обязательно в
Параметр
Описание
значения
запросе
docId
String
Идентификатор подписываемого документа
да
Открепленная подпись в формате PKCS#7/CMS с
signature
String
публичной частью сертификата, закодированная с
да
помощью алгоритма “Base 64”
Пример успешного ответа на запрос описан в разделе "Введение", при этом параметр «message» имеет
значение «OK», а «result» имеет значение «null».
2.2.6. Удаление документа
Для удаления документа используется запрос на основе метода POST.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры (приведены
примеры значений):
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"docId": "2604"
}
Параметр docId - идентификатор удаляемого документа.
Пример успешного ответа на запрос описан в разделе "Введение", при этом параметр «message» имеет
значение «OK», а «result» имеет значение «null».
2.2.7. Восстановление документа
Для восстановления удаленного документа используется запрос на основе метода POST.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры (приведены
примеры значений):
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"docId": "2604"
}
Параметр docId - идентификатор удаляемого документа.
Пример успешного ответа на запрос описан в разделе "Введение", при этом параметр «message» имеет
значение «OK», а «result» имеет значение «null».
2.2.8. Получение детализированной информации о документе
Для получения детализированной информации о документе используется запрос на основе метода GET;
запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{ID1} - идентификатор документа.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос имеет следующий вид (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"docId": 4483,
"fromOrgId": "252",
"fromOrgName": "ООО ПС-СТ",
"toOrgId": "1",
"toOrgName": "ОФД.РУ",
"edoIdFrom": "2PS-00324502599803245010010096511518",
"edoIdTo": "2PS",
"docTypeId": 3,
"docTypeName": "Извещение о получении электронного документа",
"docStateId": 0,
"docStateName": "Ожидается извещение о получении",
"sfStateName": "Ожидается извещение о получении",
"sfStateId": 2,
"content": "PD94bWwgdmVyc2lvbj0iMTItLRIN...",
"signature": null,
"fileName": "DP_IZVPOL_2PS_2PS-0032450259980324...",
"certFingerprint": null,
"sumAll": null,
"sumNds": null,
"updated": "17.10.2018 11:15:01"
}
}
Описание параметров ответа описаны в таблице 2.5., п. 2.1.3..
2.2.9. Получение комплекта документов
Запросить комплект связанных документов можно с помощью запроса на основе метода GET, при этом в
ответе будут присутствовать все документы комплекта (СФ, ИСФ, КСФ, ИКСФ).
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{ID1} - идентификатор документа.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос, приведён в п. 2.1.3.
2.2.10. Вывод справочника типов документов
Запросить справочник типов документов, определенных в системе, с указанием их названия,
внутреннего идентификатора и признака формализованности можно с помощью запроса на основе
метода GET.
Запрос имеет следующий вид:
GET
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Успешный ответ на запрос имеет следующий вид (приведены примеры значений):
{
"status": {
"code": 0,
"message": "OK"
},
"result": [
{
"id": 1,
"name": "Счёт-фактура",
"formalized": true
"technical": false,
"primary": true,
"pokTitle": false
}
]
}
Описание параметров ответа на запрос справочника типов документов приведены в таблице 2.11.
Таблица 2.11. Описание параметров ответа на запрос справочника типов документов
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Список документов
id
Integer
Внутренний идентификатор типа документа
name
String
Название типа документа
result
formalized
Boolean
Признак формализованности шаблона документа
technical
Boolean
Признак технического документа
primary
Boolean
Признак первичного документа
pokTitle
Boolean
Признак вторичного документа
2.2.11. Загрузка документа
Запросить содержимое документа можно с помощью запроса на основе метода GET, при этом в ответе
будут присутствовать все документы комплекта (СФ, ИСФ, КСФ, ИКСФ).
Запрос имеет следующий вид:
GET
{TYPE1}
Пример запроса
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Описание параметров запроса приведены в таблице 2.12.
Таблица 2.12. Описание параметров запроса загрузки документа
Заменяемая
Значение по
Обязательно в
Параметр
Описание
строка
умолчанию
запросе
Заменяемая
Значение по
Обязательно в
Параметр
Описание
строка
умолчанию
запросе
{version}
Версия системы
v1 2)
да
Идентификатор загружаемого
docId
{ID1}
да
документа
Тип загрузки:
CURRENT - загрузка только текущего
документа с заданным
downloadType
{TYPE1}
идентификатором;
CURRENT
нет
WITH_SERVICE - загрузка документа с
дополнительными служебными
документами в архивном файле (.zip)
В ответ на данный запрос начинается загрузка файла в двоичном виде. В заголовках ответа (response
headers) указывается имя загружаемого файла.
2.2.12. Получение извещения на подтверждение оператора (для отправителя)
После того как организация отправила документ, Оператор ЭДО создает подтверждение оператора о
дате получение документа, подписывает его и направляет организации. Затем, когда организация
получила подтверждение оператора, она должна отправить в ответ подписанное извещение о
получении данного подтверждения.
Для получения извещения о подтверждении оператора о дате получения документа используется запрос
на основе метода GET.
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{ID1} - идентификатор документа.
Пример запроса
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос (приведены примеры значений, многоточие означает многократно
повторяющуюся структуру):
{
"status":{
"code":0,
"message":"OK"
},
"result":{
"direction":null,
"docId":631777,
"fromOrgId":"11801",
"fromOrgName":"ООО Ромашка Тест",
"toOrgId":"1",
"toOrgName":"ОФД.РУ",
"docTypeId":3,
"docTypeName":"Извещение о получении электронного документа",
"docStateId":0,
"docStateName":null,
"sfStateName":null,
"sfStateId":0,
"innFrom":null,
"innTo":null,
"kppFrom":null,
"kppTo":null,
"content":"PDiDI7P8 Строка...",
"signature":null,
"certificateSerialNumber":null,
"fileName":"DP_IZVPOL_2PS_2PS-00258532876001890440310032687548_20201112_e3b65627-
fa62-41f7-b621-dd546625f8c4.xml",
"docName":null,
"docNumber":null,
"docDate":null,
"sumAll":null,
"sumNds":null,
"updPokupatelyaId":null,
"marking":false,
"fingerprint":null,
"mcDocState":"MC_NONE",
"actions":[],
"forDocument":[null],
"guid":"e3b65627-fa62-41f7-b621-dd546625f8c4",
"updated":"12.11.2020 17:15:57",
"signRequested":false,
"nds":false
}
}
Параметры структуры ответа приведены в п. 2.2.1. в таблице 2.4.
2.2.13. Получение извещений на документ (для получателя)
После того как организация отправила документ, Оператор ЭДО создает подтверждение оператора о
дате получение документа, подписывает его и направляет организации. Затем, когда организация
получила подтверждение оператора, она должна отправить в ответ подписанное извещение о
получении данного подтверждения.
Для получения извещений для получателя используется запрос на основе метода GET.
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{ID1} - идентификатор документа.
Пример запроса:
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос, в случае отсутствия извещений:
{
"status":{
"code":0,
"message":"OK"
},
"result":{
"parentDocPossibleFinished":true,
"techDocument":null
}
}
Пример успешного ответа на запрос, в случае наличия извещений, требующих подписания со стороны
получателя:
{
"status":{
"code":0,
"message":"OK"
},
"result":{
"parentDocPossibleFinished":false,
"techDocument":{
"direction":null,
"docId":631775,
"fromOrgId":"11818",
"fromOrgName":"ИП Иванов Иван Иванович",
"toOrgId":"1",
"edoIdFrom":null,
"edoIdTo":null,
"toOrgName":"ОФД.РУ",
"docTypeId":3,
"docTypeName":"Извещение о получении электронного документа",
"docStateId":0,
"docStateName":null,
"sfStateName":null,
"sfStateId":0,
"innFrom":null,
"innTo":null,
"kppFrom":null,
"kppTo":null,
"content":"PD94bW СТрока...",
"signature":null,
"certificateSerialNumber":null,
"fileName":"DP_IZVPOL_2PS_2PS-64553144722100000000000054190308_20201112_636fe79f-
f475-480d-a7a4-e87a650b9d05.xml",
"docName":null,
"docNumber":null,
"docDate":null,
"sumAll":null,
"sumNds":null,
"updPokupatelyaId":null,
"marking":false,
"fingerprint":null,
"mcDocState":"MC_NONE",
"actions":[],
"forDocument":[null],
"guid":"636fe79f-f475-480d-a7a4-e87a650b9d05",
"updated":"12.11.2020 17:15:57",
"signRequested":false,
"nds":false
}
}
}
Параметры структуры ответа приведены в таблице 2.13.
Таблица 2.13. Параметры структуры ответа на запрос
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Содержащая список документов
Логический
Наличие извещений для подписания: false -
parentDocPossibleFinished
тип
есть извещения, true - нет извещений
Структура
Данные списка документов
Признак документа:
direction
String
OUT - исходящий;
IN - входящий
Идентификационный номер (индекс)
docId
Integer
документа
fromOrgId
String
Идентификатор организации-отправителя
fromOrgName
String
Название организации-отправителя
Идентификатор в ЭДО организации-
edoIdFrom
String
отправителя
Идентификатор в ЭДО организации-
edoIdTo
String
получателя
toOrgId
String
Идентификатор организации-получателя
docTypeId
Integer
Идентификатор типа документа
docTypeName
String
Название типа документа
Идентификатор статуса (состояния)
docStateId
Integer
документа
sfStateName
String
Статус подписи документа
sfStateId
Integer
Идентификатор статуса подписи документа
innFrom
String
ИНН организации-отправителя
innTo
String
ИНН организации-получателя
kppFrom
String
КПП организации-отправителя
kppTo
String
КПП организации-получателя
result
Содержимое документа, закодированное с
content
String
techDocument
помощью алгоритма “Base 64”
Открепленная подпись в формате
PKCS#7/CMS с публичной частью
signature
String
сертификата, закодированная с помощью
алгоритма “Base 64”
certificateSerialNumber
String
Серийный номер сертификата
fileName
String
Наименование файла
docName
String
Наименование документа
docNumber
String
Номер документа
docDate
String
Дата генерации документа
sumAll
String
Общая сумма по документу
sumNds
String
Общая сумма НДС по документу
updPokupatelyaId
String
Идентификатор УПД покупателя
marking
Boolean
Признак наличия маркировки
mcDocState
String
Стейт отправки документа в ЦРПТ
Служебная информация о возможных
actions
Структура
действиях с документом
forDocument
Структура
Информация о родительском документе
guid
String
Уникальный идентификатор
2.2.14. Сформировать ИОП
Для того чтобы получить извещение о получении документа (далее ИОП) применяется запрос,
построенный на HTTP-методе POST и имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"parentDocId": 1264334,
"fingerprint": "264f3033bef7d64be7df8375eb0c4882df868f9e"
}
Описание параметров запроса ИОП, приведены в таблице 2.14.
Таблица 2.14. Описание параметров запроса ИОП
Параметр
Формат значения
Описание
Обязательно в запросе
parentDocId
Integer
Идентификатор родительского документа
да
fingerprint
String
Отпечаток сертификата
да
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"contentBase64": "PD94bWwgd...",
"uuid": "64f81e54-3011-4e0e-b619-c102d34bdbae",
"docTypeId": 3
}
}
Таблица 2.15. Описание параметров ответа на запрос ИОП
Параметр
Формат значения
Описание
contentBase64
String
Содержимое документа зашифрованное в формате Base64
uuid
String
Уникальный идентификатор черновика
docTypeId
Integer
Идентификатор типа документа черновика
2.2.15. Отправить ИОП
Для того чтобы отправить подписанный ИОП, применяется запрос построенный на HTTP-методе POST и
имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
POST
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"uuid": "64f81e54-3011-4e0e-b619-c102d34bdbae",
"signatureBase64": "MIINAwYJKoZIhvcNAQ...UGjuGrfud0="
}
Описание параметров запроса на опубликование ИОП, приведены в таблице 2.16.
Таблица 2.16. Описание параметров запроса на опубликование ИОП
Формат
Обязательно в
Параметр
Описание
значения
запросе
uuid
String
Идентификатор черновика документа (UUID)
да
Открепленная подпись содержимого документа.
signatureBase64
String
да
(Строка зашифрованная в формате Base64)
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"docId": null,
"docUuid": "64f81e54-3011-4e0e-b619-c102d34bdbae"
}
}
Таблица 2.17. Описание параметров ответа на запрос опубликования ИОП
Параметр
Формат значения
Описание
docId
Integer
Идентификатор подписанного документа (Number)
docUuid
String
Идентификатор подписанного документа (UUID)
2.2.16. Получение любых извещений на документы
После того как организация отправила документ, Оператор ЭДО создает подтверждение оператора о
дате получение документа, подписывает его и направляет организации. Затем, когда организация
получила подтверждение оператора, она должна отправить в ответ подписанное извещение о
получении данного подтверждения.
Для получения извещений по всем документам используется запрос на основе метода GET.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос, в случае наличия извещений, которые требуется подписать
организации:
{
"status":{
"code":0,
"message":"OK"
},
"result":[
{
"direction":null,
"docId":631758,
"fromOrgId":"11818",
"fromOrgName":"ИП Иванов Иван Иванович",
"toOrgId":"1",
"toOrgName":"ОФД.РУ",
"edoIdFrom":null,
"edoIdTo":null,
"docTypeId":3,
"docTypeName":"Извещение о получении электронного документа",
"docStateId":0,
"docStateName":null,
"sfStateName":null,"sfStateId":0,
"innFrom":null,
"innTo":null,
"kppFrom":null,
"kppTo":null,
"content":"PD94b Строка...",
"signature":null,
"certificateSerialNumber":null,
"fileName":"DP_IZVPOL_2PS_2PS-64553144722100000000000054190308_20201112_c518df7a-
d0ae-41c3-9ddf-500689254d32.xml",
"docName":null,
"docNumber":null,
"docDate":null,
"sumAll":null,
"sumNds":null,
"updPokupatelyaId":null,
"marking":false,
"fingerprint":null,
"mcDocState":"MC_NONE",
"actions":[],
"forDocument":[null],
"guid":"c518df7a-d0ae-41c3-9ddf-500689254d32",
"updated":"12.11.2020 12:06:43",
"nds":false,
"signRequested":false
},
]
}
Описание параметров структуры ответа приведены в в разделе 2.2.13. в таблице 2.13.
Пример успешного ответа на запрос, в случае отсутствия извещений:
{
"status":{
"code":0,
"message":"OK"
},
"result":[
]
}
2.2.17. Получение PDF-представления формализованного документа
Документ в формате “Adobe PDF” удобен для просмотра и печати, возможность генерации такого
документа присутствует в ИС «ЭДО.Поток», это действие возможно произвести с помощью запроса на
основе HTTP-метода GET.
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{ID1} - идентификатор документа, на основе которого по запросу генерируется документ в
формате “Adobe PDF”. Параметр обязателен.
Пример запроса
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
В ответ на данный запрос начинается загрузка файла в двоичном виде. В заголовках ответа (response
headers) указывается имя загружаемого файла.
2.2.18. Сформировать титул покупателя УПД/УКД
Для того чтобы получить черновик титула УПД или черновика титула УКД, применяется запрос
построенный на HTTP-методе POST и имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"provisionalDocParams": {
"parentDocId": 1264334,
"fingerprint": "264f3033bef7d64be7df8375eb0c4882df868f9e"
},
"additionalParams": {
"docTypeId": 11,
"fingerprint": "264f3033bef7d64be7df8375eb0c4882df868f9e",
"parentDocId": 1264334,
"svPrinSodOper": "Принято без замечаний",
"svPrinDataPrin": "16.09.2021"
}
}
Описание параметров запроса для получения черновика титула УПД и УКД, приведены в таблице 2.19.
Таблица 2.19. Параметры запроса для получения черновика титула УПД и УКД
Вложенный
Формат
Обязательно в
Параметр
Описание
параметр
значения
запросе
Идентификатор родительского
parentDocId
Integer
да
документа
Отпечаток сертификата. (Строка
fingerprint
String
да
SHA1 hash)
Структура
да
Отпечаток сертификата. (Строка
fingerprint
String
да
SHA1 hash)
Идентификатор родительского
parentDocId
String
да
документа
Для получения титула УПД
покупателя (для УПД со значением
Type 8 и УПД исправительный со
значением Type 8) ставим значение
11,
docTypeId
String
да
Для получения титула УКД
additionalParams
покупателя (для УПД со значением
Type 12 и УПД исправительный со
значением Type 31), ставим
значение 13
Указывается действия, например:
- «Товары принял без претензий»;
- «Результаты работ принял без
svPrinSodOper
String
да
претензий»;
- «Услуги получены, претензий нет»;
или другое.
svPrinDataPrin
String
Дата принятия УПД.
да
textRefinement
String
Текстовый комментарий.
да
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"contentBase64": "PD94bWwgdmVyc2...6es+Cg==",
"uuid": "17396e78-5464-4419-a2ef-18be3fc3ba4c",
"docTypeId": 11
}
}
Таблица 2.20. Описание параметров ответа на запрос получения черновика титула УПД-ПОК
Параметр
Формат значения
Описание
contentBase64
String
Содержимое документа в формате Base64.
uuid
String
Уникальный идентификатор черновика(заготовки). (UUID)
id
Integer
Идентификатор типа документа черновика(заготовки). (Number)
2.2.19. Отправить титул покупателя УПД/УКД
Для того чтобы опубликовать подписанный черновик титула УПД или подписанный черновик титула УКД,
применяется запрос построенный на HTTP-методе POST и имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"signatureBase64": "MIINAwYJK...cpPHsag=",
"uuid": "17396e78-5464-4419-a2ef-18be3fc3ba4c"
}
Описание параметров запроса опубликования подписанного черновика титула УПД или подписанного
черновика титула УКД, приведены в таблице 2.21.
Таблица 2.21. Параметры запроса опубликования подписанного черновика титула УПД или подписанного
черновика титула УКД
Формат
Обязательно в
Параметр
Описание
значения
запросе
Идентификатор черновика(заготовки) документа.
uuid
String
да
(UUID),
Открепленная подпись содержимого документа в
signatureBase64
String
да
формате Base64)
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"docId": 1266165,
"docUuid": null
}
}
Таблица 2.22. Описание параметров ответа на запрос опубликования подписанного черновика титула
УПД или подписанного черновика титула УКД
Параметр
Формат значения
Описание
docId
Integer
Идентификатор подписанного документа. (Number)
docUuid
String
Идентификатор подписанного документа. (UUID)
2.2.20. Сформировать УОУ
Для того чтобы получить черновик УОУ, применяется запрос построенный на HTTP-методе POST и
имеющий следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"provisionalDocParams": {
"parentDocId": 1266167,
"fingerprint": "264f3033bef7d64be7df8375eb0c4882df868f9e"
},
"additionalParams": {
"fingerprint": "264f3033bef7d64be7df8375eb0c4882df868f9e",
"parentDocId": 1266167,
"textRefinement": "Не верно указан поставщик ",
"docTypeId": 6
}
}
Описание параметров запроса для получения черновик УОУ, приведены в таблице 2.23.
Таблица 2.23. Параметры запроса для получения черновика УОУ
Вложенный
Формат
Обязательно в
Параметр
Описание
параметр
значения
запросе
Структура
да
Идентификатор
parentDocId
Integer
да
provisionalDocParams
родительского документа
Отпечаток сертификата.
fingerprint
String
да
(Строка SHA1 hash)
Структура
да
Отпечаток сертификата.
fingerprint
String
да
(Строка SHA1 hash)
Идентификатор
additionalParams
parentDocId
String
да
родительского документа
6 - это уведомление об
docTypeId
String
да
уточнении.
textRefinement
String
Текстовый комментарий.
да
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"contentBase64": "PD94bWwgdmVy...t8j4KPC/U4OnrPgo=",
"uuid": "596c50af-d65a-4cb8-b404-fc27bf805215",
"docTypeId": 6
}
}
Таблица 2.24. Описание параметров ответа на запрос получения черновика УОУ
Формат
Параметр
Описание
значения
Содержимое документа в формате Base64. (Подписывать требуется
contentBase64
String
данные после снятия base64)
uuid
String
Уникальный идентификатор черновика(заготовки). (UUID)
id
String
Идентификатор типа документа черновика(заготовки). (Number)
2.2.21. Отправить УОУ
Для того чтобы опубликовать подписанный черновик для УОУ, применяется запрос построенный на HTTP-
методе POST и имеющий следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Запрос:
Authorization: Token 8890ea5e-95f8-4d33-b4bc-7ace2339fc91
{
"signatureBase64": "MIINAwYJKoZIh...GDBKQ=",
"uuid": "596c50af-d65a-4cb8-b404-fc27bf805215"
}
Описание параметров запроса опубликование подписанного черновика для УОУ, приведены в таблице
2.25.
Таблица 2.25. Параметры запроса опубликование подписанного черновика для УОУ
Формат
Обязательно в
Параметр
Описание
значения
запросе
Идентификатор черновика(заготовки) документа.
uuid
String
да
(UUID)
Открепленная подпись содержимого документа.
signatureBase64
String
да
(Строка в формате Base64)
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"docId": 1266172,
"docUuid": null
}
}
Таблица 2.26. Описание параметров ответа на запрос опубликования подписанного черновика для УОУ
Параметр
Формат значения
Описание
docId
Integer
Идентификатор подписанного документа. (Number)
docUuid
String
Идентификатор подписанного документа. (UUID)
2.3. Методы работы с черновиками
2.3.1 Метод загрузки черновика
Для загрузки черновика используется запрос на основе метода POST.
Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Таблица 2.29. Параметры запроса
Формат
Обязательно в
Параметр
Описание
значения
запросе
Содержимое документа, закодированное с помощью
content
String
алгоритма “Base 64”,
да
в одну строку (без переноса строк)
Тип документа (параметр id в ответе на запрос) Вывод
docType
Integer
да
справочника типов документов.
fileName
String
Наименование документа
да
Запрос подписи у контрагента:
true - требуется подпись,
false - подпись не требуется.
Подпись контрагента запрашивается всегда по:
signRequested
Boolean
да
УПД, УКД, Накладная (формализованная), Акт
(формализованный).
Подпись никогда не запрашивается по любым счет-
фактурам.
Идентификатор клиента в ИС «ЭДО.Поток».
to
String
да
Можно получить используя метод Поиск контрагентов
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"content": "UEsDBBQABgA...Строка",
"docType": 7,
"fileName": "С подписью. Подписание.docx",
"signRequested": true,
"to": "2PS-00784146519807841010010013609667"
}
Пример успешного ответа на запрос
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"errorCode": [],
"data": {
"draftId": 28027,
"fromOrgId": "2",
"fromOrgName": "ОФД.РУ",
"toOrgId": "11818",
"toOrgName": "ИП Иванов Иван Иванович",
"edoIdFrom": "2PS-00784146519807841010010013609667",
"edoIdTo": "2PS-64553144722100000000000054190308",
"docTypeId": 8,
"docTypeName": "УПД",
"innFrom": "7841465198",
"innTo": "645531447221",
"kppFrom": "772501001",
"kppTo": null,
"content": "PD94bWwgdmVyc2l...Строка",
"fileName":
"ON_NSCHFDOPPRMARK_2PS-64553144722100000000000054190308_2PS-007841465198078410100100
13609667_20201101_69bc52a0-39e6-4454-8328-6c98c74f0916",
"docName": "Счет-фактура и документ об отгрузке товаров (выполнении работ),
передаче имущественных прав (документ об оказании услуг)",
"docNumber": "9",
"docDate": "02.06.2020 00:00:00",
"sumAll": 14000,
"sumNds": 2333.33,
"statusId": 1,
"statusName": "Готов",
"nds": true,
"signRequested": true,
"updated": "29.04.2021 15:05:14"
}
}
}
Описание параметров структуры ответа приведены в таблице 2.30.
Таблица 2.30. Описание параметров структуры ответа
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Содержащая список документов
Структура
Данные списка документов
Идентификатор черновика в системе
draftId
String
«ЭДО.Поток»
fromOrgId
String
Идентификатор организации-отправителя
fromOrgName
String
Название организации-отправителя
Идентификатор в ЭДО организации-
edoIdFrom
String
отправителя
Идентификатор в ЭДО организации-
edoIdTo
String
получателя
toOrgId
String
Идентификаторорганизации-получателя
toOrgName
String
Название организации-получателя
docTypeId
Integer
Идентификатор типа документа
docTypeName
String
Название типа документа
innFrom
String
ИННорганизации-отправителя
innTo
String
ИНН организации-получателя
kppFrom
String
КПП организации-отправителя
kppTo
String
КПП организации-получателя
data
result
Содержимое документа, закодированное с
content
String
помощью алгоритма “Base 64”
fileName
String
Наименование файла
2.3.2 Метод получения списка черновиков
Для получения списка черновиков используется запрос на основе метода POST.
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Описание параметров запроса приведены в таблице 2.31.
Таблица 2.31. Описание параметров запроса
Формат
Обязательно в
Параметр
Описание
значения
запросе
Начальная дата периода поиска черновиков в формате
from
String
(dd.MM.yyyy HH:mm), где dd - день, mm - месяц, yyyy
нет
— год, HH - часы, mm - минуты.
Конечная дата периода поиска черновиков в формате
to
String
(dd.MM.yyyy HH:mm), где dd - день, mm - месяц, yyyy
нет
— год, HH - часы, mm - минуты.
orgNameTo
String
Наименование компании получателя
нет
orgInnTo
String
ИНН получателя
нет
Тип документа (параметр id в ответе на запрос) Вывод
docTypeId
Array[integer]
нет
справочника типов документов.
Статус черновика:
1 - «Готов», черновик готов к отправке;
status
Array[integer]
0 - «Не готов», значит, что черновик не может быть
нет
отправлен, например ошибка: «Не найден
предполагаемый получатель файла».
pageIndex
Integer
Номер страницы выдачи (по умолчанию - 1)
нет
Количество записей на странице (по умолчанию -
pageRecords
Integer
нет
1000)
pageCount
Integer
Всего страниц
нет
Столбец для сортировки.
sortKey
String
нет
По умолчанию - docDate.
Порядок сортировки. Возможные значения:
asc - восходящая (прямой порядок);
sortDirection
String
нет
desc - нисходящая (обратный порядок).
По умолчанию - desc
Пример ответа на запрос
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"data": [
{
"errorCode": [],
"data": {
"draftId": 28027,
"fromOrgId": "2",
"fromOrgName": "ОФД.РУ",
"toOrgId": "11818",
"toOrgName": "ИП Иванов Иван Иванович",
"edoIdFrom": "2PS-00784146519807841010010013609667",
"edoIdTo": "2PS-64553144722100000000000054190308",
"docTypeId": 8,
"docTypeName": "УПД",
"innFrom": "7841465198",
"innTo": "645531447221",
"kppFrom": "772501001",
"kppTo": null,
"content": null,
"fileName":
"ON_NSCHFDOPPRMARK_2PS-64553144722100000000000054190308_2PS-007841465198078410100100
13609667_20201101_69bc52a0-39e6-4454-8328-6c98c74f0916.xml",
"docName": "Счет-фактура и документ об отгрузке товаров (выполнении
работ), передаче имущественных прав (документ об оказании услуг)",
"docNumber": "sign_send_9",
"docDate": "02.06.2020 00:00:00",
"sumAll": 14000,
"sumNds": 2333.33,
"statusId": 1,
"statusName": "Готов",
"nds": true,
"signRequested": false,
"updated": "29.04.2021 15:05:14"
}
}
],
"pageInfo": {
"pageIndex": 1,
"pageRecords": 1000,
"pageCount": 1,
"sortKey": null,
"sortDirection": "desc"
}
}
}
Описание параметров структуры ответа приведены в таблице 2.32.
Таблица 2.32. Описание параметров структуры ответа
Вложенные
Вложенные
Вложенные
Формат
Параметр
Описание
поля
поля
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Вложенные
Вложенные
Вложенные
Формат
Параметр
Описание
поля
поля
поля
значения
Структура
Содержащая список черновиков
Данные списка черновиков и страниц
Структура
выдачи
Структура
Данные списка черновиков
Идентификатор черновика в системе
draftId
String
«ЭДО.Поток»
Идентификатор организации-
fromOrgId
String
отправителя
fromOrgName
String
Название организации-отправителя
Идентификатор в ЭДО организации-
edoIdFrom
String
отправителя
Идентификатор в ЭДО организации-
edoIdTo
String
получателя
toOrgId
String
Идентификатор организации-получателя
toOrgName
String
Название организации-получателя
docTypeId
Integer
Идентификатор типа документа
docTypeName
String
Название типа документа
innFrom
String
ИНН организации-отправителя
innTo
String
ИНН организации-получателя
kppFrom
String
КПП организации-отправителя
kppTo
String
КПП организации-получателя
data
data
Содержимое документа, закодированное
content
String
с помощью алгоритма “Base 64”
fileName
String
Наименование файла
docName
String
Наименование документа
docNumber
String
Номер документа
docDate
String
Дата генерации документа
result
sumAll
String
Общая сумма по документу
sumNds
String
Общая сумма НДС по документу
Идентификатор статуса (состояния)
документа:
statusId
Integer
0 - не готов, не заполнены параметры,
обязательные для отправки;
1 - готов к отправке.
Наименование статуса (состояния)
statusName
String
документа
nds
Boolean
Признак необходимости расчета НДС
Признак необходимости подписания
signRequested
Boolean
документа
updated
String
Дата и время загрузки черновика
Ошибки, которые могли возникнуть при
errorCode
Массив
загрузке черновика
Информация о делении списка на
Структура
страницы и о передаваемой странице
списка
pageIndex
Integer
Номер страницы выдачи
pageRecords
Integer
Количество записей на странице
pageCount
Integer
Всего страниц
pageInfo
Столбец для сортировки.
sortKey
String
По умолчанию - docDate.
Порядок сортировки. Возможные
значения:
sortDirection
String
asc - восходящая (прямой порядок);
desc - нисходящая (обратный порядок).
По умолчанию - desc
2.3.3 Метод скачивания черновика
Для скачивания черновика используется запрос на основе метода POST.
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{DRAFT_ID} - Идентификатор черновика в системе «ЭДО.Поток».
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
В ответ на данный запрос начинается загрузка файла в двоичном виде.
2.3.6 Метод удаления черновика
Для удаления черновика используется запрос на основе метода POST.
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса располагаются в теле запроса и имеют вид следующей структуры (приведены
примеры значений):
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"draftId": "28027"
}
Параметр draftId - идентификатор удаляемого черновика в «ЭДО.Поток». Пример успешного ответа на
запрос описан в разделе "Введение", при этом параметр «message» имеет значение «OK», а «result»
имеет значение «null».
2.4. Работа с контрагентами
Перед началом работы с контрагентами, проверьте возможность обмена документами с организациями.
Для этого используйте метод "Поиск контрагентов". Если ваш контрагент зарегистрирован в ЭДО.Поток,
то вы можете сразу обмениваться с ним электронными документами. Если организация еще не
пользуется сервисом ЭДО.Поток, вы можете отправить ей приглашение на почту, методом "Отправка
контрагенту на почту ссылку с приглашением в ЭДО.Поток". Если контрагент пользуется другим
оператором ЭДО - вам понадобится разово настроить роуминг с ним.
Роуминг можно настроить несколькими способами:
1. Ручная настройка.
Для настройки роуминга с использованием приглашений необходимо:
1. Отправить приглашение в роуминг своему контрагенту методом "Отправка приглашения
контрагенту".
2. Контрагент получит приглашение на настройку роуминга в системе своего оператора ЭДО.
3. Контрагент или соглашается на настройку роуминга и отправляет ответное приглашение, или
отклоняет запрос на настройку.
4. Обновленный статус роуминга отслеживайте методом "Получение списка роуминговых
контрагентов и их статуса".
5. Для получения списка контрагентов используйте метод "Получение списка контрагентов с
заданным статусом".
2.4.1. Поиск контрагентов
Метод позволяет искать контрагентов, с которыми можно сразу начать обмен документами: контрагент
или зарегистрирован и работает в ЭДО.Поток или с контрагентом успешно настроен роуминг через
стороннего оператора ЭДО.
Поиск контрагентов в ИС «ЭДО.Поток» осуществляется HTTP-метода GET и имеет следующий вид:
GET
Пример запроса
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Описание параметров запроса на поиск контрагента приведены в таблице 2.33.
Таблица 2.33. Описание параметров запроса на поиск контрагента
Параметр
Заменяемая строка
Описание
Версия системы, текущая версия равна v1. В дальнейшем версия может
{version}
измениться
ИНН клиента, КПП клиента или последовательность символов, искомая
query
{inf01}
в полном названии контрагента 3)
Успешный ответ на запрос имеет следующий вид:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"data": [
{
"clientId": "2PS-00278567668300483440610014472643",
"fullName": "ООО \"Рога и копыта\"",
"phone": "79103333412",
"email": "RogaIKopyta@rk.ru",
"mailAddress": null,
"fullLegalAddress": "Брянск г Брянской Пролетарской Дивизии ул. 9",
"kpp": "048344061",
"inn": "2785676683",
"ogrn": "5097571958996",
"ifns": null,
"certificate": null,
"stateName": null,
"legalAddress": {
"postalCode": null,
"region": null,
"area": null,
"city": null,
"settlement": null,
"street": null,
"houseNumber": null,
"building": null,
"office": null,
}
},
"status": "NEW",
"operatorMnemo": "ТЕНЗОР"
],
"pageInfo": {
"pageIndex": 1,
"pageRecords": 1,
"pageCount": 239,
"sortKey": NULL,
"sortDirection": "desc"
}
}
}
Описание параметров ответа на запрос на поиск контрагента приведены в таблице 2.34.
Таблица 2.34. Описание параметров ответа на запрос поиска контрагента
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Информацию по клиенту
Записи о контрагентах. Параметры
data
Структура
элементов структуры data приведены в
таблице 2.35
Информация о делении списка на
Структура
страницы и о передаваемой странице
списка
result
pageIndex
Integer
Номер передаваемой страницы
pageInfo
pageRecords
Integer
Количество строк списка на странице
pageCount
Integer
Количество страниц в списке
sortKey
String
Имя поля ключа сортировки
Направление сортировки (см. п. 2.2.1.,
sortDirection
String
таблица 2.3)
Таблица 2.35. Описание параметров структуры «data»
Формат
Параметр
Вложенные поля
Описание
значения
clientId
String
Идентификатор клиента в ИС «ЭДО.Поток»
fullName
String
Полное название клиента
phone
String
Телефонный номер клиента
email
String
Адрес электронной почты клиента
mailAddress
String
Фактический почтовый адрес клиента одной строкой
fullLegalAddress
String
Юридический адрес клиента одной строкой
kpp
String
КПП клиента
inn
String
ИНН клиента
ogrn
String
ОГРН клиента
Идентификационный номер ФНС, за которой
ifns
String
закреплен клиент
Открытая часть сертификата электронной подписи
certificate
String
клиента
Формат
Параметр
Вложенные поля
Описание
значения
stateName
String
Название государства, к которому относится клиент
Структура
Информация о юридическом адресе клиента
postalCode
String
Почтовый индекс
region
String
Область
area
String
Район области (если используется)
city
String
Город
legalAddress
settlement
String
Населенный пункт
street
String
Улица
houseNumber
String
Номер дома
building
String
Номер корпуса или здания
office
String
Номер офиса
status
String
Состояние контрагента
operatorMnemo
String
Оператор ЭДО контрагента
2.4.2. Получение списка контрагентов с заданным статусом
Для получения списка контрагентов с фильтрацией по статусу применяется запрос, построенный на
HTTP-методе GET и имеющий следующий вид:
GET
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Описание параметров запроса на поиск контрагента с заданным статусом приведены в таблице 2.36.
Таблица 2.36. Параметры запроса на поиск контрагента с заданным статусом
Параметр
Заменяемая строка
Описание
Версия системы, текущая версия равна v1. В дальнейшем версия может
{version}
измениться
Состояние (статус) контрагента. Возможные значения:
REQUEST_SENT - Отправлена заявка на роуминг ,
REQUEST_RECEIVED - заявка на роуминг получена,
status
{status1}
CONFIRMED - роуминг настроен,
NEW - заявка на роуминг сформирована,
BLOCKED - роуминг отключен,
ERROR - Ошибка настройки роуминга
Пример успешного ответа на запрос приведен в разделе. 2.4.1. Структура ответа описана в таблицах
2.34. и 2.35.
2.4.3. Получение списка роуминговых контрагентов и их статуса
Для получения списка роуминговых контрагентов и статусом работы с ними применяется запрос,
построенный на HTTP-методе GET и имеющий следующий вид:
Заменяемый параметр {version} - обозначение текущей версии системы, по умолчанию равен v1.
Пример запроса:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": {
"data": [
{
"clientId": "2AL-264906832440",
"fullName": "ЗАО \"Тест\"",
"operatorName": "ТАКСКОМ",
"kpp": null,
"inn": "264906832440",
"modifyTime": "17.06.2021 03:00:00",
"statusType": "RC_INVITE_CONTRACTORS",
"actions":
[
"0": "ACCEPT"
]
},
{
"clientId": "2BE-6678069434",
"fullName": "ООО \"АВТОБЛЕСК\"",
"operatorName": "ТЕНЗОР",
"kpp": "667801001",
"inn": "6678069434",
"modifyTime": "10.06.2021 03:00:00",
"statusType": "NEW_CONTRACTORS",
"actions": []
},
{
"clientId": "2AL1699100125",
"fullName": "1699100125",
"operatorName": "ТАКСКОМ",
"kpp": "169910012",
"inn": "1699100125",
"modifyTime": "30.04.2021 03:00:00",
"statusType": "RC_ERROR",
"invitationErrorDescription":
{
"errorDescription": "ИНН получателя в приглашении отличается от ИНН в
online.sbis.ru",
"messageId": "587bf47d3c214f2588582375882c10ea",
"packageId": "a4b4db43fd9848d58e3b392a3b0f597e"
},
"actions": []
}
],
"pageInfo": {
"pageIndex": 1,
"pageRecords": 1000,
"pageCount": 1,
"sortKey": null,
"sortDirection": "desc"
}
}
}
Таблица 2.37. Описание параметров ответа на запрос роуминговых контрагентов и их статуса
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Информацию по клиенту
Записи о контрагентах. Параметры
data
Структура
элементов структуры data приведены в
таблице 2.38
Информация о делении списка на
Структура
страницы и о передаваемой странице
списка
result
pageIndex
Integer
Номер передаваемой страницы
pageInfo
pageRecords
Integer
Количество строк списка на странице
pageCount
Integer
Количество страниц в списке
sortKey
String
Имя поля ключа сортировки
Направление сортировки (см. п. 2.2.1.,
sortDirection
String
таблица 2.3.)
Таблица 2.38. Описание параметров структуры «data»
Формат
Параметр
Вложенные поля
Описание
значения
clientId
String
Идентификатор клиента в ИС «ЭДО.Поток»
fullName
String
Полное название клиента
phone
String
Телефонный номер клиента
operatorName
String
Названия оператора ЭДО
kpp
String
КПП клиента
inn
String
ИНН клиента
Дата и время заключения договора с
modifyTime
String
контрагентом, формат ISO
Статус роуминга:
NEW_CONTRACTORS - «Отправляет заявку»,
приглашение в процессе отправки,
ARE_CONTRACTORS - «Роуминг настроен»,
ARE_BLOCKED_CONTRACTORS - «Отклонено»,
роуминг отключен или пришел отказ от
контрагента,
RC_INVITE_CONTRACTORS - «Приглашают вас»,
statusType
String
пришло приглашение на настройку роуминга
RC_REQUEST_CONTRACTORS - «Ожидается
ответ», вы отправили приглашение в роуминг,
ожидается ответ от контрагента,
RC_ERROR - «Ошибка», настройки роуминга,
описание ошибки в errorDescription,
NO_CONNECTION - Нет соединения,
RC_WAITING_FINISH - «В обработке», ожидание
окончания настройки роуминга.
Структура
Данные об ошибке
Описание ошибки, текст сформирован
errorDescription
String
invitationErrorDescription
сторонним оператором ЭДО
messageId
String
Технический идентификатор ЛС
packageId
String
Технический идентификатор ТП
actions
String
мм
2.4.4. Настройка роуминга с контрагентом через ЭДО Лайт
Для настройки роуминга с контрагентом через ЭДО Лайт применяется запрос, построенный на HTTP-
методе POST и имеющий следующий вид:
POST
Заменяемый параметр {version} - обозначение текущей версии системы, по умолчанию равен v1.
Пример запроса:
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"fullName": "_ТЕСТ_9614000538",
"inn":"9614000538",
"kpp":""
}
Описание параметров запроса настройка роуминга с контрагентом приведены в таблице 2.39.
Таблица 2.39. Описание параметров запроса настройки роуминга с контрагентом
Параметр
Формат значения
Описание
Обязательно в запросе
fullName
String
название контрагента
нет
inn
String
ИНН контрагента
да
kpp
String
КПП контрагента
нет
Приведен пример успешного ответа на запрос:
{
"status: {
code: 0,
message: "OK"
},
"result: "5c9354ef-1dfe-4d7e-b044-706138c8de71"
}
Таблица 2.40. Описание параметров ответа на запрос настройки роуминга с контрагентом
Вложенные
Вложенные
Параметр
Формат значения
Описание
поля
поля
Структура
Состояние запроса
Код ответа на запрос (0 -
code
Integer
status
OK)
Сообщение в ответе на
message
String
запрос
Информация по настройке
result
String
роуминга с контрагентом
Таблица 2.41. Описания кодов ответа на запрос
Код ответа на запрос
Сообщение
Описание кода
400
Bad Request
неправильный, некорректный запрос
50001
Clients already contractors
С клиентом уже настроен роуминг
50002
Contractor not found in EDO LITE
Клиент не найден в системе EDO Lite
2.4.5. Отправка приглашения контрагенту
Для отправки приглашения контрагенту применяется запрос, построенный на HTTP-методе POST и
имеющий следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"clientId":"2AL-264906832440",
"fullName":"ЗАО \"Тест\"",
"inn":"264906832440",
"kpp": ""
}
Описание параметров запроса отправка приглашения контрагенту приведены в таблице 2.42.
Таблица 2.42. Описание параметров запроса списка контрагентов выбранного клиента
Обязательно в
Параметр
Формат значения
Описание
запросе
Идентификатор участника ЭДО, в сторонней
clientId
String
да
системе документооборота
fullName
String
название организации
нет
inn
String
ИНН контрагента
да
kpp
String
КПП контрагента
нет
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": "OK"
}
Таблица 2.43. Описание параметров ответа на запрос списка контрагентов, выбранного клиентам
Параметр
Вложенные поля
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
result
String
Статус отправленного приглашения
2.4.6. Отправка контрагенту на почту ссылку с приглашением в ЭДО.Поток
Для отправки приглашения контрагенту на почту ссылку с приглашением в ЭДО.Поток применяется
запрос, построенный на HTTP-методе POST и имеющий следующий вид:
POST
Заменяемый параметр {version} - обозначение текущей версии системы, по умолчанию равен v1.
Пример запроса:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
email: "ofd@ofd.ru"
}
Описание параметров запроса отправки контрагенту на почту ссылки с приглашением в ЭДО.Поток,
приведены в таблице 2.44.
Таблица 2.44. Описание параметров запроса отправки контрагенту на почту ссылки с приглашением в
ЭДО.Поток
Параметр
Формат значения
Описание
Обязательно в запросе
email
String
Адрес электронной почты контрагента
да
Приведен пример ответа на запрос:
{
"status": {
"code": 0,
"message": "OK"
},
"result": "b7995598-cb5c-43b2-b047-bec4d9ceeb48"
}
Таблица 2.45. Описание параметров ответа на запрос отправки контрагенту на почту ссылки с
приглашением в ЭДО.Поток
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Информация по отправки контрагенту на почту
result
String
ссылки с приглашением в ЭДО.Поток
3. Маркировка
3.1. Авторизация для работы с маркировкой
Для работы с системой маркировки: отправки заказа на эмиссию кодов маркировки, документа ввода в
оборот или для обновления статуса обработки этих документов в системе маркировки необходима
авторизация со стороны клиента.
Ключ сессии, полученный при авторизации действует в течение 10 часов.
Для авторизации потребуется:
1. Методом "Запросить авторизацию при единой аутентификации" получить данные для авторизации.
В запросе указать тип авторизации: emission - для работы со Станцией управления заказами (СУЗ),
например для заказа новых кодов маркировки; introduction - для работы с «Честным ЗНАКом»
(TrueApi) по остальным процессам маркировки, например, для ввода в оборот.
2. Сформировать прикрепленную подпись для данных, полученных на предыдущем методе.
3. Передать подписанные данные с помощью метода "Получить ключ сессии при единой
аутентификации".
4. Текущий статус авторизации можно получить с помощью метода "Получить состояние
авторизации".
3.1.1 Запрос авторизации при единой аутентификации
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{authType} - тип авторизации: emission - для работы со станцией управления заказами (СУЗ),
например для заказа новых кодов маркировки; introduction - для работы с «Честным ЗНАКом»
(TrueApi) по остальным процессам маркировки, например, для ввода в оборот.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример ответа на запрос:
{
"contentsToSign": [
{
"contents": [
{
"content": "YmEtYTU1ZC1kNjIzMGM2NGIzMzIiCn0K",
"id": "df08122e-30b5-11eb-adc1-02411c120123"
}
],
"providerId": "4f770978-abae-49dd-a2c7-9329b61556e9"
}
]
}
Таблица 3.1. Описание параметров ответа на запрос
Параметр
Формат значения
Описание
Структура
Содержащая контейнеры для подписания
Параметр
Формат значения
Описание
content
String
Строка на подпись пользователю
id
String
Уникальный идентификатор запроса на аутентификацию
providerId
String
Идентификатор провайдера авторизации
3.1.2 Получение ключа сессии при единой аутентификации
Чтобы получить ключ сессии при единой аутентификации, используется метод POST следующего вида:
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{authType} - тип авторизации: emission - для работы со станцией управления заказами (СУЗ),
например для заказа новых кодов маркировки; introduction - для работы с «Честным ЗНАКом»
(TrueApi) по остальным процессам маркировки, например, для ввода в оборот.
Пример запроса:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"signedContents": [
{
"contents": [
{
"content": "YmEtYTU1ZC1kNjIzMGM2NGIzMzIiCn0K
",
"id": "df08122e-30b5-11eb-adc1-02411c120123"
}
],
"providerId": "4f770978-abae-49dd-a2c7-9329b61556e9"
}
]
}
Таблица 3.2. Описание параметров структуры ответа
Формат
Параметр
Описание
значения
Структура
Содержащая контейнеры для подписания
Сформированная прикрепленную подпись для контента, полученного
content
String
ранее: параметр «content» из ответа за запрос метода «Запрос авторизации
при единой аутентификации»
Уникальный идентификатор запроса на аутентификацию, полученный в
id
String
методе «Запрос авторизации при единой аутентификации»
Идентификатор провайдера авторизации, полученный в методе «Запрос
providerId
String
авторизации при единой аутентификации»
Пример ответа на запрос:
{
"actualStates": [
{
"inn": "5250030906",
"profiles": [
{
"providerId": "4f770978-abae-49dd-a2c7-9329b61556e9",
"tokenTtl": "2018-01-01T12:13:14Z"
}
]
}
]
}
Таблица 3.3. Описание параметров структуры ответа на запрос
Параметр
Формат значения
Описание
inn
String
ИНН клиента
Массив данных
Профили авторизации
legalAddress
providerId
String
Идентификатор провайдера авторизации
tokenTtl
String
Время инвалидации токена (UTC).
3.1.3 Получение состояния авторизации
Чтобы получить состояние авторизации, используется метод GET следующего вида:
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{authType} - тип авторизации: emission - для работы со станцией управления заказами (СУЗ),
например для заказа новых кодов маркировки; introduction - для работы с «Честным ЗНАКом»
(TrueApi) по остальным процессам маркировки, например, для ввода в оборот.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример ответа на запрос:
{
"actualStates": [
{
"inn": "5250030906",
"profiles": [
{
"providerId": "4f770978-abae-49dd-a2c7-9329b61556e9",
"tokenTtl": "2018-01-01T12:13:14Z"
}
]
}
]
}
Таблица 3.4. Описание параметров структуры ответа на запрос состояния авторизации
Формат
Параметр
Описание
значения
inn
String
ИНН пользователя
Формат
Параметр
Описание
значения
Массив данных
Профили авторизации
Идентификатор провайдера авторизации. Параметр будет
providerId
String
отсутствовать, если токена авторизации нет или закончился
legalAddress
срок его действия
Время инвалидации токена (UTC). Параметр будет
tokenTtl
String
отсутствовать, если токена авторизации нет или закончился
срок его действия
3.2. Заказ кодов маркировки
Прежде чем создать и отправить первый заказ в «Честный ЗНАК», настройте работу с заказами. Для
этого вам понадобится указать параметр OMS ID - уникальный идентификатор клиента в Станции
управления заказами (СУЗ) и получить OmsConnection - уникальный идентификатор соединения.
Шаги по первичной настройке работы с заказами:
1. Узнать ваш OMS ID - уникальный идентификатор клиента в Станции управления заказами (СУЗ)
(Как найти этот параметр?).
2. Методом "3.2.9 Сохранение OMS ID " сохранить OMS ID;
3. Методом "3.2.10 Получить данные для подписи в рамках получения omsConnection" получить сроку
для подписания в параметре ответа «contentForSignBase64».
4. Подписать полученную на предыдущем шаге строку. Для подписания требуется взять данные из
параметра «contentForSignBase64» запроса "3.2.10 Получить данные для подписи в рамках
получения omsConnection", перевести эти данные из формата base64 и поместить в файл для
подписания, после чего сформировать открепленную однострочную (без знаков переноса)
подпись.
5. Методом "3.2.11 Отправка подписанных данных в рамках получения omsConnection" передать
контент подписи (в Base64) и строку для подписания, для которой сформирована подпись.
Текущие параметры OMS ID и OmsConnection можно получить с помощью метода "Получение параметров
OMS ID и OmsConnection".
Порядок действий при заказе кодов маркировки:
1. Проверьте, что вы авторизованы в системе маркировки с помощью метода "Получить состояние
авторизации", указав в запросе в параметре authType значение emission. В ответе вы получите
Время инвалидации токена (параметр tokenTtl). Если время больше текущего, значит вы
авторизованы в системе. Если в ответе параметр отсутствует или время меньше текущего, то
требуется авторизоваться для работы с маркировкой. Как это сделать читайте в разделе "3.1.
Авторизация для работы с маркировкой". При авторизации в запросах в параметре authType
указывайте значение emission.
2. Методом "3.2.1 Создание заказа на коды маркировки" создать заказ на коды маркировки.
3. Методом "3.2.2 Получить контенты заказа для подписания" получить один или несколько
контентов заказа (Base64) и идентификаторов контента.
4. Подписать полученные контенты. Для подписания контента требуется взять данные из параметра
«content» запроса "3.2.2 Получить контенты заказа для подписания", перевести эти данные из
формата base64 в данные и поместить в файл для подписания, после чего сформировать
открепленную однострочную (без знаков переноса) подпись.
5. Методом "3.2.3 Отправка подписанных контентов заказа" передать контент подписи (в Base64) и
идентификатор контента, для которого сформирована подпись.
6. Проверять статус заказа с помощью метода "3.2.4 Получить статус заказа", пока статус не
изменится на success или partialFailure.
7. Получить коды методом "3.2.6 Получение кодов маркировки".
Так же существуют методы:
1. "3.2.5 Список заказов и их статусы" - на получение списка заказов;
2. "3.2.7 Получение подробной информации о статусе каждого кода товара/GTIN в заказе"
3. "3.2.8 Получение информации об общих параметрах заказа" - на получение полной информации
по конкретному заказу.
3.2.1 Создание заказа на коды маркировки
Для создания заказа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса на создание заказа приведены в таблице 3.5.
Таблица 3.5. Описание параметров запроса на создание заказа
Формат
Обязательно в
Параметр
Вложенные поля
Описание
значения
запросе
orderName
String
Наименование заказа
Да
number
String
Номер заказа (должен быть уникальным)
Да
comment
String
Комментарий к заказу
Нет
Структура
Список товаров
Да
String (14)
gtin
Код товара (GTIN)
Да
[0-9] {14}
name
String
Наименование товара
Да
Integer
quantity
Количество КМ
Да
($int32)
Способ генерации серийных номеров:
serialNumberType
String
SELF_MADE - самостоятельно;
Да
OPERATOR - оператором ГИС МТ.
Массив серийных номеров. Это
Нет
JSON Array of
serialNumbers
поле указывается в случае, если
Условно
String
значение «serialNumber = SELF_MADE»
обязательное
Идентификатор шаблона товарной
группы:
1 - обувные товары;
10 - предметы одежды, белье
постельное, столовое, туалетное и
кухонное;
Integer
templateId
7 - шины и покрышки пневматические
Да
positions
($int32)
резиновые новые;
8 - фотокамеры (кроме кинокамер),
фотовспышки и лампы-вспышки;
9 - Духи и туалетная вода;
11 - велосипеды и велосипедные рамы;
12 - кресла коляски.
Тип кода маркировки:
UNIT - единица товара;
Нет
cisType
String
BUNDLE - комплект, используется только
Условно
для ТГ «Одежда»;
обязательное
SET - набор.
ИНН/УНБ (или аналог) экспортера.
Используется только для ТГ «Одежда»,
«Фото», «Шины», «Духи» и «Обувь».
Становится обязательным для этих ТГ,
Нет
exporterTaxpayerId
String
только если в поле releaseMethod
Условно
(способ выпуска товара в оборот) было
обязательное
выбрано
значение «CROSSBORDER» (Ввезен в РФ из
стран ЕАЭС)
Формат
Обязательно в
Параметр
Вложенные поля
Описание
значения
запросе
Товарная группа:
lp - Легкая промышленность (одежда);
shoes - Обувь;
perfumery - Духи и туалетная вода;
productGroup
String
Да
tires - Шины;
electronics - Фототехника;
bicycle - Велосипеды;
wheelchairs - Кресла-коляски.
clientToken
String
Да
omsId
String
Да
Способ изготовления:
SELF_MADE - Самостоятельно;
CEM - ЦЭМ;
CM - Контрактное производство;
Нет
CL - Логистический склад;
createMethodType
String
Условно
CA - Комиссионная площадка.
обязательное
Используется только для ТГ «Одежда»,
«Фото», «Кресла-коляски», «Велосипеды»,
«Шины», «Духи» и «Обувь», обязательно
для данных ТГ.
Способ выпуска товаров:
PRODUCTION - производство РФ;
IMPORT - ввезен в РФ (импорт);
Нет
COMMISSION - Принят на комиссию от
releaseMethodType
String
Условно
физического лица (доступно для ТГ
обязательное
«Одежда», «Обувь»).
Используется только для ТГ «Одежда» и
«Обувь», обязательно для данных ТГ.
Контактное лицо.
Используется только для ТГ «Одежда»,
contactPerson
String
Нет
«Велосипеды», «Кресла-коляски»,
«Шины», «Фото», «Духи» и «Обувь».
Идентификатор производственного
заказа.
productionOrderId
String
Используется только для ТГ «Одежда»,
Нет
«Велосипеды», «Кресла-коляски», «Фото»,
«Шины», «Духи» и «Обувь».
Идентификатор сервис-провайдера.
String (36)
Используется только при наличии сервис-
serviceProviderId
Нет
UUID
провайдера
в ЛК Честного знака.
Пример содержимого заказа кодов по товарной группе «Предметы одежды, белье постельное, столовое,
туалетное и кухонное»
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"orderName": "Заказ Краснодар №41",
"number": "NUMBER_1",
"comment": "Comment",
"positions": [
{
"gtin": "04636332455049",
"name": "ПАЛЬТО ЗИМНЕЕ ЛЁГКОЕ КОРИЧНЕВОЕ .ВОРОТНИК-ПЕСЕЦ",
"quantity": 125,
"serialNumberType": "OPERATOR",
"templateId": 10,
"cisType": "BUNDLE"
},
{
"gtin": "04636332455041",
"name": "Наволочки белые 40х30х60 артикул 8786347879",
"quantity": 125,
"serialNumberType": "OPERATOR",
"templateId": 10,
"cisType": "UNIT
}
],
"productGroup": "lp",
"clientToken": "d1d15b74-e56a-45d9-aaa9-9ad25f5108e8",
"omsId": "79871fbf-c16d-4213-868a-462f5fcacc19",
"createMethodType": "SELF_MADE",
"releaseMethodType": "PRODUCTION",
"contactPerson": "Иванов П.А."
}
Пример содержимого заказа кодов по товарной группе «Обувные товары»
{
"orderName": "Заказ Уфа №41 от 01.02.2021",
"number": "NUMBER_DRAFT_2",
"comment": "Comment",
"positions": [
{
"gtin": "04636332455067",
"name": "Галоши резиновые мужские, 56 размер",
"quantity": 100,
"serialNumberType": "OPERATOR",
"templateId": 1
}
],
"productGroup": "SHOES",
"clientToken": "d1d15b74-e56a-45d9-aaa9-9ad25f5108e8",
"omsId": "79871fbf-c16d-4213-868a-462f5fcacc19",
"createMethodType": "SELF_MADE",
"releaseMethodType": "IMPORT"
}
В случае успешной отправки возвращается идентификатор заказа (draftId). Пример успешного ответа на
запрос:
"df08122e-30b5-11eb-adc1-0242ac120016"
Пример неуспешного ответа с кодом ошибки 40032:
{
"status": {
"code": 40032,
"message": "Request contains duplicate gtins: [aaaaaa, bbbb]"
},
"result": null
}
В запросе создание заказа на коды маркировки присутствуют элементы совпадающие с GTIN.
3.2.2 Получить контенты заказа для подписания
Для получения контентов заказа для подписания используется запрос на основе метода GET. Запрос
имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{draftId} - идентификатор заказа, полученный на предыдущем шаге (содержится в успешном
ответе на запрос POST /marking-codes/orders/create).
Пример запроса
GET
16/contents
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос:
[
{
"content": "ewogICAgInByb2R1Y3...",
"id": "6f9619ff-8b86-d011-b42d-00cf4fc964f2"
},
{
"content": "CAgICAgICAgImAgImA...",
"id": "6cbf8302-25f6-4139-834e-b857143cbd8f"
}
]
Описание параметров ответа приведены в таблице 3.6.
Таблица 3.6. Описание параметров структуры ответа на запрос
Параметр
Формат значения
Описание
Структура
Содержащая контейнеры для подписания
content
String
Контент документа в формате base64
id
String
Идентификатор контента документа
После получения контентов для подписания, нужно подписать их. Для этого требуется перевести
данные из формата base64 и поместить в файл для подписания, после чего создать открепленную
однострочную (без знаков переноса) подпись и отправляем ее, используя метод "2.1.3 Отправка
подписанных контентов заказа".
3.2.3 Отправка подписанных контентов заказа
Метод позволяет отправить заказ на обработку в «Честный ЗНАК». Используется после получения
контентов из метода "3.1.2 Получить контенты заказа для подписания" и их подписания. Для подписания
контента требуется перевести данные параметра «content» из формата base64 и поместить в файл для
подписания, после чего создать открепленную однострочную (без знаков переноса) подпись и
отправить ее в параметре «content» запроса "3.1.3 Отправка подписанных контентов заказа".
Для отправки подписанных контентов заказа используется запрос на основе метода POST. Запрос имеет
следующий вид:
POST
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{draftId} - идентификатор заказа, полученный в методе "3.1.1 Создание заказа на коды
маркировки".
Описание параметров запроса на отправку заказа в «Честный ЗНАК» представлены в таблице 3.7.
Таблица 3.7. Описание параметров структуры запроса
Параметр
Формат значения
Описание
Структура
Содержащая подписанные контейнеры
content
String
Подписанный контент заказа
id
String
Идентификатор контента заказа
Пример содержимого метода отправки заказа:
POST
16/contents/sign
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"contents": [
{
"content": "MIIMuAYJKoInByb2R1Y3RzIjogWwogICA...",
"id": "6f9619ff-8b86-d011-b42d-00cf4fc964f2"
},
{
"content": "MIIMuAYJKoZIhvcNAQcCoIIMqTCCDKUCA...",
"id": "6cbf8302-25f6-4139-834e-b857143cbd8f"
}
]
}
В случае успешной отправки возвращается Response Messages: 200 ОК.
Пример неуспешного ответа с кодом ошибки 40031:
{
"status": {
"code": 40031,
"message": "Requested contents for order '0835504b-c325-4119-ad3e-16e6c7c72e70'
are not available for sign: [fce4c600-a834-4d02-913c-5ab2d032ac6f]"
},
"result": null
}
Подписанные контейнеры не прошли проверку, подписанные контейнеры не входят в состав заказа.
3.2.4 Получить статус заказа
Метод позволяет получить статус конкретного заказа, используется запрос на основе метода GET.
Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{draftId} - идентификатор заказа, полученный в методе "3.1.1 Создание заказа на коды
маркировки".
Пример запроса
GET
16/status
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос:
IN_PROC
Описание параметров ответа представлены в таблице 3.8.
Таблица 3.8. Описание параметров структуры ответа на запрос
Формат значения
Описание
Статус заказа:
DRAFT - Черновик,
INPROC - Заказ в обработке,
String
SUCCESS - Заказа обработан без ошибок,
FAILURE - Заказ обработан: ошибка по всем позициям,
PARTIALFAILURE - Заказ обработан: часть позиций с ошибками.
3.2.5 Список заказов и их статусы
Для получения списка заказов и их статусов используется запрос на основе метода POST. Запрос имеет
следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса приведены в таблице 3.9.
Таблица 3.9.Описание параметров запроса на получение списка заказа
Значение
Формат
Обязательность
Параметр
Описание
по
значения
в запросе
умолчанию
Начальная дата периода поиска
документов в формате (yyyy-MM-
ddTHH:mm:ssZ), где yyyy - год, mm -
месяц, dd - день, T - это
долговременный паттерн (константа),
creationTimeFromIncl
String
нет
HH - часы, mm - минуты, ss - секунды,
Z - часовой пояс. Примеры даты:
«2021-02-15T18:46:25+03:00» - UTC+03
часа, по Московскому времени,
«2021-02-15T18:46:25Z» - UTC.
Значение
Формат
Обязательность
Параметр
Описание
по
значения
в запросе
умолчанию
Конечная дата периода поиска
документов в формате (yyyy-MM-
ddTHH:mm:ssZ), где yyyy - год, mm -
Текущая
creationTimeToExcl
String
месяц, dd - день, T - это
нет
дата
долговременный паттерн (константа),
HH - часы, mm - минуты, ss - секунды,
Z - часовой пояс.
orderName
String
Наименование заказа
нет
draftId
String
Идентификатор заказа
нет
Количество записей на странице. В виде
pageSize
NUM
1000
нет
десятичного целого числа
Номер запрашиваемой страницы списка
pageIndex
INDEX
документов; в виде десятичного целого
1
нет
числа
Пример запроса:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"creationTimeFromIncl": "2021-02-15T18:46:25+03:00",
"creationTimeToExcl": "2021-02-16T18:46:25+03:00",
"pageSize": 1000,
"pageIndex": 1
}
Пример запроса без фильтров:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
}
Пример успешного ответа на запрос:
{
"result": {
"data": [
[
{
"draftId": "3cf0b5ce-447d-4fb9-86dd-c982362aa754",
"productGroup": "lp",
"creationTime": "2021-03-22T11:18:56.174Z",
"status": "Success",
"requestedQuantity": 9,
"actualQuantity": 9,
"gtinCount": 3,
"orderName": "Тестирование 1 ",
"number": "1616411464201",
"releaseMethodType": "IMPORT"
}
]
],
"pageInfo": {
"pageCount": 0,
"pageIndex": 0,
"pageRecords": 0,
"sortDirection": "string",
"sortKey": {
"present": true
}
}
},
"status": {
"code": 0,
"message": "string"
}
}
Описание параметров ответа представлены в таблице 3.10.
Таблица 3.10. Описание параметров структуры ответа на запрос
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Параметры авторизации
Структура
Данные списка заказов
creationtime
String
Дата создания заказа
Идентификатор заказа, полученный в ответе
draftId
String
на метод «Создание заказа на коды
маркировки»
orderName
String
Наименование заказа
Идентификатор заказа, полученный от
number
String
пользователя
gtincount
String
Ваш идентификатор участника ЭДО
Товарная группа:
lp - Легкая промышленность (Одежда);
shoes - Обувь;
perfumery - Духи и туалетная вода;
productgroup
String
tires - Шины;
data
electronics - Фототехника;
bicycle -Велосипеды;
wheelchairs - Кресла-коляски.
gtinCounty
Integer
Количество кодов товара/GTIN в заказе
requestedQuantity
Integer
Заказанное количество кодов маркировки
result
Фактически полученное количество кодов
actualQuantity
Integer
маркировки
Статус заказа:
DRAFT - Черновик,
INPROC - Заказ в обработке,
SUCCESS - Заказа обработан без ошибок,
status
String
FAILURE - Заказ обработан: ошибка по всем
позициям,
PARTIALFAILURE - Заказ обработан: часть
позиций с ошибками
Информация о делении списка на страницы
Структура
и о передаваемой странице списка
pageCount
Integer
Количество страниц в списке
pageIndex
Integer
Номер передаваемой страницы
pageRecords
Integer
Количество строк списка на странице
pageInfo
Порядок сортировки.
Возможные значения: asc - восходящая
sortDirection
String
(прямой порядок);
desc - нисходящая (обратный порядок).
Значение по умолчанию - desc.
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
3.2.6 Получение кодов маркировки
Метод используется для получения кодов маркировки по заказу. Заказ должен иметь статус Success или
PartialFailure. Метод позволяет забрать все доступные коды по заказу или по конкретному коду товара
(gtin).
Для получения кодов маркировки используется запрос на основе метода GET.
Запрос имеет следующий вид:
GET
Описание параметров запроса приведены в таблице 3.11.
Таблица 3.11. Описание параметров запроса на получение списка документов
Обязательно в
Параметр
Заменяемая строка
Описание
запросе
Обозначение версии системы, текущая версия
{version}
да
равна v1
draftId
{draftId}
Идентификатор заказа
да
gtin
{gtin}
Код товара
нет
Пример запроса
GET
16/codes?gtin=04636332455032
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Структура успешного ответа на запрос:
{
"draftId": "string",
"markingCodes": [
"string"
]
}
Описание параметров ответа представлены в таблице 3.12.
Таблица 3.12. Описание параметров структуры ответа на запрос
Параметр
Формат значения
Описание
draftId
String
Идентификатор заказа
markingCodes
Массив кодов маркировки
3.2.7 Получение подробной информации о статусе каждого кода товара/GTIN в
заказе
Метод позволяет получить информацию о товарных позициях конкретного заказа кодов маркировки,
используется запрос на основе метода GET. Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{orderId} - Id заказа.
Пример запроса
GET
16/positions
Authorization:Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос:
{
"result": {
"data": [
{
"name": "04636332455032",
"gtin": "04636332455032",
"requestedCodesCnt": 2,
"obtainedCodesCnt": 0,
"status": "Failure",
"details": "Проверка учетных данных УОТ не пройдена. Маркер безопасности b9b248ec-
ea14-2f4f-7372-37e80892a1ae не найден"
}
],
"pageInfo": {
"pageCount": 1,
"pageIndex": 1,
"pageRecords": 1,
"sortDirection": "desc",
"sortKey": "someKey"
}
},
"status": {
"code": 0,
"message": "some message here"
}
}
Описание параметров ответа представлены в таблице 3.13.
Таблица 3.13. Описание параметров структуры ответа на запрос
Вложенные
Формат
Параметр
Вложенные поля
Описание
поля
значения
Структура
Содержимое ответа
Структура
Данные контейнера
gtin
String
Номер gtin
name
String
Наименование
requestedCodesCnt
Integer
Количество запрошенных кодов
obtainedCodesCnt
Целое число
Количество полученных кодов
Статус заказа по конкретному коду
товара/GTIN:
data
Success - коды получены,
PartialFailure,
status
Integer
Failure - отклонено,
InProс - в обработке,
AwaitingSign - заказ создан, ожидает
подписания для отправки в «Честный
result
ЗНАК»
details
String
Причина ошибки
Информация о делении списка на
Структура
страницы и о передаваемой странице
списка
pageCount
Integer
Количество страниц в списке
pageIndex
Integer
Номер передаваемой страницы
pageRecords
Integer
Количество записей на странице.
pageInfo
sortDirection
Integer
Направление сортировки
Порядок сортировки.
Возможные значения:
sortKey
String
asc - восходящая (прямой порядок);
desc - нисходящая (обратный порядок).
Значение по умолчанию - desc
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
3.2.8 Получение информации об общих параметрах заказа
Метод позволяет получить параметры конкретного заказа, используется запрос на основе метода GET.
Запрос имеет следующий вид:
GET
eq&include=mc&include=intro
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{orderId} - Id заказа
Пример запроса
GET
16?include=mc-orig-req&include=mc&include=intro
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос:
{
"result": {
"originalRequest": {
"number": "938a9a02-f203-4694-9165-8326a22f9f38",
"comment": "комментарий",
"omsId": "79871fbf-c16d-4213-868a-462f5fcacc14",
"clientToken": "d1d15b74-e56a-45d9-aaa9-9ad25f5108e9",
"positions": [
{
"gtin": "04636332455094",
"name": "Куртка зеленая мужская, 54 размер",
"quantity": 98,
"serialNumberType": "OPERATOR",
"templateId": "10",
"cisType": "UNIT"
}
],
"releaseMethodType": "IMPORT",
"productGroup": "lp",
"contactPerson": "Иванов И.А.",
"createMethodType": "SELF_MADE",
"orderName": "531313"
},
"mcOrderInfo": {
"comment": "комментарий к заказу",
"creationTime": "2021-02-15T10:51:55.457Z",
"finishedProcessingTime": "2021-02-15T10:51:55.457Z",
"orderName": "Наименование заказа",
"startProcessingTime": "2021-02-15T10:51:55.457Z",
"status": "InProc",
"totalObtainedCodesCnt": 8,
"totalRequestedCodesCnt": 10
}
},
"status": {
"code": 0,
"message": "ОК"
}
}
Описание параметров ответа представлены в таблице 3.14.
Таблица 3.14. Описание параметров структуры ответа на запрос
Вложенные
Параметр
Вложенные поля
Вложенные поля
Формат значения
Описание
поля
Структура
Параметры авторизации
Структура
Параметры заказа, полученные при его формировании
Номер заказа, указанный клиентом в методе «Создание заказа на коды
number
String
маркировки»
comment
String
Комментарий
omsId
String
Идентификатор клиента в ЧЗ, указанный при создании заказа
clientToken
String
Токен авторизации, указанный при создании заказа
Структура
Список товаров
gtin
String (14) [0-9] {14}
Код товара (GTIN)
name
String
Наименование товара
quantity
Integer($int32)
Количество КМ
Способ генерации серийных номеров:
serialNumberType
String
SELF_MADE - самостоятельно;
OPERATOR - оператором ГИС МТ.
Массив серийных номеров. Это
serialNumbers
JSON Array of String
поле указывается в случае, если
значение «serialNumber = SELF_MADE»
Идентификатор шаблона товарной группы:
1 - обувные товары;
10 - предметы одежды, белье постельное, столовое, туалетное и кухонное;
7 - шины и покрышки пневматические резиновые новые;
positions
templateId
Integer ($int32)
8 - фотокамеры (кроме кинокамер), фотовспышки и лампы-вспышки;
9 - Духи и туалетная вода;
11 - велосипеды и велосипедные рамы;
12 - кресла коляски.
Тип кода маркировки:
UNIT - единица товара;
BUNDLE - комплект;
cisType
String
SET - набор;
GROUP - групповая потребительская упаковка.
Используется только для ТГ «Одежда», обязательно для данной ТГ.
ИНН/УНБ (или аналог) экспортера.
Используется только для ТГ «Одежда» и «Обувь».
exporterTaxpayerId
String
Становится обязательным для этих ТГ, только если в поле releaseMethod
originalRequest
(способ выпуска товара в оборот) было выбрано
значение «CROSSBORDER» (Ввезен в РФ из стран ЕАЭС)
Товарная группа:
lp - Легкая промышленность (одежда);
shoes - Обувь;
perfumery - Духи и туалетная вода;
productGroup
String
tires - Шины;
electronics - Фототехника;
result
bicycle -Велосипеды;
wheelchairs - Кресла-коляски.
clientToken
String
omsId
String
Способ изготовления:
SELF_MADE - Самостоятельно;
CEM - ЦЭМ;
createMethodType
String
CM - Контрактное производство;
CL - Логистический склад;
CA - Комиссионная площадка.
Используется только для ТГ «Одежда» и «Обувь», обязательно для данных ТГ.
Способ выпуска товаров:
PRODUCTION - производство РФ;
IMPORT - ввезен в РФ (импорт);
REMAINS - маркировка остатков (доступно только для ТГ «Духи и туалетная
releaseMethodType
String
вода»);
COMMISSION - Принят на комиссию от физического лица (доступно для ТГ
«Одежда», «Обувь»).
Используется только для ТГ «Одежда» и «Обувь», обязательно для данных ТГ.
Контактное лицо.
contactPerson
String
Используется только для ТГ «Одежда» и «Обувь»
Идентификатор производственного заказа.
productionOrderId
String
Используется только для ТГ «Одежда» и «Обувь»
Идентификатор сервис-провайдера.
serviceProviderId
String(36) UUID
Используется только при наличии сервис-провайдера
в ЛК Честного знака.
orderName
String
Наименование заказа
Структура
Информация об обработке заказа в ЧЗ
comment
String
Пользовательский комментарий
creationTime
String
Время создания заказа
Время получения итогового ответа от ЧЗ по каждому коду товара/GTIN в
finishedProcessingTime
String
заказе
orderName
String
Наименование заказа
startProcessingTime
String
Время подписания заказа и отправки в ЧЗ
mcOrderInfo
Статус заказа:
DRAFT - Черновик,
INPROC - Заказ в обработке,
status
String
SUCCESS - Заказа обработан без ошибок,
FAILURE - Заказ обработан: ошибка по всем позициям,
PARTIALFAILURE - Заказ обработан: часть позиций с ошибками
totalObtainedCodesCnt
Integer
Общее количество полученных КМ для заказа
totalRequestedCodesCnt
Integer
Общее количество заказанных КМ для заказа
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
3.2.9 Сохранение OMS ID
Метод позволяет сохранить параметр OMS ID - уникальный идентификатор клиента в Станции
управления заказами (СУЗ) Честного ЗНАКа. Как найти этот параметр?
При повторном успешном вызове метода параметр OMS ID пересохраняется.
Используется запрос на основе метода POST. Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Параметры запроса
Параметр
Формат значения
Описание
Обязательно в запросе
omsId
String
OMS ID - уникальный идентификатор в СУЗ
Да
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
omsId: "79871fbf-c16d-4213-868a-462f5fcacc14"
}
Пример успешного ответа на запрос имеет следующий вид
{
"result": {
"omsId": "79871fbf-c16d-4213-868a-462f5fcacc14"
},
"status": {
"code": 0,
"message": "ОК"
}
}
Описание параметров ответа на запрос авторизации приведено в таблице 3.15.
Таблица 3.15. Описание параметров структуры ответа на запрос авторизации
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Параметры
result
omsId
String
OMS ID - уникальный идентификатор в СУЗ
3.2.10 Получить данные для подписи в рамках получения omsConnection
Для получения данных для подписания используется запрос на основе метода POST. Запрос имеет
следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Пример запроса
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Структура успешного ответа на запрос:
{
"result": {
"contentForSignBase64": "contentForSignBase64"
},
"status": {
"code": 0,
"message": "some message here"
}
}
Описание параметров ответа приведены в таблице 3.16.
Таблица 3.16. Описание параметров структуры ответа на запрос
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Структура
Параметры
result
contentForSignBase64
String
Строка для подписания
После получения строки для подписания, нужно подписать ее. Для этого требуется перевести данные из
формата base64 и поместить в файл для подписания, после чего создать открепленную однострочную
(без знаков переноса) подпись и отправить ее, используя метод «5.2.11 Отправка подписанных данных в
рамках получения omsConnection».
3.2.11 Отправка подписанных данных в рамках получения omsConnection
Метод позволяет отправить заказ на обработку в «Честный ЗНАК». Используется после получения строки
из метода "3.2.10 Получить данные для подписи в рамках получения omsConnection" и ее подписания.
Для подписания строки требуется перевести данные из формата base64 и поместить в файл для
подписания, после чего создать открепленную однострочную (без знаков переноса) подпись и
отправить ее в параметре «contentSignedBase64» запроса [#3.2.10 Получить данные для подписи в
рамках получения omsConnection|»3.2.10 Получить данные для подписи в рамках получения
omsConnection»]].
Для отправки подписанных данных используется запрос на основе метода POST. Запрос имеет
следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса на отправку данных представлены в таблице 3.17.
Таблица 3.17. Описание параметров структуры запроса
Формат
Параметр
Описание
значения
Строка для подписания, полученная в параметре
contentBase64
String
«contentForSignBase64» метода "Отправка подписанных данных в
рамках получения omsConnection"
Результат подписания строки: открепленная подпись в формате
contentSignedBase64
String
PKCS#7/CMS, закодированная с помощью алгоритма “Base 64”, без
переноса строк.
Пример структуры содержимого метода:
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"contentBase64": "ceyJhZGRyZXNzIjo
Строка",
"contentSignedBase64": "MIIMuAYJKoZIhvc
Строка"
}
Пример успешного ответа на запрос:
{
"result": {},
},
"status": {
"code": 0,
"message": "OK"
}
}
Описание параметров ответа приведены в таблице 3.18.
Таблица 3.18. Описание параметров структуры ответа на запрос
Параметр
Вложенные поля
Формат значения
Описание
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
result
Структура
3.2.12 Получение параметров OMS ID и OmsConnection
Метод позволяет получить информацию о сохраненных параметрах OMS ID (уникальный идентификатор
клиента в Станции управления заказами (СУЗ) Честного ЗНАКа) и OmsConnection (уникальный
идентификатор соединения), используется запрос на основе метода GET. Запрос имеет следующий вид:
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример успешного ответа на запрос:
{
"result": {
"omsConnection": "a35c80bb-9af3-4478-8d91-a07ce3be6c43",
"omsId": "79871fbf-c16d-4213-868a-462f5fcacc14"
},
"status": {
"code": 0,
"message": "OK"
}
}
Описание параметров ответа представлены в таблице 3.19.
Таблица 3.19. Параметры структуры ответа на запрос
Параметр
Вложенные поля
Формат значения
Описание
Структура
Содержимое ответа
result
omsConnection
String
Уникальный идентификатор соединения
omsId
String
Уникальный идентификатор клиента в СУЗ
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
3.3. Ввод в оборот
Порядок действий при вводе в оборот:
1. Проверить, что вы авторизованы в системе маркировки с помощью метода "Получить состояние
авторизации". Обязательно указать в запросе в параметре {authType} значение introduction. В
ответе вы получите Время инвалидации токена (параметр tokenTtl). Если время больше текущего,
значит вы авторизованы в системе. Если в ответе параметр отсутствует или время меньше
текущего, то требуется авторизоваться для работы с маркировкой. Как это сделать читайте в
разделе "3.1. Авторизация для работы с маркировкой". При авторизации в запросах в параметре
authType указывайте значение introduction.
2. Методом Создание заявки "Вывод из оборота" создать документ ввода в оборот.
3. Методом "3.3.4 Получить данные документа ввода в оборот для подписания" получить контент
документа (Base64) и идентификатор контента.
4. Подписать полученный контент. Для подписания контента требуется перевести данные параметра
«content» из формата base64 и поместить в файл для подписания, после чего создать
открепленную/отсоединенную однострочную (без знаков переноса) подпись.
5. Отправить подписанный контент. Для этого нужно закодировать полученную подпись в base64 и
отправить ее в параметре «content» метода "3.3.5 Отправить подписанный документ ввода в
оборот в «Честный ЗНАК»".
6. Проверить статус обработки документа ввода с помощью метода "3.3.6 Получить статус документа
ввода в оборот".
3.3.1 Создать документ ввода в оборот (Импорт ФТС)
Данный метод позволяет создать документ «Ввод в оборот. Импорт ФТС». В случае успешной отправки
возвращается идентификатор документа (documentId).
Для создания заказа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса на создание заказа приведены в таблице 3.20.
Таблица 3.20. Параметры запроса на создание заказа
Вложенные
Формат
Обязательно в
Параметр
Описание
поля
значения
запросе
Номер документа ввода в оборот (должно
documentNumber
String
Да
быть уникальным)
Дата декларации имеет вид «YYYY-MM-DD».
declarationDate
String
Да
Пример «2020-02-22»
Вложенные
Формат
Обязательно в
Параметр
Описание
поля
значения
запросе
Номер декларации.
Пример номера декларации:
«05100005/220220/0002233», где
declarationNumber
String
Да
«220220» - это дата декларации, которая
должна совпадать с датой,
указанной в параметре declarationDate.
comment
String
Комментарий к документу
Нет
Структура
Список товаров
Да
cis
String
Код маркировки
Да
positions
Тип упаковки:
packtype
String
UNIT - КИ;
Да
LEVEL1-99 - КИТУ.
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
productGroup
String
Да
tires - Шины,
electronics - Фототехника,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски.
Пример запроса
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"documentNumber": "6f9619ff-8b86-d011-b42d-00cf4fc964f2",
"declarationNumber": "05100005/110121/0002233",
"declarationDate": "2021-01-11",
"comment": "комментарий к документу",
"positions": [
{
"cis": "010463633245506321VKCCw)HEmmMog",
"packType": "UNIT"
}
],
"productGroup": "lp"
}
В случае успешной отправки возвращается идентификатор документа (documentId).
Пример успешного ответа на запрос:
df08122e-30b5-11eb-adc1-0242ac120016
3.3.2 Создать документ ввода в оборот (Полученных от физических лиц)
Данный метод позволяет создать документ «Ввод в оборот. Полученных от физических лиц». В случае
успешной отправки возвращается идентификатор документа (documentId).
Для создания заказа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса на создание заказа приведены в таблице 3.21.
Таблица 3.21. Описание параметров запроса на создание заказа
Формат
Обязательно в
Параметр
Вложенные поля
Описание
значения
запросе
Номер документа ввода в оборот
documentnumber
String
Да
(должно быть уникальным)
comment
String
Комментарий к документу
Нет
Структура
Список товаров
Да
Код маркировки. Обязательный, если не
Условно
uit
String
указан «uitu»
обязательное
Уникальный идентификатор
Условно
uitu
String
транспортной упаковки.
обязательное
Обязательный, если не указан «uit»
positions
Дата получения товара. Параметр
присутствует в запросе, если его
значение отличается от значения
product_receiving_date
date
Нет
параметра «product_receiving_date».
Задается в формате yyyy-
MMddTHH:mm:ss.SSS’Z
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
productgroup
String
Да
tires - Шины,
electronics - Фототехника,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски.
Дата получения товара. Задается в
String (date-
productReceivingDate
формате yyyy-MMddTHH:mm:ss.SSS’Z,
Да
time)
например,
«2021-01-19T21:00:00.000Z»
Пример запроса
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"documentNumber": "6f9619ff-8b86-d011-b42d-00cf4fc964f2",
"comment": "комментарий к документу",
"positions": [
{
"uit": "010463633245506321VKCCw)HEmmMog"
}
],
"productgroup": "lp",
"productReceivingDate: "2021-01-19T21:00:00.000Z"
}
В случае успешной отправки возвращается идентификатор документа (documentId).
Пример успешного ответа на запрос:
df08122e-30b5-11eb-adc1-0242ac120016
3.3.3 Создать документ ввода в оборот (Производство РФ)
Данный метод позволяет создать документ «Ввод в оборот. Производство РФ». В случае успешной
отправки возвращается идентификатор документа (documentId).
Для создания заказа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемый параметр {version} - обозначение версии системы, по умолчанию равен v1.
Описание параметров запроса на создание заказа приведены в таблице 3.22.
Таблица 3.22. Описание параметров запроса на создание заказа
Формат
Обязательно
Параметр
Вложенные поля
Описание
значения
в запросе
Номер документа ввода в оборот
documentnumber
String
Да
(должно быть уникальным)
comment
String
Комментарий к документу
Нет
Структура
Список товаров
Да
Товарная группа:
lp - Легкая промышленность
(одежда),
shoes - Обувь,
productGroup
String
perfumery - Духи и туалетная вода,
Да
tires - Шины,
electronics - Фототехника,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски.
Дата создания продукции. Задается
productionDate
date
Да
в формате yyyy-MM-dd
Код маркировки. Обязательный,
Условно
uit
String
если не указан «uitu»
обязательное
Уникальный идентификатор
Условно
uitu
String
транспортной упаковки.
обязательное
Обязательный, если не указан «uit»
Код товарной номенклатуры (10
tnved_code
String
Нет
positions
знаков)
Код вида документа обязательной
сертификации \\Возможные
значения:
certificate_document
String
CONFORMITY_CERTIFICATE -
Нет
сертификат соответствия;
CONFORMITY_DECLARATION
–декларация соответствия
Номер документа обязательной
certificate_document_number
String
Нет
сертификации
Дата документа обязательной
сертификации. Задается в формате
String (date-
certificate_document_date
yyyy-MM-dd. Диапазон даты, начиная
Да
time)
с 2000-01-01 по дату создания
документа
Номер ВСД, указывается для ТГ
«Молочная продукция»,
vsd_number
string
Да
обязательный, если в карточке НК
«veterinaryControl» = true
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"comment": "Some comment",
"documentNumber": "6f9619ff-8b86-d011-b42d-00cf4fc964f2",
"positions": [
{
"production_date": "2019-01-01",
"uit_code": "0104630033880100211AREwAwLETM7g240ffd0",
"uitu_code": 111111111111111111,
"tnved_code": "6401921000",
"certificate_document": "CONFORMITY_CERTIFICATE",
"certificate_document_number": "123",
"certificate_document_date": "2019-01-01",
"vsd_number": "9DDA-5D57-FAEA-46DD-B94D-3DCC-AC70-1091" }
],
"productGroup": "lp",
"productionDate": "2019-01-01"
}
В случае успешной отправки возвращается идентификатор документа (documentId).
Пример успешного ответа на запрос:
df08122e-30b5-11eb-adc1-0242ac120016
3.3.4 Получить данные документа ввода в оборот для подписания
Данный метод позволяет получить данные документа для подписания.
Используется запрос на основе метода GET. Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{documentId} - Id документа.
Пример запроса
GET
ac120016/contents
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример ответа
{
"content": "ewogICAgInB...",
"id": "6f9619ff-8b86-d011-b42d-00cf4fc964f2"
}
Таблица 3.23. Описание параметров ответа на запрос
Параметр
Формат значения
Описание
content
string
Идентификатор контента документа
id
String
Контент документа в формате base64
3.3.5 Отправить подписанный документ ввода в оборот в «Честный ЗНАК»
Метод позволяет отправить документ ввода в оборот в «Честный ЗНАК». Используется после получения
контента из метода «Получение данных документа ввода в оборот для подписания» и их подписания.
Для подписания контента требуется перевести данные параметра «content» из формата base64 и
поместить в файл для подписания, после чего создать открепленную/отсоединенную однострочную (без
знаков переноса) подпись. Затем закодировать полученную подпись в base64 и отправить ее в
параметре «content» запроса «Отправка подписанного документа ввода в оборот в «Честный ЗНАК».
Для отправки документа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{documentId} - Id документа.
Пример запроса
POST
ac120016/send
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"content": "ewogICAgInB..."
}
Таблица 3.24. Коды ответа на запрос
Статус кода HTTP
Причина ответа
200
Запрос выполнен успешно
401
Ошибка аутентификации/авторизации
3.3.6 Получить статус документа ввода в оборот
Данный метод позволяет получить статус документа ввода в оборот.
Используется запрос на основе метода GET. Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{documentId} - Id документа.
Пример запроса
GET
ac120016/status
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример ответа
{
"codesIntroductionType": "LP_FTS_INTRODUCE",
"comment": "some comment",
"documentId": "cf9619ff-8b76-d211-b42d-00cf4fc964f5",
"documentNumber": "6f9619ff-8b86-d011-b42d-00cf4fc964f2",
"documentStatus": "Created",
"errors": "\"errors\":\"{\"errors\": [\"parse_error\", \"parse_error_2\"]\"}\"",
"productGroup": "lp"
}
Таблица 3.25. Описание параметров ответа на запрос создание заказа
Формат
Обязательно в
Параметр
Описание
значения
запросе
Тип документа на ввод в оборот:
LP_FTS_INTRODUCE - Ввод в оборот. Импорт с ФТС;
LP_INTRODUCE_GOODS - Ввод в оборот.
codesIntroductionType
string
Да
Производство;
LK_INDI_COMMISSIONING - Ввод в оборот.
Полученных от физических лиц.
comment
String
Комментарий к документу
Нет
documentId
String
Уникальный идентификатор документа в ГИС МТ.
Да
Уникальный идентификатор запроса пользователя,
documentNumber
String
Да
задается пользователем
Статус документа:
Created - «Требуется подпись», документ ввода
создан, требуется подписать документ для
отправки его в Честный ЗНАК«;
documentStatus
string
Sending - «Отправляется»
Да
SentForIntroduction - «Отправлен в ЧЗ»
IntroductionFailed - «Ошибка ввода»
SendingError - «Ошибка отправки документа»
Introduced - «Введено в оборот».
errors
string
Ошибки документа по вводу в оборот КМ
Нет
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
productgroup
String
Да
tires - Шины,
electronics - Фототехника,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски.
3.4. Проверка кодов маркировки
Метод возвращает подробную информацию о запрашиваемом списке кодов идентификации товара: в
одном запросе указывается как один КИ, так и несколько КИ (не более 1000 КИ). Коды товарной группы
«Табачная продукция» и «Альтернативная табачная продукция» по блокам можно указывать в запросах
как со скобками, так и без скобок. В ответе код всегда будет со скобками.
Перед вызовом метода рекомендуем проверить, что вы авторизованы в системе маркировки с помощью
метода "Получить состояние авторизации", указав в запросе в параметре authType значение introduction.
В ответе вы получите Время инвалидации токена (параметр tokenTtl). Если время больше текущего,
значит вы авторизованы в системе. Если в ответе параметр отсутствует или время меньше текущего, то
требуется авторизоваться для работы с маркировкой. Как это сделать читайте в разделе "3.1.
Авторизация для работы с маркировкой". При авторизации в запросах в параметре authType указывайте
значение introduction.
Запрос имеет следующий вид:
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
Таблица 3.26. Описание параметров запроса, проверки кода маркировки
Обязательно в
Параметр
Формат значения
Описание
запросе
cisList
Array[string]
Список КИ для получения по ним информации
Да
Обязательно в
Параметр
Формат значения
Описание
запросе
Товарная группа:
lp - Легкая промышленность (одежда);
shoes - Обувь;
tobacco - Табачные изделия;
perfumery - Духи и туалетная вода;
tires - Шины;
electronics - Фототехника;
productgroup
String
pharma - Лекарственные препараты для
Нет
медицинского применения;
milk - Молочная продукция;
bicycle - Велосипеды;
wheelchairs - Кресла-коляски;
alternativeTobacco - Альтернативная табачная
продукция;
water - Питьевая вода.
Пример запроса
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
{
"cisList": [
"010087879823112021fIYV1Gs-pFVYn",
"010087879823112021>Qie.6lpQt!h!"
],
"productGroup": "lp"
}
Пример положительного ответа (Код 200):
{
"status": {
"code": 0,
"message": "OK"
},
"result": [
{
"cisInfo": {
"requestedCis": "010088579823682021>Qie.6lpQt!h!",
"cis": "010088579823682021>Qie.6lpQt!h!",
"gtin": "00885798236820",
"productName": "MWX0340OL71, КУРТКА МУЖСКАЯ, РАЗМЕР M",
"productGroupId": 1,
"productGroup": "lp",
"brand": "BARBOUR",
"emissionDate": "2020-12-01T09:13:34.492+0000",
"emissionType": "FOREIGN",
"packageType": "UNIT",
"ownerInn": "323401346147",
"ownerName": "ИП Каменцов Денис Анатольевич",
"status": "RETIRED",
"statusEx": "EMPTY",
"producerInn": "7729491871",
"producerName": "АО \"ЛАЙТ ХАУЗ\"",
"markWithdraw": false,
"certDoc": [
{
"number": "ЕАЭС N RU Д-GB.АБ43.В.01347",
"date": "2018-08-08"
}
],
"withdrawReason": "RETAIL"
}
}
]
}
Пример ошибки (Код 400):
{
"status": {
"code": 40033,
"message": "Invalid client token"
},
"result": null
}
Требуется проверить авторизацию в честном знаке, методом "Получение состояния авторизации" или
пройти повторную авторизацию в честном знаке. Описание авторизации в честном знаке описаны в
разделах 3.1.1, 3.1.2.
Таблица 3.27. Параметры ответа на запрос проверки кода маркировки
Вложенные
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
поля
Структура
Array
Структура
Информация по коду маркировки
agentInn
String
ИНН агента
child
Array[string]
Список дочерних кодов маркировки
expirationDate
String
Срок годности
exporterName
String
Наименование экспортера
markWithdraw
Boolean
Состояние кода маркировки
maxRetailPricew
Integer
Максимальная цена розничной продажи
parent
String
Родительский код
Идентификатор производственного или транспортного ветеринарного
prVetDocument
String
сопроводительного документа (ВСД)
producedDate
String
Дата ввода товара в оборот
requestedCis
String
Код маркировки в запросе
cis
String
Код маркировки в найденный в базе данных «Честный Знак»
gtin
String
Код товара (GTIN)
productName
String
Название товара
productGroupId
integer
Идентификатор товара
Товарная группа:
lp - легкая промышленность;
shoes - обувные товары;
clothes - Предметы одежды, белье постельное, столовое, туалетное и
кухонное;
tobacco - Табачные изделия;
perfumery - Духи и туалетная вода;
tires - Шины и покрышки пневматические резиновые новые;
productGroup
String
electronics - Фотокамеры (кроме кинокамер), фотовспышки и лампы-
вспышки;
pharma - Лекарственные препараты для медицинского применения;
milk - Молочная продукция;
bicycle - Велосипеды и велосипедные рамы;
wheelchairs - Кресла-коляски;
alternativeTobacco - Альтернативная табачная продукция;
water - Питьевая вода.
brand
String
Марка товара
emissionDate
String
Дата ввода в оборот кода маркировки
Тип кода маркировки может принимать следующие значения:
LOCAL - производство РФ;
emissionType
String
FOREIGN - ввезён в РФ;
REMAINS - маркировка остатков;
CROSSBORDER - ввезён из странЕАЭС/
result
Тип упаковки может принимать следующие значения:
cisInfo
UNIT - Единица товара;
GROUP - Групповая упаковка;
LEVEL1 - Упаковка 1-го уровня;
LEVEL2 - Упаковка 2-го уровня;
packageType
String
LEVEL3 - Упаковка 3-го уровня;
LEVEL4 - Упаковка 4-го уровня;
LEVEL5 - Упаковка 5-го уровня;
BUNDLE - Комплект;
ATK - Агрегированный таможенный код;
SET - Набор.
ownerInn
String
ИНН организации владельца кода маркировки
ownerName
String
Название организации владельца кода маркировки
Статус кода маркировки может принимать следующие значения:
EMITTED - Эмитирован. Выпущен;
APPLIED - Эмитирован. Получен;
INTRODUCED - В обороте;
WRITTEN_OFF - Списан;
RETIRED - Выбыл;
WITHDRAWN - Выбыл (только для ТГ «Табачная продукция» и
status
String
«Альтернативная табачная продукция»);
INTRODUCED_RETURNED - Возвращён в оборот (только для ТГ «Табачная
продукция» и «Альтернативная табачная продукция»);
DISAGGREGATION - Расформирован (только для КИТУ, АТК и набора всех ТГ,
кроме «Табачная продукция» и «Альтернативная табачная продукция»);
DISAGGREGATED - Расформирован (только для КИТУ и АТК ТГ «Табачная
продукция» и «Альтернативная табачная продукция»).
Параметр может принимать значения из таблицы «Актуальные особые
statusEx
String
состояния».
tnVedEaes
String
Код ТНВЭД
tnVedEaesGroup
String
Код группы ТНВЭД
withdrawReasonOther
String
Друга причина вывода из оборота
producerInn
String
ИНН организации производителя товара
producerName
String
Название организации производителя товара
markWithdraw
boolean
Состояния кода маркировки
Структура
Array
Данные по документу обязательной сертификации
number
String
Номер документа
date
String
Дата проведения сертификации
certDoc
Тип сертификатов имеет следующие значения:
type
String
CONFORMITY_CERTIFICATE - сертификат соответствия;
CONFORMITY_DECLARATION - декларация соответствия.
withdrawReason
String
Причина вывода из оборота, см. «Справочник причин вывода из оборота»
Вложенные
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
поля
Структура
Состояние запроса
status
code
Integer
Код ответа на запрос (0 - OK)
message
String
Сообщение в ответе на запрос
Таблица 3.28. «Актуальные особые состояния».
Код
Описание
Актуальный
EMPTY
Значение отсутствует
RESERVED_NOT_USED
Зарезервировано. Не использовать
INTRODUCED
КиЗ индивидуализирован (только для ТГ»Товары из
INDIVIDUAL
EMITTED, APPLIED
натурального меха«)
КиЗ не индивидуализирован (только для ТГ «Товары из
NON_INDIVIDUAL
EMITTED, APPLIED
натурального меха»)
WAIT_SHIPMENT
Ожидает подтверждения приёмки
INTRODUCED
EXPORTED
Используется для документов экспорта
LOAN_RETIRED
Выведен из оборота по договору рассрочки
RETIRED
REMARK_RETIRED
Выведен из оборота при перемаркировке
WRITTEN-OFF
Ожидает передачу собственнику (контрактное
WAIT_TRANSFER_TO_OWNER
INTRODUCED
производство)
Товар ожидает перемаркировку или КИ списан после
WAIT_REMARK
WRITTEN_OFF
нанесения на товар
RETIRED_CANCELLATION
Списание
WRITTEN_OFF
Безвозмездная передача, применяется в документе
RETIRED_DONATION
RETIRED
«Отгрузка»
Приобретение государственным предприятием,
RETIRED_STATE_ENTERPRISE
RETIRED
применяется в документе «Отгрузка»
Использование для собственных нужд покупателем,
RETIRED_NO_RETAIL_USE
RETIRED
применяется в документе «Отгрузка»
Экспорт за пределы стран ЕАЭС, применяется в
RETIRED_BEYOND_EEC_EXPORT
RETIRED
документе Вывод из оборота
Продажа по образцам, дистанционный способ продажи,
RETIRED_REMOTE_SALE
RETIRED
применяется в документе «Вывод из оборота»
Экспорт в страны ЕАЭС, применяется в документе
RETIRED_EEC_EXPORT
RETIRED
«Вывод из оборота»
Возврат физическому лицу, применяется в документе
RETIRED_RETURN
RETIRED
«Вывод из оборота»
Утрата или повреждение, применяется в документе
RETIRED_DAMAGE_LOSS
RETIRED
«Вывод из оборота»
Уничтожение, применяется в документе «Вывод из
RETIRED_DESTRUCTION
RETIRED
оборота»
Конфискация, применяется в документе «Вывод из
RETIRED_CONFISCATION
RETIRED
оборота»
Ликвидация предприятия, применяется в документе
RETIRED_LIQUIDATION
RETIRED
«Вывод из оборота»
RETIRED_ENTERPRISE_USE
Использование для собственных нужд
RETIRED
FTS_RESPOND_NOT_OK
Отрицательное решение ФТС
APPLIED
FTS_RESPOND_WAITING
Ожидает подтверждение ФТС
APPLIED
FTS_CONTROL
На контроле ФТС
APPLIED
IN_GRAY_ZONE
Находится в Серой зоне
APPLIED
Таблица 3.29. «Справочник причин вывода из оборота».
Причина
Описание
KM_SPOILED
испорчен КМ
KM_LOST
утерян КМ
Причина
Описание
KM_DESTROYED
уничтожен КМ
DESCRIPTION_ERRORS
выявлены ошибки описания товара
RETAIL
розничная реализация
EEC_EXPORT
экспорт в страны ЕАЭС
BEYOND_EEC_EXPORT
экспорт за пределы ЕАЭС
RETURN
возврат от физ.лица
REMOTE_SALE
продажа по образцам, дистанционный способ продажи
DAMAGE_LOSS
утрата или повреждение
DESTRUCTION
утилизация или уничтожение
CONFISCATION
конфискация
LIQUIDATION
ликвидация
DONATION
безвозмездная передача
STATE_ENTERPRISE
приобретение гос.предприятием
NO_RETAIL_USE
использование для собственных нужд покупателем
ENTERPRISE_USE
использование для собственных нужд предприятия
KM_SPOILED_OR_LOST
испорчено либо утеряно СИ с КМ
KM_CANCELLATION
аннулирование не преобразованных в СИ с КИ по истечении срока
RETAIL_RETURN
возврат от розничного покупателя
REMOTE_SALE_RETURN
возврат в случае дистанционной продажи
KMCANCELATION
списание при трансформации
OTHER
другая причина
3.5. Вывод из оборота
Создание документа доступно для товарных групп «Альтернативная табачная продукция», «Антисептики
и дезинфицирующие средства», «Биологически активные добавки к пище», «Велосипеды и
велосипедные рамы», «Духи и туалетная вода», «Кресла-коляски», «Молочная продукция», «Обувные
товары», «Пиво, напитки, изготавливаемые на основе пива, слабоалкогольные напитки», «Предметы
одежды, бельё постельное, столовое, туалетное и кухонное», «Упакованная вода», «Фотокамеры (кроме
кинокамер), фотовспышки и лампы-вспышки», «Шины и покрышки пневматические резиновые новые».
Порядок действий при выводе из оборота:
1. Проверьте, что вы авторизованы в системе маркировки с помощью метода "Получить состояние
авторизации", указав в запросе в параметре authType значение introduction. В ответе вы получите
Время инвалидации токена (параметр tokenTtl). Если время больше текущего, значит вы
авторизованы в системе. Если в ответе параметр отсутствует или время меньше текущего, то
требуется авторизоваться для работы с маркировкой. Как это сделать читайте в разделе "3.1.
Авторизация для работы с маркировкой". При авторизации в запросах в параметре authType
указывайте значение introduction.
2. Методом Создание заявки "Вывод из оборота" создайте документ вывода из оборота.
3. Методом "Получить данные документа вывода из оборота для подписания" получите контент
документа (Base64) и идентификатор контента.
4. Сформируйте откреплённую подпись для контента заказа.
5. Отправьте контент подписи (в Base64) методом "Отправить подписанный документ вывода из
оборота в «Честный ЗНАК»".
6. Проверить статус обработки документа вывода можно с помощью метода "Получение карточки".
Список всех заявок на вывод из оборота можно получить методом "Получение списка заявок". Методом
"Получение списка кодов маркировки из заявки" можно получить список всех кодов маркировки, которые
были в документе вывода.
3.5.1. Создание заявки "Вывод из оборота"
Метод позволят создать заявку на вывод из оборота кодов маркировки.
POST
Заменяемый параметр {version} по умолчанию заменяется на v1.
Таблица 3.30. Описание параметров запроса
Формат
Обязательность
Параметр
Вложенные поля
Вложенные поля
Описание
значения
в запросе
conmment
String
Комментарий
Нет
documentDescription
String
Наименование заявки
Да
Структура
Заявка на вывод из оборота кодов маркировки
Причины вывода из оборота:
RETAIL - розничная реализация;
EEC_EXPORT - экспорт в страны ЕАЭС;
BEYOND_EEC_EXPORT - экспорт за пределы ЕАЭС;
RETURN - возврат от физ.лица;
REMOTE_SALE - продажа по образцам, дистанционный способ продажи;
action
String
DAMAGE_LOSS - утрата или повреждение;
Да
DESTRUCTION - утилизация или уничтожение;
CONFISCATION - конфискация;
LIQUIDATION - ликвидация;
ENTERPRISE_USE - использование для собственных нужд предприятия;
STATE_SECRET - приобретение гос.предприятием;
OTHER - другая причина
action_date
Date
Дата вывода из оборота
Да
Параметр применим, если значение параметра
«action»(«Причина вывода из оборота») =
«EEC_EXPORT» («Экспорт в страны ЕАЭС»).
В случае указания иных причин вывода товара из оборота данный
параметр строго не заполнен.
destination_country_code
String
Нет
Код страны назначения:
112 - Республика Беларусь;
417 - Киргизская Республика;
398 - Республика Казахстан;
051 - Республика Армения
action_date
Date
Дата вывода из оборота. Формат даты «DD.MM.YYYY»
Да
document_date
Date
Дата первичного документа.
Условно
Формат: 2020-01-14T00:00:00.000Z. Обязательный, если заполнен «document_type» («Тип первичного документа»)
обязательное
Номер первичного документа.
Условно
document_number
String
Обязательный, если заполнен «document_type» («Тип первичного документа»)
обязательное
Тип первичного документа.
Обязательный, если в массиве «products» («Массив, содержащий список кодов») не заполнен параметр «primary_document_type» («Тип первичного
документа»).
Одновременное заполнение не допускается.
Если заполнен, то обязательно заполнение параметров: «document_number» («Номер первичного документа»), «document_date» («Дата первичного
документа»).
document_type
String
Возможные значения: «RECEIPT» - «Кассовый чек»; «SALES_RECEIPT» - «Товарный чек»; «CONSIGNMENT_NOTE» - «Товарная накладная»;
«CUSTOMS_DECLARATION» - «Таможенная декларация»; «UTD» - «Универсальный передаточный документ»; «DESTRUCTION_ACT» - «Акт уничтожения
(утраты/утилизации)»; «OTHER» - «Другое».
Тип первичного документа зависит от значения параметра «action» («Причина выбытия»): «RETAIL» = «RECEIPT», «SALES_RECEIPT», «OTHER»;
«BY_SAMPLES», «DISTANCE» = «RECEIPT», «SALES_RECEIPT», «OTHER», «CONSIGNMENT_NOTE», «UTD»; «DONATION» = «CONSIGNMENT_NOTE», «OTHER»;
«CONFISCATION» = «OTHER», «CONSIGNMENT_NOTE», «UTD»; «DESTRUCTION» = «DESTRUCTION_ACT»,
inn
String
ИНН организации
Да
Регистрационный номер контрольно-кассовой техники.
kkt_number
String
Параметр строго не заполнен при «action» («Причина
Условно
вывода из оборота») = «STATE_SECRET» («Продажа по сделке,
обязательное
составляющей гос. тайну»)
Наименование первичного документа.
Параметр является обязательным, если «document_type»
primary_document_
(«Тип первичного документа») = «OTHER» («Другое»).
Условно
String
payload
custom_name
Параметр строго не заполнен при «action» («Причина
обязательное
вывода из оборота») = «STATE_SECRET» («Продажа
по сделке, составляющей гос. тайну»)
Код страны импортера.
Параметр заполнен, если значение «action» («Причина вывода из оборота») = «EAS_TRADE» («Трансграничная продажа в страны ЕАЭС»). В случае
указания иных причин вывода из оборота данный параметр строго не заполнен.
destination_country_code
String
Возможные значения:
Условно
обязательное
112 - Республика Беларусь;
417 - Киргизская Республика;
398 - Республика Казахстан;
051 - Республика Армения
Структура
Массив, содержащий список кодов маркировки
Да
Код идентификации (код маркировки).
cis
String
Требования, предъявляемые к кодам:
Да
товарная группа должна совпадать со значением параметра «pg» («Товарная группа»), указанном в запросе; статус кода должен быть равен
«INTRODUCED» («В обороте»), особое состояние отсутствует; только собственные коды.
primary_document_
Наименование первичного документа.
Условно
custom_name
String
Обязательный, если значение «document_type» («Тип первичного документа») равно «OTHER» («Другое»). В остальных случаях строго не заполнен
обязательное
Дата первичного документа Формат: 2020-01-14T00:00:00.000Z.
Диапазон: текущая дата минус 5 календарных лет дата текущая дата. Параметр является обязательным, если не заполнен в массиве «products»
primary_document_
(«Массив, содержащий список КИ»).
Date
Нет
date
Значение параметра имеет более высокий приоритет перед значением параметра «document_date» («Дата первичного документа»), не указанном в
массиве «products» («Массив, содержащий список КИ»). Параметр строго не заполнен при «action» («Причина вывода из оборота») = «STATE_SECRET»
(«Продажа по сделке, составляющей гос.тайну»
Номер первичного документа.
Параметр является обязательным, если не заполнен в массиве «products».
Значение параметра имеет более высокий приоритет перед
primary_document_
String
значением параметра «document_number» («Номер первичного документа»),
Условно
products
number
обязательное
указанным вне массива «products». Параметр не заполнен
при «action» («Причина вывода из оборота») = «STATE_SECRET»
(«Продажа по сделке, составляющей гос. тайну»)
Тип первичного документа:
RECEIPT - Кассовый чек;
SALES_RECEIPT - Товарный чек;
CONSIGNMENT_NOTE - товарная накладная;
primary_document_
String
CUSTOMS_DECLARATION - Таможенная декларация;
type
UTD - Универсальный передаточный документ;
DESTRUCTION_ACT - Акт уничтожения;
STATE_SECRET - Продажа по сделке, составляющей гос.тайну ;
OTHER - Другое
Цена за единицу (руб.)
Значение указывается в копейках с учётом НДС. Значение включает
product_cost
String
до 19 символов и 2 символа после запятой. Параметр не заполнен
Условно
при «action» («Причина вывода из оборота») = «BEYOND_EEC_EXPORT»
обязательное
(«Экспорт за пределы стран ЕАЭС») или «STATE_SECRET»
(«Продажа по сделке, составляющей гос. тайну»)
Идентификатор государственного контракта.
Обязательный, если «action» («Причина вывода из оборота») = «STATE_SECRET» («Продажа по сделке, оставляющей гос.тайну»). В случае указания иных
Условно
state_contract_id
String
причин данный параметр строго не заполнен. Длина идентификатора 25 цифровых символов, 13-ый по счёту символ должен иметь значение «1», «2»
обязательное
или «3»
Параметр обязательный при «action» («Причина вывода из оборота») = «OTHER» («Другая причина»). В случае указания иных причин данный параметр
Условно
withdrawal_type_other
String
строго не заполнен
обязательное
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
tires - Шины,
electronics - Фототехника,
productGroup
String
milk - Молочная продукция,
Да
bicycle - Велосипеды,
wheelchairs - Кресла-коляски,
water - Питьевая вода,
beer - Пиво и пивные напитки,
antiseptic - Антисептики.
userRequestId
String
Уникальный идентификатор запроса пользователя, задается пользователем.
Да
Пример запроса:
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"documentDescription": "Вывод из оборот тест 1 шт",
"payload": {
"action": "OTHER",
"action_date": "2021-11-15",
"document_date": "2021-11-14T00:00:00.000Z",
"document_number": "2348",
"document_type": "RECEIPT",
"inn": "7841465198",
"products": [
{
"cis": "01029000003418832155mXfVWAQUs5C"
}
]
},
"productGroup": "lp",
"userRequestId": "6f9619ff-8b86-d011-b42d-00cf4fc96411"
}
Пример ответа на запрос:
{
"result": {
"id": 123456,
"userRequestId": "6f9619ff-8b86-d011-b42d-00cf4fc964f2"
},
"status": {
"code": 0,
"message": "some message here"
}
}
Таблица 3.31. Описание параметров ответа на запрос
Формат
Параметр
Вложенные поля
Описание
значения
Структура
Ответ на создание заявки
id
Integer
ID заявки
result
Уникальный идентификатор запроса пользователя,
userRequestId
String
передается из параметров запроса
Структура
Статус обработки запроса
status
code
Integer
Код ошибки
message
String
Сообщение с описание статуса/ошибки
3.5.2. Получить данные документа вывода из оборота для подписания
Данный метод позволяет получить данные документа для подписания.
Используется запрос на основе метода GET. Запрос имеет следующий вид:
GET
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{userRequestId} - Id документа.
Пример запроса
GET
ac120016/contents
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Пример ответа
{
"content": "ewogICAgInB...",
"id": "6f9619ff-8b86-d011-b42d-00cf4fc964f2"
}
Таблица 3.32. Описание параметров ответа на запрос
Параметр
Формат значения
Описание
content
string
Идентификатор контента документа
id
String
Контент документа в формате base64
3.5.3. Отправить подписанный документ вывода из оборота в «Честный ЗНАК»
Метод позволяет отправить документ вывода из оборота в «Честный ЗНАК». Используется после
получения контента из метода «Получение данных документа ввода в оборот для подписания» и их
подписания. Для подписания контента требуется перевести данные параметра «content» из формата
base64 и поместить в файл для подписания, после чего создать открепленную/отсоединенную
однострочную (без знаков переноса) подпись. Затем закодировать полученную подпись в base64 и
отправить ее в параметре «content» запроса «Отправка подписанного документа ввода в оборот в
«Честный ЗНАК».
Для отправки документа используется запрос на основе метода POST. Запрос имеет следующий вид:
POST
Заменяемые параметры:
{version} - обозначение версии системы, по умолчанию равен v1;
{documentId} - Id документа.
Пример запроса
POST
ac120016/send
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"content": "ewogICAgInB..."
}
Таблица 3.33. Коды ответа на запрос
Статус кода HTTP
Причина ответа
200
Запрос выполнен успешно
401
Ошибка аутентификации/авторизации
3.5.4. Получение списка заявок
Метод получения списка заявок позволяет получить все заявки с различными статусами, параметрами
кодами маркировки
POST
Заменяемый параметр {version} по умолчанию заменяется на v1.
Таблица 3.34. Описание параметров запроса
Формат
Параметр
Описание
значения
Причина вывода из оборот.
Параметр может принимать значение:
RETAIL - розничная реализация;
EEC_EXPORT - экспорт в страны ЕАЭС;
BEYOND_EEC_EXPORT - экспорт за пределы ЕАЭС;
RETURN - возврат от физ.лица;
REMOTE_SALE - продажа по образцам, дистанционный способ
продажи;
action
String
DAMAGE_LOSS - утрата или повреждение;
DESTRUCTION - утилизация или уничтожение;
CONFISCATION - конфискация;
LIQUIDATION - ликвидация;
ENTERPRISE_USE - использование для собственных нужд
предприятия;
STATE_SECRET - приобретение гос.предприятием;
OTHER - другая причина
creationTimeFromIncl
String
Нижняя граница фильтра по времени создания заявки. Включая
creationTimeToExcl
String
Верхняя граница фильтра по времени создания заявки. Исключая
czDocumentId
String
Идентификатор заявки в ЧЗ
documentDescription
String
Наименование заявки
Статус заявки. Параметр может принимать значение:
CREATED - «Требуется подпись», документ ввода создан, требуется
подписать документ для отправки его в «Честный ЗНАК»;
SENDING - «Отправляется»;
documentStatus
String
SENT_FOR_INTRODUCTION - «Отправлена в ЧЗ»;
INTRODUCTION_FAILED - «Ошибка вывода»;
SENDING_ERROR - «Успешно обработана»;
INTRODUCED - «Ошибка отправки заявки»;
UNKNOWN_INTRODUCTION_STATUS - «Ошибка».
id
Integer
ID заявки
markingCodeCount
Integer
Количество КМ
pageIndex
Integer
Номер страницы
pageRecords
Integer
Количество элементов в выдаче на странице
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
tires - Шины,
electronics - Фототехника,
productGroup
String
milk - Молочная продукция,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски,
water - Питьевая вода,
beer - Пиво и пивные напитки,
antiseptic - Антисептики.
Формат
Параметр
Описание
значения
Правило сортировки заявок может принимать значение:
BY_ORDER_ID_ASC - по ID заказа в порядке возрастания;
BY_ORDER_ID_DESC сортировка по ID заказа в порядке убывания;
BY_DOC_DESCR_ASC - по описанию документа в порядке
возрастания;
BY_DOC_DESCR_DESC - описанию документа в порядке убывания;
BY_MC_CNT_ASC - по количеству кодов маркировки в порядке
возрастания;
sortType
String
BY_MC_CNT_DESC по количеству кодов маркировки в порядке
убывания;
BY_CREATION_TIME_ASC - по дате и времени создания в порядке
возрастания;
BY_CREATION_TIME_DESC - по дате и времени создания в порядке
убывания;
BY_STATUS_ASC - по статусу в порядке возрастания;
BY_STATUS_DESC - по статусу в порядке убывания
Пример запроса:
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"action": "RETAIL",
"creationTimeFromIncl": "2021-08-31T00:00:00+00:00",
"creationTimeToExcl": "2021-09-01T00:00:00+00:00",
"czDocumentId": "Some string",
"documentDescription": "Some string",
"documentStatus": "CREATED",
"id": 12345,
"markingCodeCount": 123456,
"pageIndex": 4,
"pageRecords": 10,
"productGroup": "LP",
"sortType": "BY_ID_ASC"
}
Пример ответа на запрос:
{
"result": {
"data": [
{
"action": "RETAIL",
"creationTime": "2021-10-04T21:00:00.000Z",
"czDocumentId": "Some string",
"documentDescription": "Some string",
"id": 123456,
"markingCodeCount": 123456,
"productGroup": "lp",
"status": "CREATED"
}
],
"pageInfo": {
"pageCount": 1,
"pageIndex": 1,
"pageRecords": 1,
"recordsTotalCount": 1500,
"sortDirection": "desc",
"sortKey": {
"present": true
}
}
},
"status": {
"code": 0,
"message": "some message here"
}
}
Таблица 3.35. Описание параметров ответа на запрос
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
Структура
Контейнер ответа
Array[Структура]
Данные контейнера ответа
Причина вывода из оборот.
Параметр может принимать значение:
RETAIL - розничная реализация;
EEC_EXPORT - экспорт в страны ЕАЭС;
BEYOND_EEC_EXPORT - экспорт за пределы
ЕАЭС;
RETURN - возврат от физ.лица;
REMOTE_SALE - продажа по образцам,
дистанционный способ продажи;
action
String
DAMAGE_LOSS - утрата или повреждение;
DESTRUCTION - утилизация или
уничтожение;
CONFISCATION - конфискация;
LIQUIDATION - ликвидация;
ENTERPRISE_USE - использование для
собственных нужд предприятия;
STATE_SECRET - приобретение
гос.предприятием;
OTHER - другая причина
creationTime
String
Дата создания
czDocumentId
String
Идентификатор заявки в ЧЗ
documentDescription
String
Наименование заявки
id
Integer
ID заявки
markingCodeCount
Integer
Количество КМ
data
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
result
tires - Шины,
electronics - Фототехника,
productGroup
String
milk - Молочная продукция,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски,
water - Питьевая вода,
beer - Пиво и пивные напитки,
antiseptic - Антисептики.
Статус заявки. Параметр может принимать
значение:
CREATED - «Требуется подпись», документ
ввода создан, требуется подписать
документ для отправки его в «Честный
ЗНАК»;
SENDING - «Отправляется»;
status
String
SENT_FOR_INTRODUCTION - «Отправлена в
ЧЗ»;
INTRODUCTION_FAILED - «Ошибка вывода»;
SENDING_ERROR - «Успешно обработана»;
INTRODUCED - «Ошибка отправки заявки»;
UNKNOWN_INTRODUCTION_STATUS -
«Ошибка».
Структура
Информация о пагинации
pageCount
Integer
Всего страниц
pageIndex
Integer
Номер страницы выдачи
pageRecords
Integer
Количество записей на странице
pageInfo
Всего записей в полученной выборке на всех
recordsTotalCount
Integer
страницах
sortDirection
String
Направление сортировки
sortKey
Boolean
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
Структура
Статус обработки запроса
status
code
Integer
Код ошибки
message
String
Сообщение с описанием статуса/ошибки
3.5.5. Получение карточки
GET
Заменяемый параметр {version} по умолчанию заменяется на v1.
Для получения карточки обязательной в запросе должен присутствовать параметр orderId
Пример запроса:
GET
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"orderId": 1234
}
Пример ответа на запрос:
{
"result": {
"action": "OTHER",
"actionDate": "2021-10-15",
"creationTime": "2021-11-16T18:31:25.000Z",
"czDocObtainedTime": "2021-11-16T18:31:25.000Z",
"destinationCountryCode": "112",
"documentDate": "2020-01-14T00:00:00.000Z",
"documentDescription": "Текст на 1000 символов",
"documentNumber": "Текст до 255ти символов",
"documentType": "OTHER",
"errorDetail": "string",
"id": 123456,
"inn": "0123456789",
"kktNumber": "Любой текст до 255 символов",
"modificationTime": "2021-11-16T18:31:25.000Z",
"primaryDocumentCustomName": "Текст до 255ти символов",
"productGroup": "BICYCLE",
"stateContractId": "АБВ123",
"status": "Introduced",
"userRequestId": "6f9619ff-8b86-d011-b42d-00cf4fc964f2",
"withdrawalTypeOther": "Текст до 255ти символов"
},
"status": {
"code": 0,
"message": "some message here"
}
}
Таблица 3.36. Описание параметров ответа на запрос
Формат
Параметр
Вложенные поля
Описание
значения
Формат
Параметр
Вложенные поля
Описание
значения
Структура
Ответ на создание заявки
Причина вывода из оборота.
Параметр может принимать значения:
RETAIL - розничная реализация;
EEC_EXPORT - экспорт в страны ЕАЭС;
BEYOND_EEC_EXPORT - экспорт за пределы ЕАЭС;
RETURN - возврат от физ.лица;
REMOTE_SALE - продажа по образцам, дистанционный способ
продажи;
action
String
DAMAGE_LOSS - утрата или повреждение;
DESTRUCTION - утилизация или уничтожение;
CONFISCATION - конфискация;
LIQUIDATION - ликвидация;
ENTERPRISE_USE - использование для собственных нужд
предприятия;
STATE_SECRET - приобретение гос.предприятием;
OTHER - другая причина
actionDate
String
Дата вывода из оборота
creationTime
String
Дата и время заведения заявки
czDocObtainedTime
String
Дата и время отправки заявки в Честный знак
Код страны назначения.
Параметр принимает значения:
112 - Республика Беларусь;
destinationCountryCode
String
417 - Киргизская Республика;
398 - Республика Казахстан;
051 - Республика Армения
documentDate
String
Дата первичного документа
documentDescription
String
Наименование заявки
documentNumber
String
Номер первичного документа
Тип первичного документа:
RECEIPT - Кассовый чек;
SALES_RECEIPT - Товарный чек;
CONSIGNMENT_NOTE - товарная накладная;
documentType
String
CUSTOMS_DECLARATION - Таможенная декларация;
result
UTD - Универсальный передаточный документ;
DESTRUCTION_ACT - Акт уничтожения;
STATE_SECRET - Продажа по сделке, составляющей гос.тайну ;
OTHER - Другое
errorDetail
String
Ошибка обработки документа в Честном знаке виде JSON
id
Integer
ID заявки
inn
String
ИНН организации
kktNumber
String
Регистрационный номер контрольно-кассовой техники.
modificationTime
String
Дата и время последнего обновления статуса
primaryDocumentCustomName
String
Наименование первичного документа
Товарная группа:
lp - Легкая промышленность (одежда),
shoes - Обувь,
perfumery - Духи и туалетная вода,
tires - Шины,
electronics - Фототехника,
productGroup
String
milk - Молочная продукция,
bicycle - Велосипеды,
wheelchairs - Кресла-коляски,
water - Питьевая вода,
beer - Пиво и пивные напитки,
antiseptic - Антисептики.
stateContractId
String
Идентификатор государственного контракта
Статус заявки. Параметр может принимать значение:
CREATED - «Требуется подпись», документ ввода создан, требуется
подписать документ для отправки его в «Честный ЗНАК»;
SENDING - «Отправляется»;
status
String
SENT_FOR_INTRODUCTION - «Отправлена в ЧЗ»;
INTRODUCTION_FAILED - «Ошибка вывода»;
SENDING_ERROR - «Успешно обработана»;
INTRODUCED - «Ошибка отправки заявки»;
UNKNOWN_INTRODUCTION_STATUS - «Ошибка».
Уникальный идентификатор запроса пользователя, задается
userRequestId
String
пользователем.
withdrawalTypeOther
String
Другая причина
Формат
Параметр
Вложенные поля
Описание
значения
Структура
Статус обработки запроса
status
code
Integer
Код ошибки
message
String
Сообщение: описание статуса/ошибки
3.5.6. Получение списка кодов маркировки из заявки
POST
list
Заменяемый параметр {version} по умолчанию заменяется на v1.
Таблица 3.37. Описание параметров запроса
Параметр
Формат значения
Описание
cis
String
Код идентификации (код маркировки)
documentDateFromIncl
String
Нижняя граница даты первичного документ. Включая
documentDateToExcl
String
Верхняя граница даты первичного документ. Исключая
documentNumber
String
Номер первичного документа
Тип первичного документа:
RECEIPT - Кассовый чек;
SALES_RECEIPT - Товарный чек;
CONSIGNMENT_NOTE - товарная накладная;
documentType
String
CUSTOMS_DECLARATION - Таможенная декларация;
UTD - Универсальный передаточный документ;
DESTRUCTION_ACT - Акт уничтожения;
STATE_SECRET - Продажа по сделке, составляющей гос.тайну;
OTHER - Другое
id
Integer
ID заявки
pageIndex
Integer
Номер страницы
pageRecords
Integer
Количество элементов в выдаче на странице
Пример запроса:
POST
Authorization: Token 416b5600-3e36-4418-9604-e0c9843d2eef
Content-Type: application/json
{
"cis": "010464444444444421FFFFFFFFFFFFF",
"documentDateFromIncl": "2020-01-14T00:00:00.000Z",
"documentDateToExcl": "2020-01-14T23:59:59.999Z",
"documentNumber": "Текст до 255ти символов",
"documentType": "OTHER",
"id": 12345,
"pageIndex": 4,
"pageRecords": 10
}
Пример ответа на запрос:
{
"result": {
"data": [
{
"cis": "010464444444444421FFFFFFFFFFFFF",
"primary_document_custom_name": "Текст до 255ти символов",
"primary_document_date": "2020-01-14T00:00:00.000Z",
"primary_document_number": "Текст до 255ти символов",
"primary_document_type": "OTHER",
"product_cost": "195.05"
}
],
"pageInfo": {
"pageCount": 1,
"pageIndex": 1,
"pageRecords": 1,
"recordsTotalCount": 1500,
"sortDirection": "desc",
"sortKey": {
"present": true
}
}
},
"status": {
"code": 0,
"message": "some message here"
}
}
Таблица 3.38. Описание параметров ответа на запрос
Вложенные
Параметр
Вложенные поля
Формат значения
Описание
поля
Структура
Контейнер ответа
Array[Структура]
Данные контейнера
Код идентификации (код
cis
String
маркировки)
Наименование первичного
primary_document_custom_name
String
документа
primary_document_date
Date
Дата первичного документа
Номер первичного
primary_document_number
String
документа
Тип первичного документа:
RECEIPT - Кассовый чек;
SALES_RECEIPT - Товарный
чек;
data
CONSIGNMENT_NOTE -
товарная накладная;
CUSTOMS_DECLARATION -
Таможенная декларация;
primary_document_type
String
UTD - Универсальный
result
передаточный документ;
DESTRUCTION_ACT - Акт
уничтожения; STATE_SECRET
- Продажа по сделке,
составляющей гос.тайну ;
OTHER - Другое
product_cost
String
Цена за единицу (руб.)
Структура
Информация о пагинации
pageCount
Integer
Всего страниц
pageIndex
Integer
Номер страницы выдачи
Количество записей на
pageRecords
Integer
pageInfo
странице
Всего записей в полученной
recordsTotalCount
Integer
выборке на всех страницах
sortDirection
String
Направление сортировки
sortKey
Boolean
Структура
Статус обработки запроса
code
Integer
Код ошибки
status
Сообщение с описание
message
String
статуса/ошибки
4. Порядок тестирования
4.1. Описание
Раздел описывает способ тестирования услуги «ЭДО.Поток». Для тестирования используется
демонстрационный личный кабинет клиента (ЛКК), подключенный к тестовой информационной системе
«ЭДО.Поток».
4.2. Вход в демо ЛКК
Чтобы войти в личный кабинет клиента (демо), выполнить следующие действия:
1. Переходим по ссылке;
2. Автоматически подставленные данные в полях «Электронная почта» и «Пароль» удаляем.
3. Вводим данные:
1. электронная почта: edotest1@ofd.ru
2. пароль: 1231
4. Нажимаем кнопку «Войти»;
5. Вы оказались в демо личном кабинете.
Теперь вы можете проверить работоспособность функционала ИС «ЭДО.Поток»
История изменений
Версия 2.0
Выпущена 11 января 2019 г.
Первая регистрируемая версия документа.
Версия 2.1
Выпущена 10 апреля 2019 г.
Исправлены ошибки в тексте и в ответах получаемые при выполнении запросов.
Версия 2.2
Выпущена 24 апреля 2020 г.
Изменен адрес сервера, на который необходимо отправлять API-запросы.
Версия 2.3
Выпущена 11 сентября 2020 г.
Исправлена ошибка в методе авторизации в ИС «ЭДО.Поток».
Версия 2.4
Выпущена 25 сентября 2020 г.
Исправлена нумерация таблиц;
Устранены мелкие недочеты по всему объему документа.
Версия 2.5
Выпущена 09 октября 2020 г.
Переработаны таблицы для большей наглядности информации о вложенных полях в структурах;
Исправлены названия таблиц по всему объему документа;
Исправлены ошибки в тексте и в ответах получаемые при выполнении запросов;
Добавлены параметры в таблицу 4;
Исправлена ошибка в методе авторизации через AuthToken.
Версия 2.6
Выпущена 12 октября 2020 г.
Исправлена ошибка в методе 3.1.10 Вывод справочника типов документов;
Исправлены ошибка в методе 3.3.1 Поиск контрагентов;
Добавлен метод 3.3.2. Получение списка контрагентов по статусу.
Версия 2.7
Выпущена 15 октября 2020 г.
Убран блок информации 3.2. Запросы, связанные с клиентами.
Версия 2.8
Выпущена 18 ноября 2020 г.
Изменен адрес запросов с edmapi.ofd.ru на lk.edo.ru;
Временно убран раздел «Авторизация с помощью имени пользователя (логина) и пароля»;
Добавлен раздел 3.1.13. Получение извещения на подтверждение оператора (для отправителя);
Добавлен раздел 3.1.14. Получение извещений на документ (для получателя);
Добавлен раздел 3.1.15. Получение любых извещений на документы.
Версия 2.9
Выпущена 23 декабря 2020 г.
Добавлен раздел 3.1 Отправка заказа кодов маркировки в «Честный ЗНАК»
Добавлен раздел 3.2 Получение статуса заказа и кодов маркировки
Версия 3.0
Выпущена 03 марта 2021 г.
Добавлен раздел 4. Маркировка
Версия 3.1
Выпущена 04 марта 2021 г.
Добавлен раздел 4.2.3 Создание документа ввода в оборот (Производство РФ)
Добавлен раздел 4.2.4 Получение данных документа для подписания
Добавлен раздел 4.2.5 Сохранение подписанных данных заказа на ввод кодов в оборот для
последующей отправки в ГИС МТ
Добавлен раздел 4.2.6 Получение статуса документа ввода в оборот КМ
Версия 3.2
Выпущена 10 марта 2021 г.
Добавлен раздел 2 - Метод регистрации в ИС «ЭДО.Поток»
Версия 3.3
Выпущена 23 марта 2021 г.
Добавлены методы получение информации о товарных позициях заказа КМ, получение информации о
параметрах заказа КМ
Версия 3.4
Выпущена 27 апреля 2021 г.
Добавлены разделы:
4.2.1. Метод загрузки черновика
4.2.2. Метод получения списка черновиков
4.2.3. Метод скачивания черновика
4.2.4. Метод удаления черновика
4.2.5. Метод отправки черновика
4.2.6. Метод получения печатной формы черновика в PDF
Версия 3.5
Выпущена 30 июня 2021 г.
Добавлены разделы:
4.3. Работа с контрагентами;
6. Порядок тестирования.
Версия 3.6
Выпущена 16 сентября 2021 г.
Добавлены разделы:
4.1.2. Получение списка документов со статусом документооборота клиента
4.4. Описание методов, порядка документооборота клиента по 14н
Версия 3.7
Выпущена 22 октября 2021 г.
Измена структура документа
Добавлены схемы порядок обмена по приказу 14Н
Версия 3.8
Выпущена 09 декабря 2021 г.
Добавлен раздел 3.4. Проверка кодов маркировки
Версия 3.9
Выпущена 25 января 2022 г.
Добавлен раздел 3.5. Вывод из оборота
Версия 4.0
Выпущена 12 мая 2022 г.
Добавлен раздел 1.2.2 Авторизация с помощью логина и пароля
1)
Зависит от текущей или используемой версии системы, может изменяться.
2)
Зависит от текущей или используемой версии системы, может изменяться
3)
Задается по правилам написания адресов URL и URI: недопустимые символы заменяются служебными
https://www.ietf.org/rfc/rfc3986.txt и http://www.protocols.ru/WP/rfc3986/.
|