- Для авторизации запросов, используется схема Basic authentication, где нужно передавать логин и пароль от доступа к базе данных.
- Дополнительные параметры передаем POST-запросом в формате JSON.
Результаты возвращаются также в JSON-формате- Адрес для формирования запросов уточнять у администратора (пример адреса https://api2.tezarius.ru). В дальнейшем, в скриптах будет использоваться маска {YourHost}, вместо которой нужно будет указывать адрес для формирования запросов
Пример на PHP без передачи параметров:
<?php
$credentials = base64_encode(utf8_encode("{$user}:{$pass}"));
/*
$user - логин пользователя доступа к базе данных
$pass - пароль пользователя доступа к базе данных
*/
$data_string = json_encode($post);
$ch=curl_init($UrlAPI);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array(
"Authorization: Basic $credentials",
"Accept: application/json",
"Content-type: application/json"
)
);
$result = curl_exec($ch);
curl_close($ch);
?>
Пример PHP с передачей параметров:
<?php
$credentials = base64_encode(utf8_encode("{$user}:{$pass}"));
/*
$user - логин пользователя доступа к базе данных
$pass - пароль пользователя доступа к базе данных
*/
$params[] = array(
"param1" => "value1",
"param2" => "value2"
);
$post = array(
"db" => "TZRS_XXXXX_yyyy", /*имя базы данных*/
"params" => $params
);
$data_string = json_encode($post);
$ch=curl_init($UrlAPI);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array(
"Authorization: Basic $credentials",
"Accept: application/json",
"Content-type: application/json"
)
);
?>
Выполняем запрос только перед первой авторизацией (без параметров).
GET https://api2.tezarius.ru/method/connection/params
Ответ сервера
{
"host":"адрес хоста для последующих запросов",
"db":"база для подключения, пример TZRS_XXXXX_yyyyy",
"configID":"id конфиграции проекта, если 2 - это автобизнес",
"webSocketHost":"адрес сервера для подключеня в вебсерверу сокетов",
"port":"порт для прямого доступа к базе",
"ip":"ip адрес сервера",
"username":"ФИО текущего пользователя"
}
Внимание! Сохраните полученные параметры локально в кэш или в хранилище, для формирования дальнейших запросов
Код ответа HTTP 500
Результат ответа с описанием ошибки
{
"error":true,
"message":"описание ошибки, выводить пользователю"
}