Авторизация
Для начала работы с API системы требуется авторизация. Для авторизации и получения данных, необходимых для дальнейшей работы с API системы, используется метод «Authorize». Для выполнения метода необходимо передать на сервер API POST-запросом следующие данные:
В заголовке:
- Host: адрес стенда системы
В теле запроса, блок "credentials":
- "email": "логин пользователя",
- "password": "пароль пользователя".
Логин и пароль для работы с системой могут быть получены по запросу у представителя OZ Forensics.
Пример выполнения метода «Authorize»:
HTTP
Bash
Python
php
Java
POST /api/authorize/auth HTTP/1.1
Host: youradress.ru
Content-Type: application/json
User-Agent: PostmanRuntime/7.15.2
Accept: */*
Cache-Control: no-cache
Postman-Token: d8bcbee8-7592-412c-8c71-6c984278ed12,3c8fdaed-938e-4335-b3e4-4207b25e15b6
Host: youradress.ru
Accept-Encoding: gzip, deflate
Content-Length: 91
Connection: keep-alive
cache-control: no-cache
{
"credentials": {
"email": "manualtest@oz-services.ru",
"password": "manualtest"
}
}
curl -X POST \
https://youradress.ru/api/authorize/auth \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Length: 91' \
-H 'Content-Type: application/json' \
-H 'Host: api-d.oz-services.ru' \
-H 'Postman-Token: d8bcbee8-7592-412c-8c71-6c984278ed12,08241e2c-92d6-42a2-8027-6fa6ea2e9910' \
-H 'User-Agent: PostmanRuntime/7.15.2' \
-H 'cache-control: no-cache' \
-d '{
"credentials": {
"email": "manualtest@oz-services.ru",
"password": "manualtest"
}
}'
import requests
url = "https://youradress.ru/api/authorize/auth"
payload = "{\n\t\"credentials\": {\n\t\t\"email\": \"manualtest@oz-services.ru\",\n\t\t\"password\": \"manualtest\"\n\t}\n}"
headers = {
'Content-Type': "application/json",
'User-Agent': "PostmanRuntime/7.15.2",
'Accept': "*/*",
'Cache-Control': "no-cache",
'Postman-Token': "d8bcbee8-7592-412c-8c71-6c984278ed12,44cf86fc-458e-4408-ba62-d539a12ad3e8",
'Host': "youradress.ru",
'Accept-Encoding': "gzip, deflate",
'Content-Length': "91",
'Connection': "keep-alive",
'cache-control': "no-cache"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
setUrl('https://youradress.ru/api/authorize/auth');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'Connection' => 'keep-alive',
'Content-Length' => '91',
'Accept-Encoding' => 'gzip, deflate',
'Host' => 'youradress.ru',
'Postman-Token' => 'd8bcbee8-7592-412c-8c71-6c984278ed12,9792fd78-f231-45aa-852c-9f245bb14703',
'Cache-Control' => 'no-cache',
'Accept' => '*/*',
'User-Agent' => 'PostmanRuntime/7.15.2',
'Content-Type' => 'application/json'
));
$request->setBody('{
"credentials": {
"email": "manualtest@oz-services.ru",
"password": "manualtest"
}
}');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"credentials\": {\n\t\t\"email\": \"manualtest@oz-services.ru\",\n\t\t\"password\": \"manualtest\"\n\t}\n}");
Request request = new Request.Builder()
.url("https://youradress.ru/api/authorize/auth")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("User-Agent", "PostmanRuntime/7.15.2")
.addHeader("Accept", "*/*")
.addHeader("Cache-Control", "no-cache")
.addHeader("Postman-Token", "d8bcbee8-7592-412c-8c71-6c984278ed12,fa239227-f870-425b-8797-e163e26c34f9")
.addHeader("Host", "youradress.ru")
.addHeader("Accept-Encoding", "gzip, deflate")
.addHeader("Content-Length", "91")
.addHeader("Connection", "keep-alive")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
В ответ на запрос авторизации сервер API возвращает в формате JSON данные по пользователю, а также данные по авторизационному токену пользователя:
- "access_token": "********".
Информация по токену необходима для дальнейшей работы с API системы, любой запрос к системе, кроме метода «Authorize», должен сопровождаться авторизационным токеном пользователя в заголовке HTTP-запроса.
Пример полного ответа сервера:
JSON
{
"session_id": 3549,
"user_id": "ded02c7d-64fb-4dd6-a9b1-d1d265e92c91",
"access_token": "b69c99865c469978f269e96e8f8b2f06e5d99ecd4297ea0164b8501833e4443d33e62e3244c6936b397e4f0a6d7c78fe6ccdfe8f64211165e705517f17de9ca8",
"expire_token": "c853d6d04e2293582b476613b471b3a8e8a85dc9a26d4e1a75ae098b7763feb1ec8c5b00f872ecc13279513b46efa95ca60fe518bf9e7de68bee5d64b5fcad4b",
"expire_date": 1737275704,
"device_info": {
"device_family": null,
"device_platform": null,
"device_os": null,
"app_version": null,
"app_build": null,
"device_locale": null
},
"user": {
"user_id": "ded02c7d-64fb-4dd6-a9b1-d1d265e92c91",
"user_type": "CLIENT",
"first_name": "test",
"last_name": "test",
"middle_name": "",
"email": "manualtest@oz-services.ru",
"can_start_analyse_biometry": true,
"can_start_analyse_collection": true,
"can_start_analyse_documents": true,
"can_start_analyse_forensic": true,
"can_start_analyse_kyc": true,
"can_start_analyse_quality": true,
"company_id": "0405aeb4-01f7-4f86-81ea-e554cae9fc7f",
"is_admin": false,
"is_service": true
}
}