Код: Выделить всё
$username = '9089089089';
$password = '**********';
$url = 'https://api.motivtelecom.ru/client/v1/login';
echo '<!DOCTYPE html><html lang="ru"><head><meta charset="utf-8"/></head><body><br>';
// Авторизуемся
$header = [
'Accept: application/json',
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Host: api.motivtelecom.ru',
'Content-Type: application/json',
'Referer: https://lk.motivtelecom.ru/'
];
$post_data = [
'password' => $password,
'username' => $username
];
$post_data = json_encode($post_data);
$page = getData('https://api.motivtelecom.ru/client/v1/login', $header, $post_data);
$json = json_decode($page);
// Токен
if (empty($json->access_token)) {
die('ОШИБКА: Не найден токен!');
}
$mot_token = $json->access_token;
// ЛК
$header = [
'Accept: application/json',
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
'Authorization: Bearer ' . $mot_token,
'Referer: https://lk.motivtelecom.ru/'
];
$page = getData('https://api.motivtelecom.ru/client/v1/me', $header);
$json = json_decode($page);
// Баланс
if (!isset($json->balance->value)) {
die('ОШИБКА: Не найдены данные баланса!');
}
$mot_bal = $json->balance->value;
$mot_sta = $json->status->title;
$mot_tar = $json->tariff->title;
$mot_dat = $json->tariff->charge_date;
if ($mot_dat == '') {
$mot_dat = 'Нет данных';
}
echo "<strong>Баланс:</strong> $mot_bal<br><br>\r\n";
echo "<strong>Статус:</strong> $mot_sta<br><br>\r\n";
echo "<strong>Тариф:</strong> $mot_tar<br><br>\r\n";
echo "<strong>Дата окончания:</strong> $mot_dat<br><br>\r\n";
// Минуты остаток
$page1 = getData('https://api.motivtelecom.ru/client/v1/me/remains', $header);
$json1 = json_decode($page1, true);
$min = $json1[0]['rest_amount'];
$gig = $json1[1]['rest_amount'];
if ($min == '') {
$min = '0';
}
if ($gig == '') {
$gig = '0';
}
echo "<strong>Остаток минут:</strong> $min<br><br>\r\n";
echo "<strong>Остаток мегабайт:</strong> $gig<br><br>\r\n";
echo '</body></html>';
// Функция CURL-запроса
function getData($url, $header = false, $post_data = false)
{
global $dir;
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2);
curl_setopt($ch, CURLOPT_HEADER, 0);
if ($header) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
if ($post_data) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt(
$ch,
CURLOPT_USERAGENT,
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0'
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$ret = curl_exec($ch);
usleep(300000);
return $ret;
}
Если кому надо, могу выложить код парсера личного кабинета Газекс с возможностью передачи показаний счетчика газа.