Web / smsactivate
set_status
set_status($status=6); - сообщить статус активации.Функция на вход принимает параметры:
-1 - отменить активацию
1 - сообщить о готовности номера (смс на номер отправлено)
3 - запросить еще один код (бесплатно)
6 - завершить активацию(если был статус "код получен" - помечает успешно и завершает, если был "подготовка" - удаляет и помечает ошибка, если был статус "ожидает повтора" - переводит активацию в ожидание смс)
8 - сообщить о том, что номер использован и отменить активацию
После отработки функция возвращает результат своей работы в скрипт :
Ответ сервиса можно посмотреть в переменнной smsactivate->answer.
Пременнная smsactivate->answer может быть:
ACCESS_READY - готовность номера подтверждена
ACCESS_RETRY_GET - ожидание нового смс
ACCESS_ACTIVATION - сервис успешно активирован
ACCESS_CANCEL - активация отменена
Возможные ошибки:
NO_ACTIVATION - id активации не существует
BAD_SERVICE - некорректное наименование сервиса
BAD_STATUS - некорректный статус
BAD_KEY - Неверный API-ключ
BAD_ACTION - некорректное действие
ERROR_SQL - ошибка SQL-сервера
Пример использования (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.set_status</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
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.