Главная Информация Описание REST API

Speech Drive Web API

1. Создание задачи

1.1. Запрос

POST запрос на http://<base_url>/task/create

<base_url> — базовый адрес, зависит от хостинга analyze и настроек http сервера.

Формат запроса: multipart/form-data.

Звуковой файл в теле запроса с именем «file».

Список слов в теле запроса с именем «words». Кодировка слов utf-8, разделитель запятая или новая строка. Допустимые символы — кириллица, запятая, пробел, звёздочка (*), символы новой строки.

Пример тела запроса сформированного из браузера:

------WebKitFormBoundaryLuXeB6TU6xUtO8zs
Content-Disposition: form-data; name= «words»

слово, работ*
------WebKitFormBoundaryLuXeB6TU6xUtO8zs
Content-Disposition: form-data; name= «file»; filename= «работать.wav»
Content-Type: audio/wav


------WebKitFormBoundaryLuXeB6TU6xUtO8zs--

1.2. Ответ

Коды состояния ответа: 200 — успешно, 400 — ошибка.

Ответ в формате json в кодировке utf-8. Поля:

success: <bool>
Результат запроса.
true — задача создана (код 200).
false — произошла ошибка (код 400).

task: <string>
<идентфикатор_задачи>, строка с идентификатором задачи (сейчас, обычное число).

msg: <string>
Строка с сообщением (текстом ошибки в случае ошибки).

Пример:

{
«success»:true,
«task»:»37»,
«msg»:»Задача успешно создана.»
}

2. Проверка статуса задачи

2.1. Запрос

GET запрос на http://<base_url>/task/status/<идентфикатор_задачи>

<base_url> — базовый адрес, зависит от хостинга analyze и настроек http сервера.

<идентфикатор_задачи> — идентификатор задачи полученный из предыдущего запроса.

2.2. Ответ

Коды состояния ответа: 200 — успешно, 400 — ошибка.

Ответ в формате json в кодировке utf-8. Поля:

success: <bool>
Результат запроса.
true — задача создана (код 200).
false — произошла ошибка (код 400).

task: <string>
Строка с идентификатором задачи, если запрос успешен (обычное число).

status: <int>
Статус выполнения задачи.
0 — задача находится в очереди на обработку.
1 — файл индексируется.
2 — файл проиндексирован.
3 — файл проиндексирован и слова найдены.
-1 — в процессе индексации произошла ошибка.
-2 — истекло время хранения файла на сервере.

msg: <string>
Строка с сообщением (текстом ошибки в случае ошибки).

words: <array>
Массив результатов [<слово>, <начало_мс>, <окончание_мс>]

Пример:

{
«success»:true,
«task»:»37»,
«status»:3,
«msg»:»Задача выполнена.»,
«words»:[
[ «работ*»,460,1110],
[ «работ*»,3630,4200]
]
}

 

1. Task creation

1.1. Request

POST request at http://<base_url>/task/create

<base_url> — basic address, depends onhosting of the Analyze service and http server settings.

Request file: multipart/form-data.

Audio file in the request body with a name «file».

The list of words in the request body with a name «words». Encoding is utf-8, delimitor is either a comma or a new paragraph. Allowed symbols — cyrillic, comma, space, star (*), paragraph.

The example of the request body (request from the browser):

------WebKitFormBoundaryLuXeB6TU6xUtO8zs
Content-Disposition: form-data; name= «words»

слово, работ*
------WebKitFormBoundaryLuXeB6TU6xUtO8zs
Content-Disposition: form-data; name= «file»; filename= «работать.wav»
Content-Type: audio/wav


------WebKitFormBoundaryLuXeB6TU6xUtO8zs--

1.2. Answer

Codes of the state of answer: 200 — success, 400 — error.

The answer in the json format in the utf-8 encoding. Fields:

success: <bool>
Request result.
true — task has been created (code 200).
false — an error occured (code 400).

task: <string>
<task_identifier>, string with task identifier (currently integer)

msg: <string>
String with a message (the text of error in case of error).

Example:

{
»success»:true,
»task»:»37»,
»msg»:»Task created succesfully»
}

2. Checking the task status

2.1. Request

GET request at http://<base_url>/task/status/<task_identifier>

<base_url> — basic address, depends onhosting of the Analyze service and http server settings.

<task_identifier> — the identifier of the task, received on the previous step.

2.2. Answer

Codes of the state of the answer: 200 — success, 400 — error.

The answer in the json format in the utf-8 encoding. Fields:

success: <bool>
The result of the request.
true — the task has been created (code 200).
false — an error occured (code 400).

task: <string>
String with a task identifier if the request was successfully created (integer)

status: <int>
Task completion status.
0 — task is in the queue.
1 — file is being indexed.
2 — file has been indexed.
3 — file has been indexed and the words have been found.
-1 — there was an error while indexing.
-2 — the time of file storage has expired.

msg: <string>
String with a message (text of error in case of error).

words: <array>
Array of results [<word>, <start_msec>, <end_msec>]

Example:

{
»success»:true,
»task»:»37»,
»status»:3,
»msg»:»Task completed»,
»words»:[
[ «работ*»,460,1110],
[ «работ*»,3630,4200]
]
}


HostCMS