Trulioo
This gem provides access to Trulioo's GlobalGateway API. For detailed information regarding the API, check out their API docs.
Getting Started
Installation
Add trulioo
to your Gemfile and run bundle install
:
gem 'trulioo`
Or install it manually:
$ gem install httparty
$ gem install trulioo
Configure
Settings can be configured as so:
require 'trulioo'
Trulioo.configure do |config|
config.username = 'username'
config.password = 'password'
end
Usage
You'll want to try the say_hello
to make sure the URL is correct and the
test_authentication
endpoint to make sure your credentials are correct.
client = Trulioo::Client.new
client.say_hello # => "Hello World"
client.test_authentication # => "Hello Company_Username"
API Endpoints
Connection
Used to test your connection.
say_hello
This is the only endpoint that does not require authentication. It takes in an optional param that will be displayed in the greeting.
client.connection.say_hello # => "Hello World"
client.connection.say_hello 'Company' # => "Hello Company"
test_authentication
If the provided username and password are correct, this will return the username of your account in the greeting.
client.connection.test_authentication # => "Hello Company_Username"
Verifications
Accesses version 1 of their Normalized API.
transaction_record
Retrieves the information of an existing verification. This takes an optional param if you would like more information. The options available:
-
:withaddress
: If your account includes address cleansing. -
:verbose
: If your account includes address cleansing and watchlist details.
client.verifications.transaction_record(transaction_id)
client.verifications.transaction_record(transaction_id, :withaddress)
client.verifications.transaction_record(transaction_id, :verbose)
verify
Performs a verification. Accepts a hash for the data. You do not need to include
the key AcceptTruliooTermsAndConditions
as it is already included.
client.verifications.verify({ CountryCode: 'US', ... })
Result
These two endpoints return a Trulioo::API::Verifications::Result
instance.
This makes it easy to navigate through the response. For example, use the
following to get the TransactionRecordID:
result = client.verifications.verify({ ... })
result.transaction_record.id
Configuration
Information regarding how your account is configured.
consents
Consents required for the provided country. Accepts a string or symbol.
client.configuration.consents('US')
country_codes
Returns countries configured for your account.
client.configuration.consents
country_subdivisions
Gets the provinces states or other subdivisions for a country, mostly matches ISO 3166-2.
client.configuration.country_subdivisions('US')
document_types
Get available document verification types.
client.configuration.document_types('US')
fields
Generates json schema for the API, which can be used to format your data
object when performing a verification.
client.configuration.fields('US')
Testing
Development
Tests are run using MiniTest. To run tests, first copy test/env.yml.example
to
test/env.yml
. Update the variables in the file and then run rake test
(or
just rake
). The env.yml
file is necessary to test against any endpoints that
require authentication. The TestConnection#say_hello
should work fine without
it.
Each endpoint has its own test suite to make it easier to run tests for that API endpoint.