## Дополнительный формат API (первичный черновик) Используемые коды: - 200 - Выполнено успешно - 201 - Заявка принята - 403 - Доступ запрещен, не верный токен - 502 - Внутрення ошибка (расшифровка в поле message в теле ответа) Используемые сущности - matcher - (сборка) совокупность сайтов и исходных записей для сбора информации. Аналог группы. - watchers - сайты, загруженные файлы поставщиков и/или конкурентов, метаформулы для вычисления результатов - records - исходные данные для сбора информации - rules - Правила сбора информации. Алиасы для брендов, логин пароль для авторизации на сайте и т.п ### Создание сборки endpoint: api/matcher/create?token=XXXXXXXXXXX REQUEST: ```json { "title" : "Произвольное название сборки", "watchers" : [ { "type" : "site", "sld" : "emex.ru", "city" : "москва" } ], "records" : [ { "sku" : "your_inner_code", "vcode" : "5531", "brand" : "ngk", "model" : "5531", "price" : 12, "tags" : [ "tag1", "tag2" ] } ] } ``` RESPONSE: possible codes (202, 400, 403, 500, 502) ```json { "message" : "Описание ошибки если есть", "matcher_id" : 10, ... В случае успеха поля как в ответе на matcher/status с описание состояния сборки ... } ``` ### Обновление исходных записей endpoint: api/(matcher)/update?token=XXXXXXXXXXX REQUEST ```json { "matcher_id": 10, "matching": ["brand","model"], "actions": ["create", "update", "delete"], "records": [ { "sku": "articul_code", "vcode": "5531", "brand": "ngk", "title": "full item title", "model": "5531", "tags": [ "some", "free", "tags" ], "price": 5000 } ] } ``` RESPONSE: codes: 201, 400, 403, 502 ```json { "code": "http_code_duplicate", "message" : "" } ``` ### Запуск сбора данных endpoint api/matcher/start?token=XXXXXXXXXXX REQUEST: ```json { "matcher_id": 10 } ``` RESPONSE: CODES: 201, 400, 403, 502 ```json { "code": "http_code_duplicate", "start_id": "идентификатор сбора данных", "message": "Расшифровка ошибки если есть" } ``` ### Остановка сбора данных endpoint api/matcher/stop?token=XXXXXXXXXXX REQUEST: ```json { "matcher_id": 10 } ``` RESPONSE: CODES: 201, 400, 403, 502 ```json { "code": "http_code_duplicate", "message": "" } ``` ### Состояние сборки endpoint: api/matcher/status REQUEST: ```json { "matcher_id" : 10 } ``` RESPONSE: ```json { "code": "http_code_duplicate", "summary": "processing", "watchers": [ { "id": 11, "title": "emex.ru", "state": "processing", "progress": 20, "started_at": "2019-10-12T07:20:50.52Z" }, { "id": 12, "title": "autopiter.ru", "state": "idle", "finished_at": "2019-10-12T07:20:50.52Z" } ] } ``` ### Получение данных endpoint: api/matcher/export?token=XXXXXXXXXXX REQUEST: ```json { "matcher_id": 10, "format": "json|xlsx|csv", "size": 100, // размер страницы (0 - вернет все данные) "page": 1 // Запрашиваемая страница } ``` RESPONSE: ```json { "page" : 1, // Номер страницы с которой передаются данные "pages": 10, // ВСего страниц с данными "next" : 2, // Номер следующей страницы "is_last" : false // Последняя страница ? "data" : [ ... данные в формате как в примере с учетом пожеланий по дате и кол-ву ... ] } ```