update description

This commit is contained in:
max 2022-09-22 02:19:35 +03:00
parent f02c1463ac
commit a25a57255f

118
README.md
View File

@ -1,10 +1,17 @@
## Дополнительный формат API (первичный черновик) ## Дополнительный формат API (первичный черновик)
Все запросы передаются методом POST
Все структуры строго типизированы, т.е. надо следить за типа данных, числа передаются без кавычек, строки в кавычках.
Используемые коды: Используемые коды:
- 200 - Выполнено успешно - 200 - Выполнено успешно
- 201 - Заявка принята - 206 - Частично выполнено (не завершено, например, генерирование отчета)
- 202 - Заявка принята
- 400 - Не правильно оформлен запрос
- 403 - Доступ запрещен, не верный токен - 403 - Доступ запрещен, не верный токен
- 404 - Не найдено, например пользователь или сборка
- 502 - Внутрення ошибка (расшифровка в поле message в теле ответа) - 502 - Внутрення ошибка (расшифровка в поле message в теле ответа)
Используемые сущности Используемые сущности
@ -13,60 +20,62 @@
- records - исходные данные для сбора информации - records - исходные данные для сбора информации
- rules - Правила сбора информации. Алиасы для брендов, логин пароль для авторизации на сайте и т.п - rules - Правила сбора информации. Алиасы для брендов, логин пароль для авторизации на сайте и т.п
Для поддержки сжатия в ответе, при запросе используйте заголовок Accept-Encoding: "gzip" в соостветсии со стандартом
### Создание сборки ### Создание сборки
endpoint: api/matcher/create?token=XXXXXXXXXXX endpoint: api/matcher/create?token=XXXXXXXXXXX
REQUEST: REQUEST: (более полный пример в файле examples/create.json)
```json ```json
{ {
"title" : "Произвольное название сборки", "title" : "Произвольное название сборки",
"watchers" : [ "watchers" : [
{ {
"type" : "site", "type" : "site",
"sld" : "emex.ru", "sld" : "emex.ru",
"city" : "москва" "city" : "москва"
} }
], ],
"records" : [ "records" : [
{ {
"sku" : "your_inner_code", "sku": "13273",
"vcode" : "5531", "vcode": "C-10",
"brand" : "ngk", "brand": "HKT",
"model" : "5531", "model": "C-10",
"price" : 12, "tags": ["да"]
"tags" : [ },
"tag1", {
"tag2" "sku": "9733",
] "vcode": "P102",
} "brand": "TAMA",
"model": "P102",
"tags": ["да"]
}
] ]
} }
``` ```
RESPONSE: RESPONSE:
possible codes (202, 400, 403, 500, 502)
```json ```json
{ {
"message" : "Описание ошибки если есть", "message" : "Описание ошибки если есть",
"matcher_id" : 10, "matcher_id" : 10 // Идентификатор созданной сборки
... В случае успеха поля как в ответе на matcher/status с описание состояния сборки ...
} }
``` ```
### Получение списка всех сборок
REQUEST:
endpoint matcher/list?token=XXXXXX
### Обновление исходных записей ### Обновление исходных записей
endpoint: api/(matcher)/update?token=XXXXXXXXXXX endpoint: api/matcher/update&token=XXXXXXXXXXX
REQUEST REQUEST
```json ```json
{ {
"matcher_id": 10, "matcher_id": 10,
"matching": ["brand","model"],
"actions": ["create", "update", "delete"],
"records": [ "records": [
{ {
"sku": "articul_code", "sku": "articul_code",
@ -86,21 +95,10 @@ REQUEST
``` ```
RESPONSE:
codes: 201, 400, 403, 502
```json
{
"code": "http_code_duplicate",
"message" : ""
}
```
### Запуск сбора данных ### Запуск сбора данных
endpoint api/matcher/start?token=XXXXXXXXXXX endpoint api/matcher/start&token=XXXXXXXXXXX
REQUEST: REQUEST:
```json ```json
{ {
"matcher_id": 10 "matcher_id": 10
@ -108,19 +106,15 @@ REQUEST:
``` ```
RESPONSE: RESPONSE:
CODES: 201, 400, 403, 502
```json ```json
{ {
"code": "http_code_duplicate",
"start_id": "идентификатор сбора данных",
"message": "Расшифровка ошибки если есть" "message": "Расшифровка ошибки если есть"
} }
``` ```
### Остановка сбора данных ### Остановка сбора данных
endpoint api/matcher/stop?token=XXXXXXXXXXX endpoint api/matcher/stop&token=XXXXXXXXXXX
REQUEST: REQUEST:
```json ```json
{ {
@ -132,15 +126,12 @@ CODES: 201, 400, 403, 502
```json ```json
{ {
"code": "http_code_duplicate", "message": "Расшифровка ошибки если есть"
"message": ""
} }
``` ```
### Состояние сборки ### Состояние сборки
endpoint: api/matcher/status endpoint: api/matcher/status
REQUEST: REQUEST:
```json ```json
{ {
@ -149,17 +140,16 @@ REQUEST:
``` ```
RESPONSE: RESPONSE:
```json ```json
{ {
"code": "http_code_duplicate", "state": "processing", // Общее состояние
"summary": "processing", "progress" : 10, // Общий прогресс
"watchers": [ "watchers": [
{ {
"id": 11, "id": 11,
"title": "emex.ru", "title": "emex.ru",
"state": "processing", "state": "processing", // Состояние конкретного магазина
"progress": 20, "progress": 20, // его прогресс
"started_at": "2019-10-12T07:20:50.52Z" "started_at": "2019-10-12T07:20:50.52Z"
}, },
{ {
@ -175,28 +165,18 @@ RESPONSE:
### Получение данных ### Получение данных
endpoint: api/matcher/export?token=XXXXXXXXXXX endpoint: api/matcher/export&token=XXXXXXXXXXX
REQUEST: REQUEST:
```json ```json
{ {
"matcher_id": 10, "matcher_id": 10,
"format": "json|xlsx|csv", "render": "autoparts"
"size": 100, // размер страницы (0 - вернет все данные)
"page": 1 // Запрашиваемая страница
} }
``` ```
RESPONSE: RESPONSE:
```json ```json
{ {
"page" : 1, // Номер страницы с которой передаются данные ... данные изменены для уменьшение размера ответа и более удобной обработки, в ответе все будет понятно ...
"pages": 10, // ВСего страниц с данными
"next" : 2, // Номер следующей страницы
"is_last" : false // Последняя страница ?
"data" : [
... данные в формате как в примере с учетом пожеланий по дате и кол-ву ...
]
} }
``` ```