コード例 #1
0
use infobip\utils\Logs;
require_once __DIR__ . '/../vendor/autoload.php';
$smsClient = new SmsClient(USERNAME, PASSWORD);
$smsClient->login();
// Get all current subscriptions:
$moSubscriptions = $smsClient->retrieveInboundMessagesSubscriptions();
echo 'Success:', $moSubscriptions->isSuccess(), "\n";
echo 'Found ', sizeof($moSubscriptions->subscriptions), ' subscriptions', "\n";
if (!$moSubscriptions->isSuccess()) {
    echo 'Error getting the list of subscriptions';
    die;
}
// Remove them one by one:
foreach ($moSubscriptions->subscriptions as $subscription) {
    print $subscription;
    $deleteSubscriptionResult = $smsClient->cancelInboundMessagesSubscription($subscription->subscriptionId);
    echo $deleteSubscriptionResult->isSuccess(), "\n";
}
// Create new subscriptions:
$moSubscription = new MoSubscription();
$moSubscription->notifyURL = MO_NOTIFY_URL;
$moSubscription->callbackData = 'any string';
$moSubscription->criteria = 'test' . rand(10000000, 100000000);
$moSubscription->destinationAddress = MO_NUMBER;
$createSubscriptionsResult = $smsClient->subscribeToInboundMessagesNotifications($moSubscription);
if (!$createSubscriptionsResult->isSuccess()) {
    echo 'Error subscribing to ', $moSubscription->destinationAddress;
    Logs::printLogs();
    die;
}
echo 'Subscribed, messages sent to ', $moSubscription->destinationAddress, ' will now be pushed to ', $moSubscription->notifyURL;
require_once __DIR__ . '/../vendor/autoload.php';
$smsClient = new SmsClient(USERNAME, PASSWORD);
$smsClient->login();
// Keyword to be used for MO messages:
$criteria = 'test' . rand(10000000, 100000000);
$request = new SubscribeToDeliveryNotificationsRequest();
$request->senderAddress = SENDER_ADDRESS;
$request->criteria = $criteria;
$request->notifyURL = NOTIFY_URL;
$request->criteria = 'test' . rand(10000000, 100000000);
$subscriptionResult = $smsClient->subscribeToDeliveryStatusNotifications($request);
if (!$subscriptionResult->isSuccess()) {
    echo 'Error subscribing';
    Logs::printLogs();
    die;
}
echo 'Subscribed to delivery reports sent to ', $request->senderAddress, ' reports for messages starting with ', $criteria, ' will be pushed to ', $request->notifyURL, "\n";
// List all currently active subscriptions:
$subscriptions = $smsClient->retrieveDeliveryNotificationsSubscriptions();
echo 'Found ', sizeof($subscriptions->deliveryReceiptSubscriptions), ' subscriptions', "\n";
foreach ($subscriptions->deliveryReceiptSubscriptions as $subscription) {
    // When needed, you can unsubscribe:
    $cancelResponse = $smsClient->cancelInboundMessagesSubscription($subscription->subscriptionId);
    if (!$cancelResponse->isSuccess()) {
        echo 'Error unsubscribing';
        Logs::printLogs();
        die;
    }
    echo 'Cancelled subscription to ', $subscription->subscriptionId, "\n";
}
Logs::printLogs();