Проблема с получением СМС по АПИ!!!
-
@Cruzel знаю что не сложно, но это сейчас разрабатывать + проверки еще + тесты, больше времени уйдет в пустую.. легче чтоб или разрабы смсактивате починили или разраб БАСа.. И остальные не будут время терять..
-
@CaptchaLom
это особенность сервиса, для которого приходит смс. Бас по умолчанию парсит ответ через двоеточие в список, и отдает второй елемент.
Для того что бы это исправить, нужно:-
Открыть файл AppData\Roaming\BrowserAutomationStudio\apps\ВАША_ВЕРСИЯ\modules\SmsReceive\get_activation_code_code.js
-
В строке #91 заменить
<%= variable %> = arr[1]
на<%= variable %> = arr.join(":")
-
Сохранить
-
Перезапустить BAS
Если строка будет отличатся по номеру, то тогда для ориентира участок кода
_if(_SMS_CONFIRM_DATA["method"] == "sms-activate.ru", function(){ _if(_SMS_CONFIRM_DATA["not_first"], function(){ _call(_BAS_SMSACTIVATEPIREQUEST,{api_key: _SMS_CONFIRM_DATA["api"], action: "setStatus", status: "3", id: _SMS_CONFIRM_DATA["id"]})! var arr = _result() if(arr[0].indexOf("ACCESS_") != 0) { fail("Error during sms-activate setStatus(3) " + arr.join(":")) } })! _SMS_MAX_WAIT = Date.now() + 60000 * (<%= max_wait %>) _do(function(){ if(Date.now() > _SMS_MAX_WAIT) fail("Sms Activate Error: Timeout during solve"); _call(_BAS_SMSACTIVATEPIREQUEST,{api_key: _SMS_CONFIRM_DATA["api"], action: "getStatus", id: _SMS_CONFIRM_DATA["id"]})! var arr = _result() if(arr[0] == "STATUS_OK") { <%= variable %> = arr[1] //ЭТУ строку нужно поменять _SMS_CONFIRM_DATA["not_first"] = true _BAS_SMSCONFIRMDATA[ _SMS_CONFIRM_DATA["number"] ] = _SMS_CONFIRM_DATA _break(); } if(arr[0] != "STATUS_WAIT_CODE" && arr[0] != "STATUS_WAIT_RETRY") { fail("Error during sms-activate getStatus " + arr.join(":")) } })! })!
тогда вам в переменную попадет весь ответ сервера
-
-
@DrPrime спасибо! но не работает.. так же ACTIVATION_CODE: "Ваш смс код",
у меня еще работает скрипт не скомпилированный, просто два раза бас запущен,
все сделал как написал, перезагрузил, но вторая версия работает(это влияет?)
тоесть метод не помог.. или нужно полностью убивать все открытые окна?
-
@CaptchaLom если не работает значит что то неправильно сделал. Попробуй выключить все копии.
Для проверки можно добавить после этой строки
log('текст для проверки')
-
-
@DrPrime к сожалению не получается. может что то не так?
-
написал админам смсАктивате, они ответили что в таком формате (смс полностью) для "других сервисов" не в списке, выдают уже 2 года, т.к. информация в смс может меняться и.т.д. ждем правку от разраба БАСа
-
Нужно пересоздать действие
-
Думаю лучше заменить на
arr.slice(1).join(":")
Добавил, будет в сл версии.