forum.bitel.ru
http://forum.bitel.ru/

Получение contractId по contractTitle через json
http://forum.bitel.ru/viewtopic.php?f=19&t=11896
Страница 1 из 1

Автор:  spectrum [ 24 авг 2016, 23:02 ]
Заголовок сообщения:  Получение contractId по contractTitle через json

Каким образом можно получить contractId по contractTitle через json-запрос. Насколько понимаю нужно воспользоваться методом
contractList через интерфейс Interface ContractService. Можно пример запроса показать?


Пытался формировать неполный запрос, надеясь на перегруженный метод, но не получилось. Выдает {"status":"error","exception":"java.lang.IllegalArgumentException","message":null,"tag":null,"data":{}}

Типа такого:
{"method" : "contractGet", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "title": "1", "comment": "", "fc": "-1", "groupMask": "-1", "subContracts":"false", "closed" : "false", "hidden":"false" } }
В остальных полях не знаю что заполнять.

Автор:  spectrum [ 29 авг 2016, 10:50 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

:(

Автор:  stark [ 29 авг 2016, 16:10 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

версия какая ?

Автор:  stark [ 29 авг 2016, 16:12 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Вы contractGet или contractList вызывали? Пишите что contractList, а примере contractGet.

Автор:  spectrum [ 29 авг 2016, 22:59 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Версия
Код:
Сервер: вер. 6.2.1103 / 03.08.2016 14:58:59
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60


Да, сорри, ошибка в запросе. Исправил на
Код:
{"method" : "contractList", "user" :{ "user" : "username", "pswd" : "passsword" }, "params" : { "title": "1", "comment": "", "fc": "-1", "groupMask": "-1", "subContracts":"false", "closed" : "false", "hidden":"false" } }

Ответ:
Код:
{"status":"error","exception":"ru.bitel.bgbilling.common.BGException","message":"com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Got error 'empty (sub)expression' from regexp","tag":null,"data":{}}

Автор:  skn [ 29 авг 2016, 23:28 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Проблема в comment=""

Автор:  spectrum [ 29 авг 2016, 23:57 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Код:
{"method" : "contractList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "title": "1", "comment": ".*", "fc": "-1", "groupMask": "-1", "subContracts":"false", "closed" : "false", "hidden":"false" } }"

Ответ:
Код:
{"status":"ok","exception":null,"message":"","tag":null,"data":{"page":{"pageSize":25,"pageIndex":1,"pageCount":1,"recordCount":0,"pageFirstRecordNumber":0},"return":[]}}

Но такой договор есть. Другие договора аналогично.

Автор:  skn [ 30 авг 2016, 03:08 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

при запросе из клиента какие параметры передаются?

Автор:  spectrum [ 30 авг 2016, 14:12 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Вопрос не понял. О каком клиенте речь? О клиенте биллинга, а причем здесь он?

Автор:  skn [ 30 авг 2016, 14:36 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

spectrum писал(а):
Вопрос не понял. О каком клиенте речь? О клиенте биллинга, а причем здесь он?

Ну вы же пытаетесь с эмулировать запрос клиента.... из сторонней системы

Автор:  spectrum [ 30 авг 2016, 15:11 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Там просто вбиваю в поле "Номер договора" цифру 1, например. Выпадает огромный список. Из него выбираю. Или уточняю в поле Комментарий словом "Служебный".
Но мне вообще надо чтобы выдавался contractId не по маске, а по точному наименованию договора.

Например каким образом сделана авторизация клиента в личном кабинете? Там же Абонент вводит именно наименование договора, а не contractId.

Автор:  skn [ 30 авг 2016, 15:31 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

В названии договора попробуйте указать ^1$

Автор:  spectrum [ 30 авг 2016, 15:58 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Код:
{"method" : "contractList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "title": "^1$", "comment": ".*", "fc": "-1", "groupMask": "-1", "subContracts":"false", "closed" : "false", "hidden":"false" } }

Ответ:
Код:
{"status":"ok","exception":null,"message":"","tag":null,"data":{"page":{"pageSize":25,"pageIndex":1,"pageCount":1,"recordCount":0,"pageFirstRecordNumber":0},"return":[]}}


В клиенте на скриншоте.

Вложения:
cid.png
cid.png [ 6.66 КБ | Просмотров: 6085 ]

Автор:  skn [ 30 авг 2016, 19:07 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Вы клиента в дебаге запускали, лог запроса смотрели?

Автор:  spectrum [ 30 авг 2016, 20:38 ]
Заголовок сообщения:  Re: Получение contractId по contractTitle через json

Все понял, спасибо!

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/