действие | метод | запрос | параметры |
Создать поисковые фразы | POST | /api/v2/search_phrases.json?name=<name>&sources_ids_list=<id1>,...,<idN> | name - имя нового списка, sources_ids_list - id источников фраз |
Посмотреть поисковые фразы | GET | /api/v2/search_phrases/<id>.json | id - идентификатор списка |
Посмотреть ошибки | GET | /api/v2/search_phrases/<id>.json?errors=1 | id - идентификатор списка |
Посмотреть все списки поисковых фраз | GET | /api/v2/search_phrases.json | |
Переименовать поисковые фразы | POST | /api/v2/search_phrases/<id>/rename.json?name=<name> | id - идентификатор списка name - новое имя списка |
Изменить поисковые фразы | PUT | /api/v2/search_phrases/<id>.json?sources_ids_list=<id1>,...,<idN> | id - идентификатор списка, sources_ids_list - id источников фраз |
Удалить поисковые фразы | DELETE | /api/v2/search_phrases/<id>.json | id - идентификатор списка |
Скачать исходный csv-файл | GET | /api/v2/search_phrases/<id>.csv | id - идентификатор списка |
Request URL: https://target.my.com/api/v2/search_phrases.json?name=my_test_list
Request Method: POST
Request Heders:
Content-Type: text/csv; charset=UTF-8;
X-Trg-User-Id: <здесь айди пользователя>
Тело запроса:
phrase,expires
one,12d
two,12d
three,12d
Пример ответа с превышением лимита количества фраз
{
"error"
: {
"message"
:
"limit 1 exceeded"
,
"code"
: 1008,
"details"
: {
"limit"
: 1
}
}
}
Запрос GET
/api/v2/search_phrases/<id>.json
Параметры:
id
- идентификатор списка
Пример ответа
{
"errors_cnt"
: 3,
"items"
: [
{
"phrase"
:
"Купить пластиковые окна"
,
"stop_phrases"
: [
"межкомнатные двери"
,
"в европу"
,
"сейчас или никогда"
],
"price_coeff"
: 1,
"expires"
: 7200,
"fading"
:
"inverse"
,
"sub"
:
"Купить пластиковые окна"
},
{
"phrase"
:
"Продать гараж срочно"
,
"stop_phrases"
: [
"дом"
,
"снять квартитру"
],
"price_coeff"
: 0.8,
"expires"
: 86520,
"fading"
:
"linear"
,
"sub"
:
"гараж"
},
{
"phrase"
:
"подарки"
,
"stop_phrases"
: [ ],
"price_coeff"
: 1,
"expires"
: 864000,
"fading"
:
"const"
,
"sub"
:
"подарки"
},
]
}
Запрос GET
/api/v2/search_phrases/<id>.json?errors=1
Пример ответа
{
"items"
: [
{
"line_number"
: 5,
"source_line"
:
","
,
"message"
:
"'phrase' is empty"
,
"code"
: 1002
},
{
"line_number"
: 6,
"source_line"
:
"$OS, 1d"
,
"message"
:
"'phrase' bad format"
,
"code"
: 1003
},
{
"line_number"
: 8,
"source_line"
:
"билеты, 1d2h3"
,
"message"
:
"'expires' bad format"
,
"code"
: 1006
}
]
}
Запрос GET
/api/v2/search_phrases.json
{
"items"
: [
{
"id"
: 1,
"name"
:
"продажа"
,
"status"
:
"ready"
,
"phrases_cnt"
: 42,
"stop_phrases_cnt"
: 5,
"errors_cnt"
: 4,
"created"
:
"2017-12-22T11:02:27+03:00"
,
"updated"
:
"2017-12-22T14:02:27+03:00"
},
{
"id"
: 2,
"name"
:
"покупка"
,
"status"
:
"ready"
,
"phrases_cnt"
: 9,
"stop_phrases_cnt"
: 0,
"errors_cnt"
: 0,
"created"
:
"2017-12-23T10:03:45+03:00"
,
"updated"
:
"2017-12-23T10:03:45+03:00"
},
]
}
Запрос POST
/api/v2/search_phrases/<id>/rename.json?name=<name>
Параметры:
id
- идентификатор спискаname
- новое имя списка
PUT запрос:
/api/v2/search_phrases/<id>.json
Параметры:
id
- идентификатор списка
{
"id"
: 1,
"name"
:
"продажа"
,
"status"
:
"ready"
,
"phrases_cnt"
: 42,
"stop_phrases_cnt"
: 5,
"errors_cnt"
: 0,
"created"
:
"2017-12-22T11:02:27+03:00"
,
"updated"
:
"2017-12-26T19:03:22+03:00"
}
Удалить поисковые фразы
Запрос DELETE:
/api/v2/search_phrases/<id>.json
Параметры:
id
- идентификатор списка
Cкачать исходный CSV-файл
Запрос GET
/api/v2/search_phrases/<id>.csv
Параметры:
id
- идентификатор списка
Возвращаемые ошибки
Все ошибочные ответы возвращаются так:
{
"error"
: {
"code"
:
"ERROR_CODE"
,
"message"
:
"message text"
}
}
http status |
code |
message |
---|---|---|
400 Bad Request |
ERROR |
can't read request body |
400 Bad Request |
BAD_DATA |
bad csv header |
404 Not Found |
NOT_FOUND |
search phrases not found |
409 Conflict |
WAIT_TIMEOUT |
search phrases locked |
410 Gone |
DELETED |
search phrases not found |
410 Gone |
NOT_READY |
search phrases not ready |
413 Request Entity Too Large |
ERROR |
too many phrases in the list |
500 Internal Server Error |
ERROR |