1

Ошибка 4 при создании отчета

Topic: Ошибка 4 при создании отчета

Получил информацию о шаблоне с помощью report/get_report_data.
При создании отчета с помощью report/update_report. Пишет ошибку {"error":4,"reason":"WRONG_PARAMS"}.
Помогите понять в чем причина, что не так с параметрами?

wialon/ajax.html?svc=report/update_report&params=
{ "itemId":"13498204", "id":0, "callMode":"create", "n":"НовыйПрограмный", "ct":"avl_unit", "p":"{\"bind\":{\"avl_unit\":[]}}",
"tbl":[
{ "n":"unit_stats", "l":"Статистика",
"c":"",
"cl":"",
"cp":"",
"s":"[\"address_format\",\"time_format\",\"us_units\"]",
"sl":"[\"Address\",\"Time Format\",\"Measure\"]",
"p":"{\"address_format\":\"0_10_5\",\"time_format\":\"%Y-%m-%E_%H:%M:%S\",\"us_units\":0}",
"sch": { "f1":0, "f2":0, "t1":0, "t2":0, "m":0, "y":0, "w":0 },
"f":0 },
{ "n":"unit_trips", "l":"Поездки",
"c":"[\"time_begin\",\"time_end\",\"fuel_level_begin\",\"fuel_level_end\"]",
"cl":"[\"Начало\",\"Конец\",\"Нач. уровень\",\"Кон. уровень\"]",
"cp":"[{},{},{},{}]",
"s":"",
"sl":"",
"p":"{\"grouping\":\"{\\\"type\\\":\\\"day\\\"}\"}",
"sch": { "f1":0, "f2":0, "t1":0, "t2":0, "m":0, "y":0, "w":0 },
"f":4097 }
] }&sid=09ce2ad12ed0db7d3847048a4481ba9c

2

Ошибка 4 при создании отчета

(edited by RedRock 13/03/2019 11:44:44)

Re: Ошибка 4 при создании отчета

как правило связана с неверным параметром, у вас "itemId":"13498204", значение число, а не текст, вроде должно быть "itemId":13498204, т.е. значение без кавычек. Вы к части ковычек добавляете \, у другой части их нет, обычно это делают для отключения автозамены ковычек, возможно проблема в этом.
Если отправляете по HTTP, то русские символы луче заменить кодами %FF
sid не надо публиковать wink, а то я ща как зайду, как наворочу :р
Совет: по сути список params это JSON-структура, я бы вам посоветовал создать класс под ккоманду с параметрами, а внутри него сделать конвертер в JSON-структуру, и эту JSON-структуру, добавлял бы к запросу. У меня на JAVA:
line = String.format(QUERY_FORMAT, getCommand(), getParams(), sid);
где
QUERY_FORMAT="https://hst-api.wialon.com/wialon/ajax.html?%s&params=%s&sid=%s";
getCommand(): Remote API команда в формате строки
getParams(): JSON-структуру с данными для запроса
sid: идентификатор сессии в формате текста.

FFA0-0BBB-8911-15BB

https://www.reg.ru
3

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

anistratenko wrote:

Получил информацию о шаблоне с помощью report/get_report_data.
При создании отчета с помощью report/update_report. Пишет ошибку {"error":4,"reason":"WRONG_PARAMS"}.
Помогите понять в чем причина, что не так с параметрами?

wialon/ajax.html?svc=report/update_report&params=
{ "itemId":"13498204", "id":0, "callMode":"create", "n":"НовыйПрограмный", "ct":"avl_unit", "p":"{\"bind\":{\"avl_unit\":[]}}",
"tbl":[
{ "n":"unit_stats", "l":"Статистика",
"c":"",
"cl":"",
"cp":"",
"s":"[\"address_format\",\"time_format\",\"us_units\"]",
"sl":"[\"Address\",\"Time Format\",\"Measure\"]",
"p":"{\"address_format\":\"0_10_5\",\"time_format\":\"%Y-%m-%E_%H:%M:%S\",\"us_units\":0}",
"sch": { "f1":0, "f2":0, "t1":0, "t2":0, "m":0, "y":0, "w":0 },
"f":0 },
{ "n":"unit_trips", "l":"Поездки",
"c":"[\"time_begin\",\"time_end\",\"fuel_level_begin\",\"fuel_level_end\"]",
"cl":"[\"Начало\",\"Конец\",\"Нач. уровень\",\"Кон. уровень\"]",
"cp":"[{},{},{},{}]",
"s":"",
"sl":"",
"p":"{\"grouping\":\"{\\\"type\\\":\\\"day\\\"}\"}",
"sch": { "f1":0, "f2":0, "t1":0, "t2":0, "m":0, "y":0, "w":0 },
"f":4097 }
] }&sid=09ce2ad12ed0db7d3847048a4481ba9c

