Usage
The ClearConnect gem all starts with ClearConnect::Client
. Initialize
a client and then you can access the ClearConnect API methods via
Client#get
and Client#post
. Pass all parameters to these methods
as hashes, and make sure to include the action parameter to specify the
API method to invoke. When a call is completed successfully, a plain
Ruby structure (Array/Hash) with the retrieved information (or
confirmation information) is returned.
client = ClearConnect::Client.new('myname', 'mypassword', 'sitename')
client.get(action: 'getTemps', tempIdIn: 1000)
# => [{"tempId"=>"1000", "homeRegion"=>"1", ...}]
Add/Update requests are no more difficult to execute than the get
request demonstrated above. The Ruby structure passed to the method is
converted directly to XML which is sent to the API endpoint. Take the
insertWorkHistory
API method as an example. Since it requires a root
node of workHistoryRecords
with multiple workHistoryRecord
sub-nodes, we would construct a call to this method as follows:
data = {
workHistoryRecords: [
{ workHistoryRecord: {
tempId: 1000,
facility: 'Previous Employer 1',
startDate: '2013-04-09',
endDate: '2014-01-01'
}}
]
}
client.post(action: 'insertWorkHistory', workHistoryRecords: data)
Configure
The username, password, and sitename to use for authentication can be
configured in a few ways. When used in a larger project with
centralized configuration (e.g. a Rails application), the class method
ClearConnect#configure
allows you to set the information that will be
used to authenticate the ClearConnect clients created. As an example,
you may create the file config/initializers/clearconnect.rb
with the
content:
ClearConnect.configure do |config|
config.username = ENV['cc_username']
config.password = ENV['cc_password']
config.site_name = ENV['cc_sitename']
end
In smaller applications or scripts, it may be easier to pass the info
via the constructor of the ClearConnect::Client
, like so:
client = ClearConnect::Client.new('username', 'password', 'sitename')
Notes
The #get
method of ClearConnect::Client
uses the http client library
HTTParty. The #post
method
uses the SOAP client Savon. The
Savon client used internally is initialized when the first call is made
that requires it because the initialization can take some time, but
requests use the cached Savon client thereafter.
Issues
Since the endpoint for the ClearConnect API uses SSL (i.e. is accessed
via an https url), you may encounter the error OpenSSL certificate
verify failed
. The solution for this is relatively simple, and can be
found here.