щас вот получаю вот такое окно , не понимаю что не так делаю
2b9bbf59-0d87-4f79-b355-35a3151d7de6-image.png
Проблема с получением СМС по АПИ!!!
-
шо делать?


-
@freeliman да как обрезать и регулярка то не нужна, .split(':')[1] тут дело в том что, даже сама смска не вся прилетает в бас..
-
@CaptchaLom включите перед получением режим отладки, посмотрите по ответам от сервиса, если именно сервис присылает такой текст - откройте тикет
-
@CaptchaLom писать самому с помощью api сервиса через get запросы, там довольно просто, сам писал когда в BAS ещё не было ещё этого модуля. Там 3-4 запроса нужно максимум. Получение номера, состояние готовности, и получить код смс, ну и подтвердить операцию. Либо сменить сервис активации, с sms-reg.com работает нормально.
-
@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('текст для проверки') -
написал админам смсАктивате, они ответили что в таком формате (смс полностью) для "других сервисов" не в списке, выдают уже 2 года, т.к. информация в смс может меняться и.т.д. ждем правку от разраба БАСа



