diff --git a/lib/ToopherAPI.pm b/lib/ToopherAPI.pm index 770b624..5b29641 100644 --- a/lib/ToopherAPI.pm +++ b/lib/ToopherAPI.pm @@ -43,7 +43,7 @@ sub new _ua => $ua, _key => $args{'key'}, _secret => $args{'secret'}, - }; + }; bless $self, $class; return $self; @@ -57,6 +57,17 @@ sub pair $params->{'user_name'} = $user_name; return _pairingStatusFromJson($self->post('pairings/create', $params)); } + +sub pair_sms +{ + my($self, $phone_number, $user_name, $phone_country, $extras) = @_; + my $params = $extras || {}; + $params->{'phone_number'} = $phone_number; + $params->{'user_name'} = $user_name; + $params->{'phone_country'} = $phone_country if $phone_country; + return _pairingStatusFromJson($self->post('pairings/create/sms', $params)); +} + sub get_pairing_status { my($self, $pairing_request_id) = @_; diff --git a/t/01sanity.t b/t/01sanity.t index 8647fdd..d4754b2 100644 --- a/t/01sanity.t +++ b/t/01sanity.t @@ -64,6 +64,15 @@ subtest 'create pairing' => sub { is($pairing->id, '1'); }; +subtest 'create sms pairing' => sub { + $ua->response->code(200); + $ua->response->content('{"id":"1", "enabled":true, "user":{"id":"1","name":"some user"}}'); + my $pairing = $api->pair_sms('1234', 'some user'); + is($ua->request->method, 'POST'); + is($ua->request->{'post_data'}->{'phone_number'}, '1234'); + is($pairing->id, '1'); +}; + subtest 'pairing status' => sub { $ua->response->content('{"id":"1", "enabled":true, "user":{"id":"1","name":"some user"}}'); my $pairing = $api->get_pairing_status('1');