JSON примеры кода
Пример использования JSON интерфейса на языке 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.gate.smsbliss.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' => '71234567890', 'text' => 'text here'}, {'clientId'=> 1, 'phone' => '71234567891', 'text' => 'test', 'sender' => 'TEST'} ] }); # проверка статуса отправки пакета 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"; }
Список вариантов ответов от сервиса при передаче сообщения и приеме ответа находится здесь.