Unofficial Nexmo Rest Client
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
LICENSE.md
README.md
composer.json
phpunit.xml.dist

README.md

nexmo-client Build Status Code Climate

Unofficial Nexmo Rest Client

Documentation

Nexmo API Documentation

How to Install

$ composer require connect-corp/nexmo-client

Usage examples

Setting up the client object

    $apiKey = 'api_key_from_nexmo_account';
    $apiSecret = 'api_secret_from_nexmo_account';
    $nexmo = new \Nexmo\Client($apiKey, $apiSecret);

Sending a message

	$from = '1234567890';
	$to = '15551232020';
	$text = 'hello world';
    try {
        $response = $nexmo->message->invoke($from, $to, 'text', $text);
    } catch (Exception $e) {
        die($e->getMessage());
    }
    foreach ($response['messages'] as $i => $m) {
        switch ($m['status']) {
        case '0':
            echo 'Message sent successfully:';
			print_r($m);
            break;

        default:
            echo 'Message sending failed:'
			print_r($m);
            break;
        }
    }

Getting account balance

	try {
	    $response = $nexmo->account->balance();
	} catch (Exception $e) {
        die($e->getMessage());
	}
	echo "Account balance is $response";

Getting pricing by destination country

	$country = 'US';
	try {
        $response = $nexmo->account->pricing->country($country);
	} catch (Exception $e) {
        die($e->getMessage());
	}
	echo 'Price is ' . $response->price();

Getting pricing by recipient number

	$number = '15551232020';
	try {
		// SMS pricing.
        $response = $nexmo->account->pricing->sms($number);
		// Voice pricing.
        $response = $nexmo->account->pricing->voice($number);
	} catch (Exception $e) {
        die($e->getMessage());
	}
	echo 'Price is ' . $response->price();

Search for long virtual numbers by country

	$country = 'US';
	try {
        $response = $nexmo->number->search($country);
	} catch (Exception $e) {
        die($e->getMessage());
	}
    $all = $response->all();
	if (isset($all['numbers'])) {
		foreach	($all['numbers'] as $n) {
            printf("%d  \$%01.2f  %-10s  %-15s\n", $n['msisdn'], $n['cost'], $n['type'], join(',', $n['features']));
		}
	}

Buy a long virtual number

	$country = 'US';
	$msisdn = '1234567890'; // Number found using $nexmo->number->search()
	try {
        $response = $nexmo->number->buy($country, $msisdn);
	} catch (Exception $e) {
        die($e->getMessage());
	}
	if (200 == $response['error-code']) {
		echo 'Number purchase success';
	}

List long virtual numbers in your account

	$country = 'US';
	try {
        $response = $nexmo->account->numbers();
	} catch (Exception $e) {
        die($e->getMessage());
	}
    $all = $response->all();
	if (isset($all['numbers'])) {
		foreach	($all['numbers'] as $n) {
            printf("%d  %-2s  %-10s  %-15s\n", $n['msisdn'], $n['country'], $n['type'], join(',', $n['features']));
		}
	}

Cancel a long virtual number

	$country = 'US';
	$msisdn = '1234567890'; // Number found using $nexmo->account->numbers()
	try {
        $response = $nexmo->number->cancel($country, $msisdn);
	} catch (Exception $e) {
        die($e->getMessage());
	}
	if (200 == $response['error-code']) {
		echo 'Number cancel success';
	}

Contributors

https://github.com/ConnectCorp/nexmo-client/network/members