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