Как было сказано выше, itemId должен быть целым числом, не строкой. Зарезервированные символы должны должны кодироваться соответствующими кодами при отправке HTTP запроса.

4

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Исправил параметр itemId на числовой.
Сверил структуру шаблона, в том числе и символы \ со структурой полученной с помощью report/get_report_data - полностью совпадает.
Параметры в виде JSON-структуры проверяю с помощью http://jsonviewer.stack.hu/ - ошибок нет.

Пока что ошибка без изменений {"error":4,"reason":"WRONG_PARAMS"}

5

Ошибка 4 при создании отчета

(edited by RedRock 13/03/2019 13:00:26)

Re: Ошибка 4 при создании отчета

anistratenko Отправьте пустой параметр params={}. В ответ придет минимальный список свойств и их тип. Я так решал эту проблему, до абстракции этого процесса.

FFA0-0BBB-8911-15BB

https://www.reg.ru
6

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Отправил пустой параметр wialon/ajax.html?svc=report/update_report&params={}
теперь получаю {"error":1}

7

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Проблема решилась изменением "time_format".
вместо "p": "{\"address_format\":\"0_10_5\",\"time_format\":\"%Y-%m-%E_%H:%M:%S\",\"us_units\":0}"
надо "p": "{\"address_format\":\"0_10_5\",\"time_format\":\"_\",\"us_units\":0}"

8

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Теперь при выполнении wialon/ajax.html?svc=report/update_report
ошибка {"error":7}
если я правильно понимаю то проблема с правами и доступом.
что надо сделать?

9

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

anistratenko дать права пользователю/tokin для работы с отчетами шаблона.
https://sdk.wialon.com/wiki/ru/sidebar/ … rmat/token
Если доступ по сессии, то права пользователя должны допускать создание и редактирование шаблонов отчета.

FFA0-0BBB-8911-15BB

https://www.reg.ru
10

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

anistratenko wrote:

Проблема решилась изменением "time_format".
вместо "p": "{\"address_format\":\"0_10_5\",\"time_format\":\"%Y-%m-%E_%H:%M:%S\",\"us_units\":0}"
надо "p": "{\"address_format\":\"0_10_5\",\"time_format\":\"_\",\"us_units\":0}"

В поле формата даты есть символ %, за которым обычно идет код символа при передаче HTTP запроса. Поэтому сам символ % нужно кодировать с помощью %25, т.е. ваша строка с форматом даты/времени должна выглядеть %25Y-%25m-%25E_%25H:%25M:%25S

11

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Вопрос про создание отчета командой wialon/ajax.html?svc=report/update_report  и ошибку доступа {"error":7}.

Я правильно понимаю, что доступные права можно посмотреть командой:
wialon/ajax.html?svc=token/login&params={ "token":"*****", "operateAs":"", "fl":16 }

Результатом которой будет:
{"features":{
      "unlim": 0,
      "svcs": {
           "create_resources": 1,
           "create_unit_groups": 1,
           "create_units": 0,
           "create_users": 1,
           "custom_fields": 1,
           "custom_reports": 1,
           "reports": 1,
           "reportsdata": 1,
           "reportsmngt": 1,
           "reporttemplates": 1 } } }

Права на создание отчета это "create_units" ?

12

Ошибка 4 при создании отчета

(edited by chdi 19/03/2019 09:51:57)

Re: Ошибка 4 при создании отчета

anistratenko wrote:

Вопрос про создание отчета командой wialon/ajax.html?svc=report/update_report  и ошибку доступа {"error":7}.

Я правильно понимаю, что доступные права можно посмотреть командой:
wialon/ajax.html?svc=token/login&params={ "token":"*****", "operateAs":"", "fl":16 }

Результатом которой будет:
{"features":{
      "unlim": 0,
      "svcs": {
           "create_resources": 1,
           "create_unit_groups": 1,
           "create_units": 0,
           "create_users": 1,
           "custom_fields": 1,
           "custom_reports": 1,
           "reports": 1,
           "reportsdata": 1,
           "reportsmngt": 1,
           "reporttemplates": 1 } } }

Права на создание отчета это "create_units" ?

fl = 16 возвращает доступные сервисы по биллингу (создание ресурсов, отчеты, создание объекты и т.д)
Для проверки прав токена fl = 4 (    информация по токену ) , в ответе (в "token" ) параметрах fl - флаги доступа токена, items    список id элементов, к которым токену разрешен доступ, если пустой - ко всем элементам

Diana Cheley
Wialon Hosting Expert
Gurtam
13

Ошибка 4 при создании отчета

(edited by RedRock 18/04/2019 02:24:40)

Re: Ошибка 4 при создании отчета

Запрос:
https://hst-api.wialon.com/wialon/ajax. … 22fl%22:1}

https://hst-api.wialon.com/wialon/ajax.html?svc=resource/driver_status&params={"phoneNumber":"+791340?????","password":"91340?????","app":"noname","f":1}

