Интеграция через FTP

Основной принцип работы#

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

Общий процесс обработки документов отображен на схеме:

FTP Flow

Структура директорий#

На FTP сервере предусматриваются следующие директории:

Название директорииОписание
InputДиректория для входящих файлов. Чтобы отправить файл на обработку в систему, надо поместить его в данную директорию
In_processДиректория для оригиналов файлов которые находятся на обработке. Когда новый файл из директории Input был взят в обработку, оригинальный файл переносится в данную директорию
AcceptedДиректория для оригиналов файлов которые были успешно обработаны. Если документ был успешно обработан, оригинальный файл переносится в данную директорию
DeclinedДиректория для оригиналов файлов которые были обработаны с ошибкой. Если на любом из этапов обработки документа произошла ошибка, оригинальный файл переносится в данную директорию
OutputДиректория для исходящих файлов. В данную директорию сохраняются файлы с ответами системы. Названия файлов ответов включают в себя название оригинального файла но с дополнительным префиксом REPLY__ или ERROR__

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

Типы документов и названия файлов#

Тип документа который описывает входящий файл, определяется по названию файла. Если по названию не был определен тип документа, такой файл не обрабатывается.

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

Типы документов и названия файлов:

Тип документаФормат названия файла
Заказ кодов маркировкиORDER__*.xlsx
Ввод в оборот (Импорт)INPUT_IMPORT__*.xlsx
Ввод в оборот (Производство)INPUT_SELFMADE__*.xlsx
Ввод в оборот (Контракт)INPUT_CONTRACT__*.xlsx
Ввод в оборот (Физ. лицо)INPUT_INDIVIDUAL__*.xlsx
Ввод в оборот (Остатки)INPUT_REMAINS__*.xlsx
ОтгрузкаSHIPMNET__*.xlsx
Отмена отгрузкиSHIPMNET_CANCEL__*.xlsx
ПриемкаACCEPTANCE__*.xlsx
ПеремаркировкаREMARKING__*.xlsx
Перемещение между складамиTRANSFER_LOCAL__*.xlsx
Ввыод из оборотаRECEIPT__*.xlsx

Процесс обработки документов#

Получение нового файла из директории Input#

Система регулярно проверяет директорию Input, на наличие новых файлов с уникальным названием соотвтетствуюшем одному из типов документа.

Регулярность проверки новых файлов настраивается внутри системы и может составлять от нескольких минут до условий по дню недели или времени суток.

Импорт и отправка документа в систему#

Если при импорте или отправке документа происходит ошибка (например: некорректное заполенение данных), то сообщение записывается в файл ERROR__*.json, а оригинальный файл переносится в папку Declined

Если импорт и запрос на отправку прошли успешно, то оригинальный файл переносится в папку In_process

Проверка статуса документа#

Система регулярно проверяет статус документов находящихся на обработке.

Если документ перешел в статус Failed, то информация о документе записывается в файл ERROR__*.json, а оригинальный файл переносится в папку Declined.

Если документ перешел в статус Completed, то информация о документе записывается в файл REPLY__*.json, а оригинальный файл переносится в папку Accepted.

Регулярность проверки статусов настраивается внутри системы и может составлять от нескольких минут до условий по дню недели или времени суток.

Процесс обработки заказов кодов маркировки#

Процесс аналогичен обработке документов, за исключением наличия дополнительного этапа "Проврка кодов маркировки" перед завершением процесса.

Если документ перешел в статус Completed, то дальше идет ожидаение синхронизации кодов.

Проверка статусов кодов#

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

Проверка осуществляется до тех пор, пока в данном заказе будут отсутствовать коды маркировки в статусе NotRegistered.

После того как коды все коды были успешно сихронизированы, то полученные коды о записываются в файл CODES__*.csv, а оригинальный файл переносится в папку Accepted.

Регулярность проверки статусов настраивается внутри системы и может составлять от нескольких минут до условий по дню недели или времени суток.