Проблема с получением СМС по АПИ!!!



  • @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: "Ваш смс код",

    у меня еще работает скрипт не скомпилированный, просто два раза бас запущен,

    все сделал как написал, перезагрузил, но вторая версия работает(это влияет?)

    тоесть метод не помог.. или нужно полностью убивать все открытые окна?

    0_1513888266022_upload-73ee6ac5-9160-4dc3-9412-86f62ac0edae



  • @CaptchaLom если не работает значит что то неправильно сделал. Попробуй выключить все копии.
    Для проверки можно добавить после этой строки
    log('текст для проверки')



  • @DrPrime

    все закрыл.

    0_1513888488693_upload-c72362de-3c8b-47ce-84e6-5edcc0560cef

    0_1513888639942_upload-22052658-5c46-4118-a8f1-3a14243b6b9e

    0_1513888780703_upload-af243bfa-7e35-4d1e-8691-b66f2e4c3059



  • @DrPrime к сожалению не получается. может что то не так?



  • написал админам смсАктивате, они ответили что в таком формате (смс полностью) для "других сервисов" не в списке, выдают уже 2 года, т.к. информация в смс может меняться и.т.д. ждем правку от разраба БАСа



  • Нужно пересоздать действие


  • administrators

    @DrPrime

    Думаю лучше заменить на arr.slice(1).join(":")
    Добавил, будет в сл версии.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.