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();