Skip to content

rakhmatulin/nextcaller-ruby-api

 
 

Repository files navigation

NextcallerClient

A ruby wrapper around the Nextcaller API.

Build Status

Installation

Add this line to your application's Gemfile:

gem 'nextcaller_client'

And then execute:

$ bundle

Or install it yourself as:

$ gem install nextcaller_client

Usage

Example

require 'nextcaller_client'
username = "XXXXX"
password = "YYYYY"
phone_number = "121212..."
client = NextcallerClient::NextCallerClient.new(username, password)
resp = client.get_by_phone(phone_number)
print resp

Initializing client

require 'nextcaller_client'
username = "XXXXX"
password = "YYYYY"
client = NextcallerClient::NextCallerClient.new(username, password)

Get profile by phone

resp = client.get_by_phone(phone)

# arguments:
#   phone           -- 10 digits phone, str or int, required

Get profile by id

resp = client.get_by_profile_id(profile_id)

# arguments:
#   profile_id      -- Profile identifier, required

Update profile by id

resp = client.update_by_profile_id(profile_id, data)

# arguments:
#   profile_id      -- Profile identifier, required
#   data            -- dictionary with changed data, required


# Returns 204 response in the case of the succesfull request.

Get fraud level

resp = client.get_fraud_level(phone)

# arguments:
#   phone           -- 10 digits phone, str or int, required

##Errors handling

In case of wrong phone number a ArgumentError exception will be thrown:

ArgumentError('Invalid phone number: 1221. .........)

In case of wrong profile id a ArgumentError exception will be thrown:

ArgumentError('Invalid profile id: assw2. .........)

In case of wrong platform name a ArgumentError exception will be thrown:

ArgumentError('Invalid platform name: sd#s. .........)

NextcallerClient::HttpException exeception is raised in the case of 4xx or 5xx response from server. 'content' attribute contains parsed response body.

##Notes

It is possible to override the default response handler by passing a block to get_by_phone/get_by_profile_id/update_by_profile_id function. For example:

result = client.get_by_phone(number) { |resp| {body: JSON.parse(resp.body), code: resp.code} } # resp is Net::HTTPResponse object

Default handler for get_by_* methods:

JSON.parse(resp.body)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%