Каталог Файлового шлюза API


Сценарий обработки пакетов

  1. Получить Список пакетов (возвращает список ID)
  2. Получить пакет (по ID)
  3. Получить файл
  4. Получить подпись
  5. Отправить транзитный пакет
  6. Получить статус
  7. Отправить квитанцию по транзитному пакету*

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

GET /api/package?channel= &date=&id=&count=

Ресурс позволяет запросить в ФШ список пакетов по конкретному каналу.

Пример запроса

GET /api/package?channel=EVRAZREG/TT&date=2020-06-03&id=0&count=50 HTTP/1.1
Host: 188.227.17.120:8088
Поле Тип Об. Описание Пример
Channel String R Канал, из которого запрашиваются пакеты EVRAZREG/TT
date Date R Дата запроса 2020-06-03
Id Int Id запроса 0
Count Int Количество записей 50
Host Хост ФШ 188.227.17.120:8088

Пример ответа

{
  "channel":"EVRAZREG/TT",
  "id":22423,
  "name":"W0369639.ZIP",
  "files":[{
    "id":30112,
    "name":"WINF.XML",
    "signs":[{
      "serial":"40:50:14:B0:2E:A0:BA:C0:C6:19:B8:87:5B:C4:80:73",
      "subject":"INN=007702165310,OGRN=1027739132563,SNILS=05555599999,T=Руководитель организации,CN=Петров Петр Петрович,OU=Правление,O=НКО АО НРД,L=Москва,ST=77 г.Москва,C=RU",
      "description":"OK",
      "status":"VALID"
    }]
  }]
},
{
  "channel":"EVRAZREG/TT",
  "id":22424,
  "name":"W0365245.ZIP",
  "files":[{
    "id":30113,
    "name":"WINF.XML",
    "signs":[{
      "serial":"40:50:14:B0:2E:A0:BA:C0:C6:19:B8:87:5B:C4:80:73",
      "subject":"INN=007702165310,OGRN=1027739132563,SNILS=05555599999,T=Руководитель организации,CN=Петров Петр Петрович,OU=Правление,O=НКО АО НРД,L=Москва,ST=77 г.Москва,C=RU",
      "description":"OK",
      "status":"VALID"
    }]
  }]
}

Модель ответа

Поле Тип Об. Описание Пример
Channel String R Канал, из которого запрашиваются пакеты EVRAZREG/TT
Id Int Id пакета 22423
name Имя пакета W0369639.ZIP
files Файлы
id ID файла 30112
Name Название файла WINF.XML
signs подпись
serial Номер сертификата 40:50:14:B0:2E:A0:BA:C0:C6:19:B8:87:5B:C4:80:73
subject предмет INN=007702165310,OGRN=1027739132563,SNILS=05555599999,T=Руководитель организации,CN=Петров Петр Петрович,OU=Правление,O=НКО АО НРД,L=Москва,ST=77 г.Москва,C=RU"
description Описание OK
status Статус VALID

Получение пакета

GET /api/package/:id

Ресурс позволяет по ID получить пакет из ФШ.

Пример запроса

GET /api/package/22423 HTTP/1.1
Host: 188.227.17.120:8088

Модель запроса

Поле Тип Об. Описание Пример
GET /api/package/ String R Константа GET /api/package/
ID Int R ID пакета 22423
Host String R Хост ФШ 188.227.17.120:8088

Пример ответа (спецсимволы)

���c�ܪv_6u\u0018i̠�\u001cf�삠�3�K3#\r�^�C��Ώ�(�����Ώ�(�����Ώ�(�����Ώ�(�����Ώ�(�����Ώ�`

Модель ответа

