1

Вопросы по API и Wialon

Тема: Вопросы по API и Wialon

Добрый день! Меня зовут Игорь, я представляю компанию SoftPages.Ru и в настоящее время мы занимаемся интеграцией системы Wialon с нашей CRM-системой для компании ERA-GLONASS. Есть ряд вопросов по API и системе в целом. Подскажите пожалуйста, в какой ветке форума писать эти вопросы? Техпо порекомендовали обращаться именно на форум.

2

Вопросы по API и Wialon

Re: Вопросы по API и Wialon

Перенесено в "Собственные разработки".

Игорь SoftPages, можете начинать спрашивать)

Katerina Alexandrova
Product Manager (Mobile)
Gurtam
3

Вопросы по API и Wialon

Re: Вопросы по API и Wialon

День добрый!

Вопросов масса на самом деле. Начну, пожалуй,  с нескольких и буду добавлять новые  или корректировать уже заданные по мере поступления ответов. Речь идти будет о WialonPro.

1) Насколько мы поняли учетная запись - это ресурс. Из нашей переписки с техпо стало понятно, что получить список учетных записей мы можем только с помощью команды поиска элементов (http://sdk.wialon.com/wiki/ru/pro/remot … arch_items). Причем получим мы список всех ресурсов, к которым кроме учетных записей относятся и другие элементы (POI, геозоны, уведомления, задания, маршруты). Каким образом мы можем из этого списка получить именно учетные записи?

2) Каким запросом API можно получить временную зону учетной записи?

3) Насколько мы поняли у нас пользователь с правами менеджера. В техпо сообщили, что пользователь с правами менеджера не может создавать учетные записи. Однако, как выяснилось через веб интерфейс по ссылке (http://hosting.wialon.pro/service.html) такая возможность у нас есть. Можем ли мы создавать учетные записи через API? Как правильно нужно созавать учетные записи через АПИ?

4) Каким API запросом осуществляется привязка пользователя к учетной записи? Каков правильный порядок создания пользователь/ресурс/учетная запись.

5) Пытались создать новую учетную запись, чтобы в дальнейшем привязать ее к новым пользователям (создали ресурс (http://sdk.wialon.com/wiki/ru/pro/remot … e_resource), затем создали учетную запись (http://sdk.wialon.com/wiki/ru/pro/remot … e_account)). При этом у нашего текущего пользователя, под чьим именем выполнялись эти операции, заменилась учетная запись привязанная к пользователю. В техпо сообщили, что этого не должно было произойти, такое могло произойти только при удалении текущей учетной записи. Но удаления осуществлено не было. В списке ресурсов предыдущая учетка есть.

Здесь вопросов несколько. Как это могло произойти? Как избежать такой ситуации? Как правильно создавать учетные записи?
Каков правильный порядок создания связки пользователь-ресурс-учетная запись и каким API запросом осуществляется привязка пользователя к учетной записи?

+ Как перепривязать предыдущую учетку обратно к пользователю?

4

Вопросы по API и Wialon

Re: Вопросы по API и Wialon

Игорь SoftPages, добрый день!

По порядку по Вашим вопорсам:
1. Учётная запись это надстройка над ресурсом, но не каждый ресурс является учётной записью.
    Чтобы получить учётные записи нужно сначала получить ресурсы:

<your_wialon_pro_address>/ajax.html?svc=core/search_items&
    params={
        "spec":{
             "itemsType":"avl_resource",
            "propName":"sys_name",
                "propValueMask":"*",
            "sortType":"sys_name"
        },
                "force":1,
              "flags":5,
              "from":0,
              "to":0xffffffff
    }&ssid=<your_sid>

Далее по ресурсам, являющимся учётками (у кого "id" совпадает с "bact") выполнить следующее (лучше в батче):

<your_wialon_pro_address>/ajax.html?svc=account/get_account_data&params={"itemId":<resource_id>}&ssid=<your_sid>

2. Временные зоны хранятся в пользователе в отдельном кастом проперти. Смотрите в объекте "pup" свойство "tz".
Там будет число вида 134228528 - оно соответствует (+03:00) Минск, Багдад, Москва, Санкт-Петербург, Волгоград
без перехода не летнее время. Если этого поля нету - по умолчанию тоже +3 без перехода на летнее.

Значения часовых зон и переходом на летнее время перечислены здесь http://sdk.wialon.com/wiki/ru/pro/remot … time/start
Примеры работы с этими значениями можно посмотреть в хостинговой документации: http://sdk.wialon.com/wiki/ru/sidebar/r … me/example

Получение всех пользователей с их кастом проперти:

<your_wialon_pro_address>/ajax.html?svc=core/search_items&
    params={
        "spec":{
             "itemsType":"user",
            "propName":"sys_name",
                "propValueMask":"*",
            "sortType":"sys_name"
        },
                "force":1,
              "flags":3,
              "from":0,
              "to":0xffffffff
    }&ssid=<your_sid>

3-5. Чтобы создать вложенную учётную запись порядок действий таков:
     
     - создать нового пользователя, указав в creatorId id текущего пользователя:

<your_wialon_pro_address>/ajax.html?svc=core/create_user&params={"name":<text>,"password":<text>,"creatorId":<uint>}&ssid=<your_sid>

    - создать новый ресурс, указав создателем id только что созданного пользователя:

<your_wialon_pro_address>/ajax.html?svc=core/create_resource&params={"creatorId":<long>,"name":<text>}

    - создать учётную запись, указав существующий тарифный план и id ранее созданного ресурса:

<your_wialon_pro_address>/ajax.html?svc=account/create_account&params={"itemId":<long>,"plan":<text>}

P. S. Чтобы разобраться конкретно в Вашей проблеме перепривязки пользователя к новой учётной записи
нужно больше информации с какими параметрами вызывались запросы создания ресурса и учётной записи.
Какие значения подавались для creatorId, itemId, plan?

Head of Wialon Local Department
Gurtam
5

Вопросы по API и Wialon

(18/01/2016 10:15:36 отредактировано Игорь SoftPages)

Re: Вопросы по API и Wialon

1) К вопросу о перепривязке учетной записи

Так как первоначально не было понимания корректного создания новых пользователей с учетными записями, то была создана учетная запись следующим образом:

Создали ресурс по запросу
http://sdk.wialon.pro/ajax.html?svc=core/create_resource&params={"creatorId": <id текущего пользователя>,"name":testRes}&ssid=<ssid полученный ранее>

Создали учетную запись
http://sdk.wialon.pro/ajax.html?svc=account/create_account&params="itemId":<id созданного на предыдущем этапе ресурса>,"plan":<тарифный план текущего пользователя>}&ssid=<ssid полученный ранее>

После этого выяснилось, что к текущему пользователю привязалась новая учетная запись. При этом старая удалена не была. Хотелось бы вернуть все как было, т.е. перепривязать к пользователю предыдущую учетную запись.

2) При попытке создания новых пользователей есть ошибка (возможно связана с предыдущим пунктом).

