[vega-m] Использование API

Только ПО разработанное в Вега-Абсолют
nikola.blin
Мимо проходил
Сообщения: 6
Зарегистрирован: Пн, 05 авг 2019 11:54

[vega-m] Использование API

Сообщение nikola.blin » Пн, 05 авг 2019 12:03

Приветствую. Не нашел на форуме раздела с вопросами/ответами по API, решил написать здесь.
В общем, начал использовать API от Вега-М (файл инструкций называется APIvega_mV4, так что использую, видимо, версию 4).

И вот у меня не совсем понятная проблема появилась:
1. Авторизуюсь командой authorization
2. Проверяю статус авторизации командой statusAuthorization (в ответе permission 1, то есть Успешная авторизация, обычные права пользователя)
3. Пытаюсь получить список маяков командой getDevices и получаю ошибку 12 и сообщение Not enough rights

Не совсем понимаю, какие пользователи могут иметь доступ к списку маяков (под этим же аккаунтом без проблем получаю список маяков на карте) и как редактировать свой аккаунт, если это возможно.

Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Re: Использование API

Сообщение Самуил » Пн, 05 авг 2019 14:45

1) пост относит к теме "Софт Вега-Абсолют"
2) при авторизации api json выплёвывает весь список доcтупных команд. смотри логи. если нет в списке - смотри галочки прав. если есть разница - косяк со стороны разрабов веги

nikola.blin
Мимо проходил
Сообщения: 6
Зарегистрирован: Пн, 05 авг 2019 11:54

Re: Использование API

Сообщение nikola.blin » Пн, 05 авг 2019 15:30

Ну вообще по факту авторизации возвращается объект (пользую cUrl)

Код: Выделить всё

stdClass Object ( [command] => authorization [status] => 1 [info] => stdClass Object ( [email] => ***@*** [permission] => 1 ) )
Про галочки прав вопрос открыт, так как единственный доступ, который у меня есть, это доступ вот сюда - https://vega-m.com/ (и там карта с маяками и больше ничего).

Разработчики дали ссылку на этот форум. Ответ от них довольно долго приходит, поэтому их советом с форумом воспользовался =)

Аватара пользователя
a.gerusenko
Сотрудник компании
Сообщения: 26
Зарегистрирован: Пт, 26 июл 2019 16:48

Re: Использование API

Сообщение a.gerusenko » Пн, 05 авг 2019 18:06

В разделе "Общие сведения по работе c API" написано "Сервер использует сессии php".
Вероятнее всего Вы не удерживаете сессию PHP.
Во вложении прикрепил html файл, который может быть поможет Вам разобраться в данном вопросе и с api для сервиса vega-m.com
Вложения
index.html.zip
Пример
(2.04 КБ) 409 скачиваний
Старший инженер-программист

Аватара пользователя
Онотоле
Мимо проходил
Сообщения: 4
Зарегистрирован: Ср, 03 июл 2019 11:04

Re: [vega-m] Использование API

Сообщение Онотоле » Ср, 07 авг 2019 21:47

У vega-m.com есть апи?

nikola.blin
Мимо проходил
Сообщения: 6
Зарегистрирован: Пн, 05 авг 2019 11:54

Re: [vega-m] Использование API

Сообщение nikola.blin » Чт, 08 авг 2019 19:02

Ага, как оказалось.
Вот сижу разбираюсь.

Аватара пользователя
Онотоле
Мимо проходил
Сообщения: 4
Зарегистрирован: Ср, 03 июл 2019 11:04

Re: [vega-m] Использование API

Сообщение Онотоле » Чт, 08 авг 2019 21:27

Можете скинуть, на сайтах найти не могу. То что вам ответили помогло? Апи рабочее?

nikola.blin
Мимо проходил
Сообщения: 6
Зарегистрирован: Пн, 05 авг 2019 11:54

Re: [vega-m] Использование API

Сообщение nikola.blin » Пт, 09 авг 2019 11:59

Онотоле писал(а):
Чт, 08 авг 2019 21:27
Можете скинуть, на сайтах найти не могу. То что вам ответили помогло? Апи рабочее?
Вот все, что имею.
Честно говоря, времени не очень хватает. Последний пост с php сессиями вчера проверил, ну и как-то не зашло. Сессия остается пустой, куки тоже. В общем, надо еще посидеть покурить =)
APIvega_mV4.zip
(6.72 КБ) 482 скачивания

Аватара пользователя
a.gerusenko
Сотрудник компании
Сообщения: 26
Зарегистрирован: Пт, 26 июл 2019 16:48

Re: [vega-m] Использование API

Сообщение a.gerusenko » Пт, 09 авг 2019 14:09

Если что то не получается, пишите, мы обязательно попытаемся помочь.
Я написал несколько скриптов в помощь(для тестов, простые), может поможет разобраться:
Скрипт авторизации

Код: Выделить всё

<?php
$params = array(
'command' => 'authorization',
'email' => 'example@yandex.ru',
'password' => '55055505test'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr); 
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
?>
Скрипт запроса списка устройств

Код: Выделить всё

<?php
$params = array(
'command' => 'getDevices'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr);
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  ?>
Старший инженер-программист

nikola.blin
Мимо проходил
Сообщения: 6
Зарегистрирован: Пн, 05 авг 2019 11:54

Re: [vega-m] Использование API

Сообщение nikola.blin » Пт, 09 авг 2019 17:49

a.gerusenko писал(а):
Пт, 09 авг 2019 14:09
Если что то не получается, пишите, мы обязательно попытаемся помочь.
Я написал несколько скриптов в помощь(для тестов, простые), может поможет разобраться:
Скрипт авторизации

Код: Выделить всё

<?php
$params = array(
'command' => 'authorization',
'email' => 'example@yandex.ru',
'password' => '55055505test'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr); 
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
?>
Скрипт запроса списка устройств

Код: Выделить всё

<?php
$params = array(
'command' => 'getDevices'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr);
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  ?>
Кайф! Вот про что я забыл, про CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE. Все получилось, спасибо

Ответить