Web / smsactivate
get_code
get_code($wt_wait); - получить код активации из смс.Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Сам полученный код можно получить из переменной smsactivate->code. При этом если разбор вашего смс выполняется не правильно, используйте для разбора переменную smsactivate->answer.
Пременнная smsactivate->answer может быть:
STATUS_OK:$code - код получен (где $code - код активации)
STATUS_WAIT_CODE - ожидание смс
STATUS_WAIT_RETRY:$lastcode - ожидание уточнения кода (где $lastcode - прошлый, неподошедший код)
STATUS_WAIT_RESEND - ожидание повторной отправки смс (софт должен нажать повторно выслать смс и выполнить изменение статуса на 6)
STATUS_CANCEL - активация отменена
Возможные ошибки:
NO_ACTIVATION - id активации не существует
ERROR_SQL - ошибка SQL-сервера
BAD_KEY - Неверный API-ключ
BAD_ACTION - некорректное действие
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:7010"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>smsactivate->".basename (__FILE__)."</font><hr>"; // задаём ключ апи сервиса $smsactivate->api_key = '3161df9b1fe1ccb8cfd7dA91db765de8'; // получить номер телефона if(!$smsactivate->get_phone_number('ot')) { while($smsactivate->answer=="NO_NUMBERS") { $smsactivate->get_phone_number('ot'); sleep(10); } if(strpos($smsactivate->answer,'ACCESS_NUMBER')===false) { echo("ответ $smsactivate->servis серваса $smsactivate->answer<br>"); $app->quit(); } } // смс отправлен $smsactivate->set_status(1); // полученный номер телефона echo $phone= trim($smsactivate->number); echo "<br>"; /*тут использование номера в форме регистрации после чего на телефон отправляется смс */ // ожидание *10 в секундах $wt_wait=7; // получить код из смс if(!$smsactivate->get_code($wt_wait)) { echo("ОШИБКА: $smsactivate->answer не смогли получить код из СМС-сообщения"); // сообщаем сервису что освобождаем номер $smsactivate->set_status(8); } else // при необходимости поправить разбор текста смс, если код будет не верно разбираться из него { // сообщаем сервису что всё ok $smsactivate->set_status(); // код из смс echo trim($smsactivate->code).'<br>'; } // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования (Python):
===============================================================
Пример использования (C#):
===============================================================
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server="127.0.0.1:7011"; InitXHE(); // ключ smsactivate.api_key = "3161df9b1fe1ccb8cfd7dA91db765de8"; // начало echo("<hr><font color=blue>smsactivate.get_code</font><hr>"); // получить номер телефона if(!smsactivate.get_phone_number("ot")) { while(smsactivate.answer=="NO_NUMBERS") { smsactivate.get_phone_number("ot"); sleep(10); } if(smsactivate.answer.IndexOf("ACCESS_NUMBER")==-1) { echo("ответ "+smsactivate.servis+" серваса "+smsactivate.answer+"<br>"); app.quit(); } } // смс отправлен smsactivate.set_status("1"); // полученный номер телефона string phone = smsactivate.number.Trim(); echo(phone+"<br>"); /*тут использование номера в форме регистрации после чего на телефон отправляется смс */ // ожидание *10 в секундах int wt_wait=7; // получить код из смс if(!smsactivate.get_code(wt_wait)) { echo("ОШИБКА: "+ smsactivate.answer+" не смогли получить код из СМС-сообщения"); // сообщаем сервису что освобождаем номер smsactivate.set_status("8"); } else // при необходимости поправить разбор текста смс, если код будет не верно разбираться из него { // сообщаем сервису что всё ok smsactivate.set_status(); // код из смс echo(smsactivate.code.Trim()); } // конец echo("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
=============================================
smsactivate Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.