<?php /** * @author teslitsky * @date 11.02.2015 * @time 4:42 PM */ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'MobizonApi.php'; $api = new Mobizon\MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK'); echo 'Send message...' . PHP_EOL; $alphaname = 'TEST'; if ($api->call('message', 'sendSMSMessage', array('recipient' => '77770000000', 'text' => 'Test sms message', 'from' => $alphaname))) { $messageId = $api->getData('messageId'); echo 'Message created with ID:' . $messageId . PHP_EOL; if ($messageId) { echo 'Get message info...' . PHP_EOL; $messageStatuses = $api->call('message', 'getSMSStatus', array('ids' => array($messageId, '13394', '11345', '4393')), array(), true); if ($api->hasData()) { foreach ($api->getData() as $messageInfo) { echo 'Message # ' . $messageInfo->id . " status:\t" . $messageInfo->status . PHP_EOL; } } } } else { echo 'An error occurred while sending message: [' . $api->getCode() . '] ' . $api->getMessage() . 'See details below:' . PHP_EOL; var_dump(array($api->getCode(), $api->getData(), $api->getMessage())); }
<?php /** * @author teslitsky * @date 11.02.2015 * @time 4:35 PM */ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'MobizonApi.php'; $api = new Mobizon\MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK'); echo 'Get user balance...' . PHP_EOL; if ($api->call('User', 'GetOwnBalance') && $api->hasData('balance')) { echo 'Current user balance: ' . $api->getData('currency') . ' ' . $api->getData('balance') . PHP_EOL; } else { echo 'Error occurred while fetching user balance: [' . $api->getCode() . '] ' . $api->getMessage() . PHP_EOL; }
//Provider $provider = 'campaign'; //Method $method = 'list'; //Data element $dataElement = 'items'; //Total items counter $totalItemCountElement = 'totalItemCount'; //Sets++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //Create (or replace) file with header in first line - be careful, if you have file with such name, it will be overwritten $headerString = 'Message ID;Campaign ID;Date Created;Date Sent;Message Status;Segments;Segment Price;Message Price;Alphaname;Phone Number;Message Text'; file_put_contents($saveDir . $saveFileName, $headerString); //TODO: это должно быть в цикле, чтобы извлечь все кампании, если их больше 25 if ($api->call($provider, $method, array('criteria[createDateFrom]' => $dateBegin, 'criteria[createDateTo]' => $dateEnd, "sort[{$fieldSort}]" => $typeSort))) { if ($api->hasData($totalItemCountElement) && $api->hasData($dataElement)) { $campaignsData = $api->getData($dataElement); echo 'Total of ' . $api->getData($totalItemCountElement) . ' items found. Current subset of data:' . PHP_EOL; foreach ($campaignsData as $campaignRow) { //TODO: это должно быть в цикле, чтобы извлечь все сообщения кампании, если их больше 25 if ($api->call('message', 'list', array('criteria[campaignId]' => $campaignRow->id))) { if ($api->hasData($totalItemCountElement) && $api->hasData($dataElement)) { $messagesData = $api->getData($dataElement); foreach ($messagesData as $messageRow) { print_r($messageRow); $formattedRow = $messageRow->id . ";" . $campaignRow->id . ";" . $campaignRow->createTs . ";" . $campaignRow->createTs . ";" . $messageRow->status . ";" . $messageRow->segNum . ";" . $messageRow->segUserBuy . ";" . $messageRow->segNum * $messageRow->segUserBuy . ";" . empty($messageRow->from) ? $campaignRow->from : $messageRow->from . ";+" . $messageRow->to . ";" . '"' . empty($messageRow->text) ? $campaignRow->text : $messageRow->text . '"'; file_put_contents($saveDir . $saveFileName, PHP_EOL . $formattedRow, FILE_APPEND); } } } } } else {
<?php /** * @author teslitsky * @date 11.02.2015 * @time 4:37 PM */ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'MobizonApi.php'; $api = new Mobizon\MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK'); echo 'Fetch all user alphanames...' . PHP_EOL; if ($api->call('alphaname', 'list')) { if ($api->hasData() && $api->hasData('items')) { $data = $api->getData('items'); echo 'Total of ' . $api->getData('totalItemCount') . ' items found. Current subset of data:' . PHP_EOL; foreach ($data as $row) { echo str_pad($row->alphaname->name, 30) . "\t" . $row->alphanameId . "\t" . $row->globalStatus . "\t" . $row->partnerStatus . "\t" . $row->description . PHP_EOL; } } else { echo 'No alphanames found.' . PHP_EOL; } } else { echo 'Error occurred while fetching alphanames list: [' . $api->getCode() . '] ' . $api->getMessage() . PHP_EOL; }
* @author i.shcherbak * @date 03.11.2015 * @time 9:59 AM */ require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'MobizonApi.php'; try { $api = new Mobizon\MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK'); $alphaname = 'TEST'; $smsText = 'Test SMS message text!'; echo 'Create massive campaign...' . PHP_EOL; if (!$api->call('campaign', 'create', array('data' => array('text' => $smsText, 'from' => $alphaname, 'msgType' => 'SMS')))) { echo 'Campaign not created, unhandled errors.' . PHP_EOL; die(__LINE__); } if (0 == $api->getCode() && $api->hasData()) { $campaignId = $api->getData(); echo 'Campaign created with ID: ' . $campaignId . PHP_EOL; } else { echo 'Campaign not created, errors: ' . print_r($api->getData(), true) . PHP_EOL; die(__LINE__); } echo 'Add recipients...' . PHP_EOL; // add 5000 recipients to campaign - only demonstration, don't do this in your real scripts // as it will make your account blocked for such activity with sms campaigns! // USE ONLY REAL NUMBERS FROM YOUR STORAGE - database, file, service, api, etc $counter = 0; $total = 2000; $start = 77010000000; // max count of recipients per request is 500, // you should select by 500 numbers from your storage, not all in single request // we do 5000 numbers upload in this example, JUST FOR TEST!!!