organizrnginxsonarrradarrplexdashboardcouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallemby
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.5 KiB
72 lines
2.5 KiB
<?php
|
|
//example of sending an sms using an API key / secret
|
|
require_once '../vendor/autoload.php';
|
|
|
|
//create client with api key and secret
|
|
$client = new Nexmo\Client(new Nexmo\Client\Credentials\Basic(API_KEY, API_SECRET));
|
|
|
|
//send message using simple api params
|
|
$message = $client->message()->send([
|
|
'to' => NEXMO_TO,
|
|
'from' => NEXMO_FROM,
|
|
'text' => 'Test message from the Nexmo PHP Client'
|
|
]);
|
|
|
|
//array access provides response data
|
|
echo "Sent message to " . $message['to'] . ". Balance is now " . $message['remaining-balance'] . PHP_EOL;
|
|
|
|
sleep(1);
|
|
|
|
//send message using object support
|
|
$text = new \Nexmo\Message\Text(NEXMO_TO, NEXMO_FROM, 'Test message using PHP client library');
|
|
$text->setClientRef('test-message')
|
|
->setClass(\Nexmo\Message\Text::CLASS_FLASH);
|
|
|
|
$client->message()->send($text);
|
|
|
|
//method access
|
|
echo "Sent message to " . $text->getTo() . ". Balance is now " . $text->getRemainingBalance() . PHP_EOL;
|
|
|
|
sleep(1);
|
|
|
|
//sending a message over 160 characters
|
|
$longwinded = <<<EOF
|
|
But soft! What light through yonder window breaks?
|
|
It is the east, and Juliet is the sun.
|
|
Arise, fair sun, and kill the envious moon,
|
|
Who is already sick and pale with grief,
|
|
That thou, her maid, art far more fair than she.
|
|
EOF;
|
|
|
|
$text = new \Nexmo\Message\Text(NEXMO_TO, NEXMO_FROM, $longwinded);
|
|
$client->message()->send($text);
|
|
|
|
echo "Sent message to " . $text->getTo() . ". Balance is now " . $text->getRemainingBalance() . PHP_EOL;
|
|
echo "Message was split into " . count($text) . " messages, those message ids are: " . PHP_EOL;
|
|
for($i = 0; $i < count($text); $i++){
|
|
echo $text[$i]['message-id'] . PHP_EOL;
|
|
}
|
|
|
|
echo "The account balance after each message was: " . PHP_EOL;
|
|
for($i = 0; $i < count($text); $i++){
|
|
echo $text->getRemainingBalance($i) . PHP_EOL;
|
|
}
|
|
|
|
//easier iteration, can use methods or array access
|
|
foreach($text as $index => $data){
|
|
echo "Balance was " . $text->getRemainingBalance($index) . " after message " . $data['message-id'] . " was sent." . PHP_EOL;
|
|
}
|
|
|
|
//an invalid request
|
|
try{
|
|
$text = new \Nexmo\Message\Text('not valid', NEXMO_FROM, $longwinded);
|
|
$client->message()->send($text);
|
|
} catch (Nexmo\Client\Exception\Request $e) {
|
|
//can still get the API response
|
|
$text = $e->getEntity();
|
|
$request = $text->getRequest(); //PSR-7 Request Object
|
|
$response = $text->getResponse(); //PSR-7 Response Object
|
|
$data = $text->getResponseData(); //parsed response object
|
|
$code = $e->getCode(); //nexmo error code
|
|
error_log($e->getMessage()); //nexmo error message
|
|
}
|
|
|