Создаем пользователя
http://sdk.wialon.pro/ajax.html?svc=core/create_user&params={"name":Newby223,"password":123456,"creatorId":<id текущего пользователя>}&ssid=<ssid полученный ранее>

Получаем результат вида:
{"nm":"Newby223","cls":1,"id":90646, <и.т.д.>}

Пытаемся создать ресурс запросом
http://sdk.wialon.pro/ajax.html?svc=core/create_resource&params={"creatorId": <id созданного пользователя, т.е. 90646>,"name":Newby223}&ssid=<ssid полученный ранее>

Получаем результат
{"error":6}

Описание ошибки:
- несуществующий id создателя
- ошибка создания ресурса (может быть запрещено создание элемента)

Несуществующий id создателя не может быть, т.к. мы его только что создали и подставили полученный id s запрос.
"Может быть запрещено создание элемента" тоже вроде не должно быть. Т.к. при отсутствии прав на создание элементов пользователь бы тоже не создался.

Подскажите пож-та в чем ошибка?

6

Вопросы по API и Wialon

Re: Вопросы по API и Wialon

Доброе время суток. В нашей организации возникла необходимость в создании учетных записей через запросы api. Возникла проблема именно при создании учетной записи.
Действовал как указано в ответе от deal но выдает error 7.
Вот мои действия:
1. Создаем пользователя
https://hst-api.wialon.com/wialon/ajax. … sid=my_sid
Создан успешно!
2. Создаем новый ресурс, указав создателем id только что созданного пользователя:
https://hst-api.wialon.com/wialon/ajax. … sid=my_sid
Ресурс создался успешно. Залез для проверки в CMS Manager там появился этот ресурс. В столбце "Создатель" указан только-что созданный в 1ом пункте пользователь, в столбце "Учетная запись" указана та учетная запись от имени которой я посылаю все api запросы.
3. Пытаемся создать учетную запись.
https://hst-api.wialon.com/wialon/ajax. … sid=my_sid
itemId указываю соответственно id только что созданного ресурса. Тарифный план единственный который у нас есть.
На выходе выдает ошибку 7
Учетные записи вручную через CMS Manager создаются без проблем. В чем моя ошибка? Подскажите пожалуйста.

7

Вопросы по API и Wialon

Re: Вопросы по API и Wialon

Вопрос помогли решить в техподдержке.
Ответ от техподдержки:

Добрый день
Причина в правах токена - аналогичный тест выполняется успешно при авторизации под токеном с полными правами пользователя.
Подробнее про параметры в форме oauth для генерации токена написано в блоге
https://blog.gurtam.com/wp-content/uplo … lon_RU.pdf

Там все описано, теперь учетная запись через api запрос создается без проблем