Пример Perl кода для массовой рассылки смс


				
					use strict;
					use LWP::UserAgent;
					use HTTP::Request;
					use JSON::XS;
					
					# отсутствующие библиотеки можно установить, используя CPAN
					# подробнее о CPAN см. http://ru.wikipedia.org/wiki/CPAN
					# пример: cpan LWP::UserAgent
					
					sub gateRequest {
					    my $data = shift;
					    my $json_output = encode_json $data;
					    my $method = $data->{'method'};
					    my $ua = LWP::UserAgent->new;
					    my $req = HTTP::Request->new(POST => 'http://json.api.smsfeedback.ru/'.$method);
					    $req->content_length(length($json_output));
					    $req->content($json_output);
					    my $res = $ua->request($req);
					    if ($res->is_success) {
					        return decode_json $res->decoded_content; 
					    }
					    return 'error '.$res->status_line;
					}
					
					# отправка сообщений
					my $result = gateRequest({
					        'method' => 'send',
					        'login' => 'login',
					        'password' => 'password',
					        'messages' => [
					            {'clientId'=> 0, 'phone' => '79031234567', 'text' => 'text here'},
					            {'clientId'=> 1, 'phone' => '79031234567', 'text' => 'test', 'sender' => 'TEST-SMS'}
					        ]
					        });
					# проверка статуса отправки пакета
					if ($result->{'status'} ne 'ok') {
					    print 'Error: '.$result->{'status'};
					    exit;
					}
					# проверка статуса отправки каждого сообщения
					for(my $i=-1; $i<$#{$result->{'messages'}}; $i++) {
					    print $result->{'messages'}[$i]->{'clientId'}.": ";
					    print $result->{'messages'}[$i]->{'smscId'}."/";
					    print $result->{'messages'}[$i]->{'status'}."\n";
					}