В ответ:
{"error":4}

Водитель на ТС, телефон и мобильный ключ тот.

В чем проблема?

FFA0-0BBB-8911-15BB

https://www.reg.ru
14

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Ап, обратите внемание ктонить....

FFA0-0BBB-8911-15BB

https://www.reg.ru
15

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Попробуйте заэнкодить параметры. Очень частая проблема с номером телефона (замените + на %2B)

16

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

shmi, без изменений.

FFA0-0BBB-8911-15BB

https://www.reg.ru
17

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

RedRock
В запросе resource/driver_status error:4 кидается в 2х случаях
1) phoneNumber и password невалидые (отсутствуют либо не текст)
2) водителя/объекта с указанным телефонным номером не существует

18

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

shmi не помогло, пытался так и с сидом, может надо в разделе апса прописать рельное приложение?

FFA0-0BBB-8911-15BB

https://www.reg.ru
19

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

RedRock
У меня этот же запрос (с моим номером водителя, паролем и сидом) проходит

20

Ошибка 4 при создании отчета

(edited by RedRock 23/04/2019 09:46:21)

Re: Ошибка 4 при создании отчета

shmi wrote:

RedRock
У меня этот же запрос (с моим номером водителя, паролем и сидом) проходит

Можете скинут http-запрос (со скрытым номером телефона, ключа и sid), если не сложно?

FFA0-0BBB-8911-15BB

https://www.reg.ru
21

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

На здоровье (номер изменён)

https://hst-api.wialon.com/wialon/ajax.html?svc=resource/driver_status&params={"phoneNumber":"%2B123456789","password":"1","app":"noname","fl":1}

Этот запрос открывается в браузере
https://forum.gurtam.com/misc.php?action=pun_attachment&item=9429&download=0

22

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

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

wialon/ajax.html?svc=core/batch&params=[{"svc":"report/update_report", 
"params":{
        "itemId":19172456,
        "id":1,
        "callMode":"update",
        "tbl": [{
            "n": "unit_stats",
            "l": "%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0",
            "c": "",
            "cl": "",
            "cp": "",
            "s": "[\"address_format\",\"time_format\",\"us_units\"]",
            "sl": "[\"Address\",\"Time Format\",\"Measure\"]",
            "p": "{\"address_format\":\"1254096896_10_5\",\"time_format\":\"%25Y-%25m-%25E_%25H:%25M:%25S\",\"us_units\":0}",
            }, {
            "n": "unit_zones_visit",
            "l": "%D0%93%D0%B5%D0%BE%D0%B7%D0%BE%D0%BD%D1%8B",
            "c": "[\"zone_name\",\"zone_descr\",\"time_begin\",\"time_end\",\"duration_in\",\"mileage\"]",
            "cl": "[\"%D0%93%D0%B5%D0%BE%D0%B7%D0%BE%D0%BD%D0%B0\",\"%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5\",\"%D0%92%D1%80%D0%B5%D0%BC%D1%8F%20%D0%B2%D1%85%D0%BE%D0%B4%D0%B0\",\"%D0%92%D1%80%D0%B5%D0%BC%D1%8F%20%D0%B2%D1%8B%D1%85%D0%BE%D0%B4%D0%B0\",\"%D0%94%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%BD%D0%B0%D1%85%D0%BE%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F\",\"%D0%9F%D1%80%D0%BE%D0%B1%D0%B5%D0%B3\"]",
            "cp": "[{},{},{},{},{},{}]",
            "s": "",
            "sl": "",
            "p": "{\"geozones\":\"gz19172456_66,gz19172456_67,\",\"duration\":{\"min\":30,\"flags\":1}}",
            }
            ]
        }
    }]&sid=<SID>

так же получаю

{"error":4,"reason":"WRONG_PARAMS"}

Вроде все рекомендации предложенные выше выполнил, а все равно не работает

23

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Добрый день!
sealowner, уточните, пожалуйста, какие именно параметры в таблице нужно поменять?

Diana Cheley
Wialon Hosting Expert
Gurtam
24

Ошибка 4 при создании отчета

(edited by sealowner 07/05/2019 10:07:32)

Re: Ошибка 4 при создании отчета

"p": "{\"geozones\":\"gz19172456_66,gz19172456_67,\",\"duration\":{\"min\":30,\"flags\":1}}",

В таблице

"n": "unit_zones_visit",

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

25

Ошибка 4 при создании отчета

Re: Ошибка 4 при создании отчета

Добрый день, sealowner

проверьте пробелы, судя по примеру кода есть, и они лишние.

"p": "{\"geozones\":\"gz19172456_66,gz19172456_67,\",\"duration\":{\"min\":30,\"flags\":1}}",

после двоеточия не должно быть пробела.

Diana Cheley
Wialon Hosting Expert
Gurtam