Поле Тип Об. Описание Пример
Code Int R Код 200
Status String R Статус 22423
Body String R Тело ответа ���c�ܪv_6u\u0018i̠�\u001cf�`삠�3�K3#\r�^�C��Ώ�(�����Ώ�(�����Ώ�(�����Ώ�(�����Ώ�(�����Ώ�

Получение файла

GET /api/package/file/:id?type=file

Ресурс позволяет по ID пакета получить связанный файл.

Пример запроса

GET /api/package/file/30112?type=file HTTP/1.1
Host: 188.227.17.120:8088

Модель запроса

Поле Тип Об. Описание Пример
GET /api/package/file/ String R константа GET /api/package/file/
ID String R ID пакета 30112
Type String R Тип контента: File, sign File
Host R Хост ФШ 188.227.17.120:8088

Пример ответа

<?xml version="1.0" encoding="Windows-1251"?>
<!DOCTYPE COVERING_LETTER>
<COVERING_LETTER PROCESSING_MODE="LIVE" STATE="NDC_TO_RECIP" TRANSIT="YES">
  <ORIGINATOR>
    <CONTRAGENT>
      <CONTRAGENT_CODE>EVRAZREG/TT</CONTRAGENT_CODE>
    </CONTRAGENT>
  </ORIGINATOR>
  <RECIPIENT>
    <CONTRAGENT>
      <CONTRAGENT_CODE>NDC0000000TT</CONTRAGENT_CODE>
    </CONTRAGENT>
  </RECIPIENT>
  <SERVICE_MARKS>
    <SUBJECT>TT.Payment</SUBJECT>
    <COMMENT>7746326164</COMMENT>
    <LETTER_ID>664bdeec-08cc-4ac8-836e-1ebb8f03a61e</LETTER_ID>
    <CONTR_LETTER_ID>W0360002</CONTR_LETTER_ID>
    <LETTER_TYPE>NDC0STND</LETTER_TYPE>
    <CONVERSATION_ID>76a3aa53-c228-4c9e-a932-88fc37d97313</CONVERSATION_ID>
    <CREATE_TIME>
      <DATETIME>
        <DATE>03.06.2020</DATE>
        <TIME>05:04:04</TIME>
      </DATETIME>
    </CREATE_TIME>
    <NDC_RECEPT_TIME>
      <DATETIME>
        <DATE>03.06.2020</DATE>
        <TIME>11:53:10</TIME>
      </DATETIME>
    </NDC_RECEPT_TIME>
    <NDC_LETTER_ID>2391352206</NDC_LETTER_ID>
    <ORIG_CONF_SEND_TIME>
      <DATETIME>
        <DATE>03.06.2020</DATE>
        <TIME>11:53:10</TIME>
      </DATETIME>
    </ORIG_CONF_SEND_TIME>
    <NDC_CHECKING><CHECKING RESULT="SUCCESS"/></NDC_CHECKING>
  </SERVICE_MARKS>
  <DOC CONTR_DOC_ID="20200360001" STORE_IN_NDC="YES" ENCRYPTED="YES" DELIVERY_TIMED_OUT="NO" TRANSFER_AGENT_CONTRACT="NO">
    <FILE_NAME>W0360001</FILE_NAME>
    <DOC_TYPE>TRZT</DOC_TYPE>
    <ORIGINAL_FILE_NAME>03f8e57d-f9c1-46a1-a41c-3b91a5ca03fa.json</ORIGINAL_FILE_NAME>
    <NDC_STORAGE_DOC_ID>2391352179</NDC_STORAGE_DOC_ID>
    <NDC_CHECKING><CHECKING RESULT="SUCCESS"/></NDC_CHECKING>
  </DOC>
</COVERING_LETTER>

Модель ответа

Источник: «Руководство пользователя ПО «Файловый шлюз ЭДО НРД». Приложение 1. Инструкция по обмену электронными документами»

Схема транзитного конверта и квитанций:

Примечание: необязательные поля, заполнение которых не требуется, в таблице отсутствуют.

№ п/п Название элемента Название атрибута элемента Комментарий
1. COVERING_LETTER Корневой элемент, содержит всю необходимую информацию о пакете документов. Содержит вложенные элементы ORIGINATOR, RECIPIENT, DEPOSITARY, SERVICE_MARKS и повторяющийся элемент DOC.
2. COVERING_LETTER STATE Может принимать одно из значений, в зависимости от направления пакета: ORIG_TO_NDC – от Отправителя в НРД, именно это значение указывается при отправке транзитного документа в НРД или через НРД другому Участнику ЭДО (Получателю). NDC_TO_RECIP – из НРД Получателю, указывается при пересылке пакета из НРД конечному получателю. RECIP_TO_NDC – от Получателя в НРД, указывается в квитанции от Получателя. NDC_TO_ORIG - от НРД Отправителю, указывается в квитанции Отправителю. NDC_TO_RECIP_ERR - из НРД Получателю, указывается в квитанции Получателюв случае, если не удалось отправить уведомление от Получателя Отправителю.
3. COVERING_LETTER PROCESSING_MODE Режим обработки пакетов документов. (TEST в режиме тестирования, LIVE - в противном случае)
4. COVERING_LETTER TRANSIT Признак транзитного пакета. Требуется указать “YES”.
5. ORIGINATOR Отправитель пакета транзитных электронных документов. Содержит вложенный элемент CONTRAGENT, в котором в теге CONTRAGENT_CODE указывается код Отправителя в НРД (депозитарный код)
6. RECIPIENT Получатель пакета транзитных электронных документов. Содержит вложенный элемент CONTRAGENT, в котором в теге CONTRAGENT_CODE указывается код Получателя в НРД (депозитарный код)
7. SERVICE_MARKS Блок, содержащий вложенные элементы. Ниже перечислены обязательные для заполнения теги.
8. LETTER_ID Уникальный идентификатор пакета транзитных документов (статистически уникальный 128-битный идентификатор)
9. CONTR_LETTER_ID Идентификатор документа в системе учета Отправителя
10. LETTER_TYPE Тип пакета транзитных документов: NDC0STND - для нетипизированного транзита. Код ТЭДИКа – для типизированного транзита
11. CONVERSATION_ID Дополнительный идентификатор пакета транзитных документов (статистически уникальный 128-битный идентификатор)
12. CREATE_TIME Дата и время создания документа. Содержит вложенный элемент DATETIME.
13. DATETIME Структура для представления даты и времени. Содержит вложенные элементы DATE и TIME
14. DATE Часть структуры, содержащая текстовое представление даты. Формат: dd.mm.yyyy
15. TIME Часть структуры, содержащая текстовое представление времени. Формат: hh:nn:ss
16. RECIPIENT_LETTER_ID Идентификатор данного документа в системе учета Получателя
17. NDC_RECIPIENT_CONF_DELIV_TIME CONTR_DOC_ID Дата и время получения НРД Уведомления о принятии (непринятии) Пакета транзитных электронных документов Получателем. Содержит вложенный элемент DATETIME.
18. ORIG_FINAL_DELIV_CONF_SEND_TIME STORE_IN_NDC Признак хранения документа в архиве НРД: YES - необходимо хранить в архиве НРД. NO – нет необходимости хранить в архиве НРД
19. DOC ENCRYPTED Признак шифрования пакета: YES – зашифрован. NO – не зашифрован
20. DOC DELIVERY_TIMED_OUT Признак ограничения срока доставки документа: YES - Отправителем установлен предельный срок доставки документа, NO - в противном случае.
21. DOC TRANSFER_AGENT_CONTRACT Признак услуги трансфер-агента: YES – с услугой трансфер-агента, NO – без услуги трансфер-агента
22. FILE_NAME Имя файла пакета электронных документов, сформированное по Правилам ЭДО НРД
23. MAX_DELIVERY_TIME Предельный срок доставки документа. Содержит вложенный элемент DATETIME.
24. DOC_TYPE Тип документа: Для нетипизированного транзита TRZT, Для типизированного транзита: TRZT_PRM для основного файла в формате XML, TRZT_WRD для файла вложения. Примечание. Для типизированного транзита должен быть обязательно заполнен элемент IDENT_CODE
25. ORIGINAL_FILE_NAME Исходное имя файла
26. IDENT_CODE Идентификационный код транзитного электронного документа (ТЭДИК, обязательно заполняется для типизированного транзита)
27. NDC_STORAGE_DOC_ID Идентификатор документа в архиве НРД. Заполняется в случае установки признака хранения документа в архиве НРД
28. RECIPIENT_DOC_ID Идентификатор документа в системе учета Получателя

Получение подписи

GET /api/package/file/:id?type=sign

Ресурс позволяет по ID получить подпись файла.

Пример запроса

GET /api/package/file/30112?type=sign HTTP/1.1
Host: 188.227.17.120:8088

Модель запроса

Поле Тип Об. Описание Пример
GET /api/package/file/ String R константа GET /api/package/file/
ID String R ID пакета 30112
Type String R Тип контента: File, sign Sign
Host raw R Хост ФШ 188.227.17.120:8088

Пример ответа

Получить образец

Поле Тип Об. Описание Пример
Code String R Код 200
ID String R ID пакета 30112
Type String R Тип контента: File, sign Sign
Host raw R Хост ФШ 188.227.17.120:8088

Отправка транзитного пакета

POST /api/transit/:channel

Ресурс позволяет отправить транзитный пакет получателю, содержащий файл:

  • pain.002
  • camt.053
  • сamt.052
  • пр.

Параметром указывается собственный депозитарный код;

В Body помещается:

  • Файл для отправки;
  • Информация transitinfo.

Пример запроса

POST /api/transit/EVRAZREGTT HTTP/1.1
Host: 188.227.17.120:8088
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="/C:/Users/777/Desktop/123.txt"
Content-Type: text/plain

(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="transitInfo"

{
    "Contragent": "MC0003300000",
    "Subject": "Subject",
    "Comment": "Comment",
    "LetterId": "0616292B-1225-4350-8847-BF1BEB68CDE3",
    "ConversationId": "03B4FC61-76A5-4773-9822-BAF17412A6FC",
    "CreateDate": "2020-06-03T10:00:00",
    "CreateTime": "2020-06-03T10:00:00",
    "docInfo": [
        {
            "encrypted": "true",
            "transferAgentContract": "false",
            "fileName": "123.txt",
            "docType": "TRZT"
        }
    ]
}
----WebKitFormBoundary7MA4YWxkTrZu0gW

Модель запроса

Поле Тип Об. Описание Пример
GET /api/package/file/ String R константа GET /api/package/file/
ID String R ID пакета 30112
Type String R Тип контента: File, sign Sign
Host raw R Хост ФШ 188.227.17.120:8088

Пример ответа

7515

Модель ответа

Поле Тип Об. Описание Пример
Code String R Код 200
Status String R Статус ОК
Id Int R 7515

Запрос статуса

GET /api/package/:id

Ресурс позволяет по ID получить пакет из ФШ.

Пример запроса

GET /api/package/status/7515 HTTP/1.1
Host: 188.227.17.120:8088

Модель запроса

Поле Тип Об. Описание Пример
GET /api/package/status/ String R константа GET /api/package/status/
ID Int R ID пакета 7515
Host String R Хост ФШ 188.227.17.120:8088

Пример ответа

{"id":7515,"name":"W0360002.ZIP","status":"SENT","error":null}

Модель ответа

Поле Тип Об. Описание Пример
Code Int R Код 200
Status String R Статус ОК
Id Int32 R ID пакета 7515
name String R Имя файла W0360002.ZIP
status String R Статус отправки SENT
error String R Ошибка null

«Ручная» отправка транзитных квитанций

В настройках канала WSL ФШ по умолчанию предусмотрена опция «Автоотправка уведомлений». Если Банк (по разным причинам) желает самостоятельно формировать квитанции, то следует использовать метод «Отправка транзитных квитанций».

Ресурс позволяет по ID полученного пакета направить ответную квитанцию..

Пример запроса

POST /api/transit/184/sendReceipt HTTP/1.1
Host: 188.227.17.120:8088
Content-Type: text/plain

Модель запроса

Поле Тип Об. Описание Пример
POST /api/transit/ String R Константа POST /api/transit/
ID Int R ID входящего пакета 184
Host String R Хост ФШ 188.227.17.120:8088
Content-Type String R text/plain
Id Int R ID 1
Result String R Результат обработки SUCCESS
Error String O ошибка

Пример ответа (спецсимволы)

Модель ответа

Поле Тип Об. Описание Пример
Code Int R Код 200
Status String R Статус ОК
Body String R Тело ответа

Приложения

Дополнительные материалы

Описание Ресурс
Postman collection

Схема движения документа по статусам

Для информирования пользователя о состоянии документа в Терминале Транзита 2.0 (далее ТТ) используются транспортные статусы. Независимо от типа и формата все документы в ТТ движутся по схожей схеме транспортных статусов.

Графическое представление схемы движения документа по статусам отображено на рисунках ниже:

  • Общая схема движения документа по статусам (см. Рисунок 4).
  • Схема движения документа по статусам в ТТ (см. Рисунок 1).
  • Схема движения документа по статусам в ФШ Клиента, ЭДО НРД, ФШ Банка (см. Рисунок 2).
  • Схема движения документа по статусам в Банке (см. Рисунок 3).

Расшифровка элементов схемы описана в Таблице 1.

Подробное описание схемы движения документа по статусам описано в Таблице 2, Таблице 3 и в Таблице 4.

Таблица 1 - Расшифровка элементов схемы

Схематичное изображение Описание
Блок - сущность, в которой происходит смена статусов
Начало, входные данные
Документ со статусом
Процесс
Промежуточное местонахождение документа
Прямая связь
Опциональная связь
Все документы в статусах блока могут перейти в данный статус

Движение документа по статусам в Транзит 2.0

Рисунок 1 - Схема движения документа по статусам в Транзит 2.0
Таблица 2 - Расшифровка статусов
№ Шага Статус Описание
1 - Добавление документа в ТТ начинается с импорта или создания. Осуществляется переход на шаг 2.
2 - На данном шаге документ преобразовывается в необходимый формат для дальнейшей работы с ним. После преобразования документ может перейти на шаг 3 или на шаг 4.
3 Черновик DRAFT Документу присваивается статус “Черновик” при успешном импорте или создании нового документа. Из статуса Черновик документ может быть направлен: в очередь на подписание, осуществляется переход на шаг 3.1; в очередь на отправку, осуществляется переход на шаг 3.2; в статус Удален, осуществляется переход на шаг 5.
3.1 В очереди на подписание IN_SIGN_QUEUE До подписания пользователем документ находится в статусе “В очереди на подписание”, на этапе подписания документ может перейти на шаг 3.1.1 или на шаг 3.1.2.
3.1.1 Ошибка терминала TERMINAL_ERROR Документу присваивается статус “Ошибка терминала” при ошибке на этапе подписания/согласования. Из данного статуса документ может перейти на шаг 3 или на шаг 5.
3.1.2 На контроле UNDER_CONTROL Документу присваивается статус “На контроле” при подписании/согласовании одним пользователем и в ожидании подписания/согласования другим пользователем. Из статуса “На контроле” документ может быть перемещен: в очередь на подписание, если для счета документа настроена модель подписания из нескольких подписей. Осуществляется переход на шаг 3.1; (опционально) в статус “Отклонено после контроля”, осуществляется переход на шаг 3.1.2.1; в очередь на отправку в ЭДО НРД, осуществляется переход на шаг 3.2.
3.1.2.1 Отклонено после контроля CONTROL_REJECTED Статус “Отклонено после контроля” присваивается при отклонении документа пользователем с соответствующими правами. Из данного статуса документ может перейти на шаг 5.
3.2 В очереди на отправку IN_SEND_QUEUE До отправки пользователем документ находится в статусе “В очереди на отправку”, после отправки документ может перейти на шаг 3.2.1 или на шаг 3.2.2.
3.2.1 Ошибка при отправке TERMINAL_SEND_ERROR Документу присваивается статус “Ошибка при отправке” при ошибке отправки в ЭДО НРД в ТТ. Из данного статуса документ может перейти на шаг 5.
3.2.2 Отправка в НРД SENDINGTONSD Документу присваивается статус “Отправка в НРД” после выкладки документа в папку Файлового шлюза (ФШ), но до приема ответной квитанции. Осуществляется переход на шаг 6 или на шаг 7.
4 Ошибка преобразования CONVERT_ERROR Документу присваивается статус “Ошибка преобразования” при ошибке преобразования, например, из 1С в ISO. Из данного статуса документ может перейти на шаг 5.
5 Удалено DELETED Документу присваивается статус “Удален” при удалении его из ТТ.

Движение документа по статусам в Файловом шлюзе Клиента, в ЭДО НРД и в Файловом шлюзе Банка

Рисунок 2 - Схема движения документа по статусам в ФШ Клиента, в ЭДО НРД и в ФШ Банка
Таблица 3 - Расшифровка статусов
№ Шага Статус Описание ПО, в котором присваивается статус
6 Ошибка отправки NACCEPT Документу присваивается статус “Ошибка отправки” при попадании документа в ошибочные или при получении отрицательной квитанции. ФШ Клиента
7 Направлено в НРД SENTTONSD Документу присваивается статус “Направлено в НРД” после выкладки документа в папку ФШ с подтверждением отправки. В статусе “Направлено в НРД” документ перемещается в ЭДО НРД, осуществляется переход на шаг 8 или на шаг 9. ФШ Клиента
8 Отказано REFUSED Документу присваивается статус “Отказано”, если документ не был прочитан или обработан. ЭДО НРД
9 Направлено получателю SENTTODEST Документу присваивается статус “Направлено получателю” при получении положительной квитанции. В статусе “Направлено получателю” документ перемещается в ФШ Банка-получателя, осуществляется переход на шаг 10 или на шаг 11. ЭДО НРД
10 Доставлено получателю DELIVERED Документу присваивается статус “Доставлено получателю” при получении квитанции о получении документа. В статусе “Доставлено получателю” документ перемещается в систему Банка-получателя, осуществляется переход на шаг 12 или на шаг 13. На данном шаге заканчивается схема движения по статусам для документов типа Выписки. ФШ Клиента
11 Ошибка доставки DELIVERERR Документу присваивается статус “Ошибка доставки”, если произошла ошибка при доставке в банк. ФШ Клиента

Движение документа по статусам в Банке

Рисунок 3 - Схема движения документа по статусам в Банке
Таблица 4 - Расшифровка статусов
№ Шага Статус Описание
12 Отклонено REJECTED Документу присваивается статус “Отклонено” при отклонении документа банком.
13 Получено RECEIVED Документу присваивается статус “Получено” при получении сообщения, что транзакция или отчет приняты. Из статуса “Получено” документ перемещается в следующие статусы в зависимости от его типа: для Платежных поручений, ВП, РСТС осуществляется переход на шаг 14; для Писем в банк, СВО, СПД осуществляется переход на шаг 17 или на шаг 18.
14 Принято к исполнению ACCEPTEDTOEXEC Документу присваивается статус “Принято к исполнению” при начале работы с документом в банке. Из данного статуса документ переходит на шаг 15.
15 Принято, проверены реквизиты плательщика ACCEPTEDCHECKED Документу присваивается статус “Принято, проверены реквизиты плательщика” после проверки реквизитов плательщика в банке. Из данного статуса документ переходит на шаг 16.
16 Исполнено DONE Документу присваивается статус “Исполнено” при положительном завершении работы с документом. На данном шаге заканчивается схема движения по статусам для документов типа Платежные поручения, ВП, РСТС.
17 Напоминание REMINDER Документу присваивается статус “Напоминание” при напоминании о неполученном отчете.
18 Ожидание PENDING Документу присваивается статус “Ожидание” при ожидании обработки транзакции или отчета. Из данного статуса документ может быть перемещен на шаг 18.1 или на шаг 18.2 или на шаг 18.3.
18.1 Неправильное название файла INCORRECT Документу присваивается статус “Неправильное название файла”, если файл с отчетом имеет недопустимое имя файла.
18.2 Поврежденный файл CORRUPTED Документу присваивается статус “Поврежденный файл”, если файл не может быть обработан.
18.3 Частично принято PARTIALLY Документу присваивается статус “Частично принято” при получении сообщения, что отчет частично принят, т.е. принята только часть транзакций. Из данного статуса документ переходит на шаг 19.
19 Принято ACCEPTED Документу присваивается статус “Принято” при получении сообщения, что транзакция или отчет приняты. Из данного статуса документ переходит на шаг 20.
20 Принято и прошло валидацию VALID Документу присваивается статус “Принято и прошло валидацию” при получении сообщения, что транзакция или отчет прошли синтаксическую и семантическую валидацию. На данном шаге заканчивается схема движения по статусам для документов типа Письма в банк, СВО, СПД.
21 Ошибка. Статус не распознан ERROR Из любого статуса, присвоенного Банком, документ может попасть в статус “Ошибка. Статус не распознан” при получении неизвестного статуса.
Общая схема движения документа по статусам
Рисунок 4 - Общая статусная модель