Вопрос по sms activate
-
Здравствуйте, столкнулся с проблемой что когда хочу получить код активации на сервис sms activate, приходится самому нажимать зеленую галочку, что-бы собственно смс и пришло, неужели так надо каждый раз? или это я дурак?
Заранее спасибо.
-
@redbeard said in Вопрос по sms activate:
sms activate
Смотрите документацию по API http://sms-activate.ru/index.php?act=api Изменение статуса активации > 1 - сообщить о готовности номера (смс на номер отправлено)
-
@gang
А как это реализовать в BAS? для тупых конечно же)
Заранее спасибо
-
@redbeard через http клиент или в браузере прям заходи на адрес
http://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country
где:
$api_key - ключ АПИ$service - сервис для заказа
$forward - Необходимо ли выполнить переадресацию? Принимаемые значения - 0 (не выполнять), 1 - (выполнять). (необязательный параметр, по умолчанию равен 0)
$operator - получить номера определенного оператора (принимаемые значения: mts, tele2, megafon, beeline, any, где any - любой оператор). Необязательный параметр, по умолчанию равен any
$ref - передать реферальный идентификатор. Подробнее
$country - идентификатор страны номера (0 - Россия, 1 - Украина, 2 - Казахстан, 3 - Китай, 4 - Филиппины, 5 - Мьянма, 6 - Индонезия, 7 - Малайзия, 8 - Кения, 9 - Танзания, 10 - Вьетнам, 11 - Кыргызстан, 12 - США, 13 - Израиль, 14 - Гонконг, 15 - Польша), если не указано, то по умолчанию будет выбран номер в соответствии с указанным параметром в левом менюv
-
@bablouser
Ох, спасибо большое, пояснил так пояснил, а если мне надо просто"1 - сообщить о готовности номера (смс на номер отправлено)" это вообще как тогда, по идее же не надо тогда писать $service, $forward, $operator, $ref, $country?
Заранее спасибо
Выходит по идее http://sms-activate.ru/stubs/handler_api.php?api_key=нашапи&action=setStatus&status=1&id=$id&forward={{PHONE_NUMBER}}
Но как получить id не делая это самим, ибо на этот запрос выходит bad_status
-
@redbeard
в документации же все естьhttp://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id
$api_key - ключ АПИ
$id - id активации
Ответы сервиса:
STATUS_WAIT_CODE - ожидание смс
STATUS_WAIT_RETRY:$lastcode - ожидание уточнения кода (где $lastcode - прошлый, неподошедший код)
STATUS_WAIT_RESEND - ожидание повторной отправки смс (софт должен нажать повторно выслать смс и выполнить изменение статуса на 6)
STATUS_CANCEL - активация отменена
STATUS_OK:$code - код получен (где $code - код активации)Возможные ошибки:
NO_ACTIVATION - id активации не существует
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - Неверный API-ключ
BAD_ACTION - некорректное действие
-
@bablouser said in Вопрос по sms activate:
http://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id
Спасибо, но как взять $id - id активации, не заходя на сайт, ибо в BAS дается только телефон вроде.
Заранее спассибо
-
@redbeard Глянул модуль, вроде тут _SMS_CONFIRM_DATA["id"] должен быть id активации.
-
@denis_krsk
Спасибо большое, но вот
А как это понимать?) Можно пример как это в BAS реализовать, а то я пытался что-то не получилось)
-
@redbeard Вы используете модуль?
-
@romanbiz
Да, и как я понимаю, просто вставить вместо PHONE_NUMBER _SMS_CONFIRM_DATA["id"]?
-
@redbeard Если не хватает функционала рекомендую переписать все на API. Насколько понимаю отправляете GET запрос за получением номера, забираете id через регулярное выражение, дальше подставляете.
-
@romanbiz
ухх, сложно, а как это сделать через регулярное выражение?
-
-
@redbeard Попробуйте получить его через конструктор, не получится- спрашивайте, поможем
Ничего сложного на самом деле нет, сложно было бы если Вам не отвечали. А тут, как говорится "глаза боятся, руки делают". Используйте модуль HTTP клиент
Get запрос
Содержание ответаПосле этого модуль Регулярные выражения
Первое вхождение (вводите сформированную в https://bablosoft.github.io/RegexpConstructor/ регулярку и используете в дальнейшем переменную Group1)
-
@bablouser
Это знаю, но оно же вытягивает нужное мне совпадение уже из собственно предоставленной информации, но у меня то этой инфы нет, а именно id, и как его взять не прибегаю к сайту
-
@redbeard Не обращаясь к сайту- никак.
-
@redbeard А почему Вы не хотите обращаться к сайту? Это те же самые действия что и у модуля. Не понимаю в чем проблема.
-
@redbeard
Ответы сервиса:
NO_NUMBERS - нет номеров
NO_BALANCE - закончился баланс
ACCESS_NUMBER:$id:$number - номер выдан ($id - id операции,$number - номер телефона)Возможные ошибки:
BAD_ACTION - некорректное действие
BAD_SERVICE - некорректное наименование сервиса
BAD_KEY - Неверный API-ключ
ERROR_SQL - ошибка SQL-сервера
BANNED:$time - аккаунт заблокирован до $time, где time - время формате YYYY-m-d H-i-s (2000-12-31 23-59-59)в ответе придет во тут
ACCESS_NUMBER:$id:$number - номер выдан ($id - id операции,$number - номер телефона)
-
@romanbiz
Думал можно получить id так же как и например заказать номер через http, и просто сохранить его в пременную