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



  • шо делать?

    0_1513881050882_upload-c77d3d53-ecd7-4cff-94a6-6a364e8850d2

    0_1513881067158_upload-fbe059df-d0fe-48ce-b8e6-19566aa3e635


  • Banned

    Ищите где то есть генератор регулярных выражений веб версия, в ней можно отрезать ваш смс код...



  • @freeliman да как обрезать и регулярка то не нужна, .split(':')[1] тут дело в том что, даже сама смска не вся прилетает в бас..



  • @CaptchaLom включите перед получением режим отладки, посмотрите по ответам от сервиса, если именно сервис присылает такой текст - откройте тикет



  • @DrPrime БАС рубит , как быть?

    0_1513885259633_upload-46315b95-35d4-42c9-aefa-13ff41f85c71



  • @CaptchaLom писать самому с помощью api сервиса через get запросы, там довольно просто, сам писал когда в BAS ещё не было ещё этого модуля. Там 3-4 запроса нужно максимум. Получение номера, состояние готовности, и получить код смс, ну и подтвердить операцию. Либо сменить сервис активации, с sms-reg.com работает нормально.



  • @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 года, т.к. информация в смс может меняться и.т.д. ждем правку от разраба БАСа



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



  • @DrPrime

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


Log in to reply
 

  • 9
  • 5
  • 4
  • 23
  • 5
  • 1
  • 1
  • 1