PureCloud Ruby Gem
Installing
gem install PureCloud
Usage
Start by setting the access token in the configuration
PureCloud.configure do |config|
config.access_token = '7oSpBrJ1w2mIf2kDVNJxR3BLzdxsD3hC7hTdG4A8cR50tpcSuxh74SuL4rk_WNqtwkRt2f004eVgXMCVFo84VQ'
config.host = 'api.mypurecloud.com'
end
Specifying the host is optional, it will default to api.mypurecloud.com. This gem contains a number of Api classes e.g. UsersApi, ConfigurationApi. Create an instance of the API you want to use and then you can make calls into the API
user_api = PureCloud::UsersApi.new
me = user_api.users_me_get
Using the global PureCloud.configure won't work in most situations. In a multiple user environment, you need to create an instance of PureCloud::Configuration and then pass that into the initializer of the api class.
config = PureCloud::Configuration.default
config.access_token = authToken;
config_api = PureCloud::ConfigurationApi.new(PureCloud::ApiClient.new( config ))
org = config_api.get_organization
Full Example Using Client Credentials Auth
require 'purecloud'
secret = ENV['purecloud_secret']
id = ENV['purecloud_client_id']
PureCloud.authenticate_with_client_credentials id, secret, "mypurecloud.com"
auth_api = PureCloud::AuthorizationApi.new
roles = auth_api.get_roles
puts roles.to_body
Creating an OAuth client
oauth_api = PureCloud::OAuthApi.new
opts = {
#pass a hash into the constructor, these are the same properties that you can find in the rest documentation, not the properties on the OAuthClient object.
:body=>PureCloud::OAuthClient.new({
:name => 'Demo Client',
:description => "",
:authorizedGrantTypes => ["CLIENT-CREDENTIALS"],
:roleIds =>["02983623-600c-4779-a0ce-17f79e50e285"]
})
}
client = oauth_api.create_clients opts
For more examples, see the tests in the /tests directory