Заказчик
Заказчик nkopelyan | FL.RU

Заказчик

На сайте 8 лет и 3 месяца (заходила 8 лет 3 месяца 9 дней назад)
0
5
Рейтинг
5
Все (1)       Заказы (1)        Вакансии (0)       Конкурсы (0)
Разместить заказ
16 Ноября 2016
По договоренности
Требуется написать скрипт, который анализирует xml выгрузку товарной номенклатуры на наличие изменений,
и изменения загружает в специализированное хранилище через REST-подобный интерфейс.
Язык реализации – perl, среда исполнения Debian7 либо CentOS 6.6.

Раз в сутки на ftp://tempUser:tempPass@uploadFtp.local/asrt/ появляется xml файл daily.xml (~150MB) с описанием товаров-цен,
ftp внутренний (связь почти не пропадает) но неторопливый (файл грузится минуты 2).
Формат xml – asrt.xsd (см вложение).
Нужен скрипт, который файл с ftp вытянет, сохранит локально (на ftp выгрузка перезатрётся на следующий день),
если файл битый или отсутствует – отошлёт предупреждение в почту assortment_bug@mailserver.local,
если файл нормальный – загрузит информацию по изменившимся с прошлого раза парам товар-ШК через rest-like сервис.
Сервис локальный (связь быстрая и почти не обрывается), но может на пару дней отключаться на регламентные работы,
в последнем случае изменения должны сохраняться и отправляться при следующем запуске скрипта.
Протокол сервиса:
 в теле POST запроса на адрес Storage.local:9000/q передаётся последовательность JSON объектов.
 Content-Type тела запроса – обязательно "application/json",
 первый – объект – тип операции, для загрузки всегда
{"request":"upload","subject":" good"}
 второй и последующие объекты – описание одной пары Товар-ШК в формате
{"source_id":(код магазина(число)),
"code":"(внутренний код товара(строка))",
"barcode":"(ШК товара(строка))",
"title":"(название(строка))",
"price":(цена(число)),
"load_date":"(дата получения данных)",
"price_start":"(дата вступления цены в действие)"}
 JSON обычный – порядок параметров не важен, переносы/пробелы вне строк не важны.
 авторизация отсутствует.
 в одном запросе передавать не более 1000 объектов.
 даты в формате "%Y-%m-%d %H:%M:%S", например "2016-11-09 16:37:32",
 внутренний код товара формируется из исходных кода и характеристики по правилу:
 если характеристика – пустая строка, (внутренний код)=(исходный код),
 иначе (внутренний код)=(исходный код)_(характеристика)
 в HTTP ответе – единственный JSON объект
{"status":"(ok или fail)",
"Description":"(описание ошибки, имеет смысл если статус – fail)",
"received":(количество принятых объектов, не считая заголовочный)


Цена вопроса обсуждаема.
Для связи: nkopelyan@open-com.ru

Прошло времени с момента публикации: 8 лет 3 месяца 18 дней 16 часов 40 минут
Раздел: Программирование / Прикладное программирование

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».