Здравствуйте.
Возможно ли программным путём получить "Статус обслуживания WMID "? Интерфейс Х11 не даёт такой информации.
Статус обслуживания WMID
#1 Продвинутый пользователь
Отправлено 07 декабря 2014 - 12:58
#2 Знаток
Отправлено 08 декабря 2014 - 13:39
В интерфейсе Х11 есть такая возможность. Параметр ответа находится тут "response/certinfo/attestat/row/@recalled" и если recalled=1, то значит владельцу данного аттестата отказано в обслуживании в системе.
Вот только не знаю, подписать запрос нужно или нет.
Более детальная информация есть тут owebmoney.ru.
#3 Продвинутый пользователь
Отправлено 08 декабря 2014 - 16:06
Саппорт ответил, что эту информацию получить не возможно. Что очень не приятно конечно, очень нужная информация.
#4 Знаток
Отправлено 08 декабря 2014 - 18:15
А по ограничению на приход/ расход коль саппорт говорит нет, значит его нет.
Вижу вот такие поля: response/certinfo/wmids/row/@info (Дополнительная информация о WMID) и response/certinfo/userinfo/value/row/@infoopen (Дополнительная информация (направление деятельности, комментарии, информация рекламного характера). При входе в аттестат есть только одно поле и, кажется, оно называется "дополнительная информация", но в интерфейсе видим два поля. В них смотрели, что приходит?
#5 Продвинутый пользователь
Отправлено 08 декабря 2014 - 20:22
Поля пустые приходят.Вижу вот такие поля: response/certinfo/wmids/row/@info (Дополнительная информация о WMID) и response/certinfo/userinfo/value/row/@infoopen (Дополнительная информация (направление деятельности, комментарии, информация рекламного характера). При входе в аттестат есть только одно поле и, кажется, оно называется "дополнительная информация", но в интерфейсе видим два поля. В них смотрели, что приходит?
Официальных интерфейсов получать уровень БЛ аттестата так же нет, но есть недокументированный интерфейс. Вот и надеялась что и в этом случае кто нибудь знает как получать эту информацию.А по ограничению на приход/ расход коль саппорт говорит нет, значит его нет.
#6 Обычный пользователь, не сотрудник
Отправлено 09 декабря 2014 - 02:39
Волшебная ссылка зашита в сам код страницы просмотра аттестата.
Если Вы начнёте смотреть код в месте вывода статуса, то обнаружите там скрипт:
<script type="text/javascript">var wmid = '171110319365';
document.write(unescape("%3Cscript src='CertStatusOfTheService.asp?wmid="+wmid+"' type='text/javascript'%3E%3C/script%3E"));
</script>
passport.webmoney.ru/asp/CertStatusOfTheService.asp?wmid=
нас и интересует.Без входа на passport-сайт WMIDом, то есть в незалогиненном состоянии, при переходе по этому адресу получим:
<!--
//
document.write('<a href=\'CertviewSu.asp?wmid=155676000022\'>нажмите, чтобы проверить</a>');
//-->
<!--
//
document.write('<font color="#42c05b">обслуживается</font>');
//-->
<!--
//
document.write('<font color="orangered">обслуживание приостановлено (ограничение на расход)</font>');
//-->
Основной же нюанс в том, как же нам программно залогиниться для получения результата, а не приказа "нажмите". Мне самый простой путь видится в использовании системы тикетов, описывал её тут. Надо задействовать или завести отдельный WMID (в целях безопасности), залогиниться им на компьютере на каком-то из WM-сервисов, который passport считает доверенными, раздобыть в том сервисе ссылку с зашитым в ней тикетом, программно залогиниться этим тикетом на passport-е и каждые сколько-то минут на сервере поддерживать-продлять начатую сессию запросами к passport-у, чтоб не разлогинилось автоматом по таймауту. Это легко реализовать через планировщик Cron. Пока сессия жива, мы сможем по волшебной ссылке CertStatusOfTheService узнавать статус обслуживания нужного WMID.
Вот как-то так
#7 Знаток
Отправлено 09 декабря 2014 - 12:46
Вот как-то так
#8 Новичок
Отправлено 18 сентября 2017 - 02:19
Господа, удалось решить эту проблему без посторонних костылей в виде "залогинься и перейди по волшебной странице"?