The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

SYNOPSIS

This module simplifies sending SMS through the Nexmo API.

    use Nexmo::SMS::WAPPushMessage;

    my $nexmo = Nexmo::SMS::WAPPushMessage->new(
        server   => 'http://rest.nexmo.com/sms/json',
        username => 'testuser1',
        password => 'testpasswd2',
        text     => 'This is a test',
        from     => 'Test02',
        to       => '452312432',
    );
        
    my $response = $sms->send || die $sms->errstr;
    
    if ( $response->is_success ) {
        print "SMS was sent...\n";
    }

METHODS

new

create a new object

    my $message = Nexmo::SMS::WAPPushMessage->new(
        server   => 'http://rest.nexmo.com/sms/json',
        username => 'testuser1',
        password => 'testpasswd2',
    );

This method recognises these parameters:

    title             => 'required',
    url               => 'required',
    type              => 'required',
    from              => 'required',
    to                => 'required',
    server            => 'required',
    username          => 'required',
    password          => 'required',
    status_report_req => 'optional',
    client_ref        => 'optional',
    network_code      => 'optional',
    validity          => 'optional',

user_agent

Getter/setter for the user_agent attribute of the object. By default a new object of LWP::UserAgent is used, but you can use your own class as long as it is compatible to LWP::UserAgent.

  $sms->user_agent( MyUserAgent->new );
  my $ua = $sms->user_agent;

errstr

return the "last" error as string.

    print $sms->errstr;

send

This actually calls the Nexmo SMS API. It returns a Nexmo::SMS::Response object or undef (on failure).

   my $sms = Nexmo::SMS::WAPPushMessage->new( ... );
   $sms->send or die $sms->errstr;

check_needed_params

This method checks if all needed parameters are passed.

  my $params_not_ok = Nexmo::SMS::WAPPushMessage->check_needed_params( ... );
  if ( $params_not_ok ) {
      print "Please check $params_not_ok";
  }

Attributes

These attributes are available for Nexmo::SMS::TextMessage objects:

  • client_ref

  • from

  • network_code

  • password

  • server

  • status_report_req

  • title

  • url

  • type

  • to

  • username

  • validity