TrueConf Server API Client
Installation
Add this line to your application's Gemfile:
gem 'true-conf'
And then execute:
$ bundle
Or install it yourself as:
$ gem install true-conf
Usage
The TrueConf API uses OAuth2 or Token to authenticate API request. By defaut, a OAuth2 client will be used.
# OAuth
client = TrueConf::Client.new auth_method: 'oauth', # default: oauth
client_id: '<client_id>', # required
client_secret: '<client_secret>', # required
api_server: '<server_name>', # required
version: '3.2' # optional, default: 3.2
# Token
client = TrueConf::Client.new auth_method: 'token',
client_token: '<client_token>', # required
api_server: '<server_name>', # required
version: '3.2' # optional, default: 3.2
client.success?
client.error?
Conferences
Users
https://developers.trueconf.ru/api/server/#api-Users
Entities
TrueConf::Entity::User
user = client.by_user(id: "andy").get
user.disabled? # false
user.enabled? # true
user.not_active? # false
user.invalid? # false
user.offline? # false
user.online? # true
user.busy? # false
user.multihost? # false
TrueConf::Entity::UserList
TrueConf::Entity::UserSimple
Actions
users = client.users.all url_type: "dynamic", # optional
page_id: 1, # optional
page_size: 10, # optional
login_name: "Andy", # optional
display_name: "Andy", # optional
first_name: "", # optional
last_name: "", # optional
email: "[email protected]" # optional
# => TrueConf::Entity::UserList
user = client.users.create(**params)
# => TrueConf::Entity::User
user = client.by_user(id: "andy").get
# => TrueConf::Entity::User
user = client.by_user(id: "andy").update(**params)
# => TrueConf::Entity::User
user = client.by_user(id: "andy").delete
# => TrueConf::Entity::UserSimple
user = client.by_user(id: "andy").disconnect
# => TrueConf::Entity::UserSimple
Invitations
https://developers.trueconf.ru/api/server/#api-Conferences_Invitations
Entities
TrueConf::Entity::Invitation
invitation = client.by_conference(conference_id: "3390770247")
.by_invitation(id: "user")
.get
invitation.owner? # true
invitation.user? # true
invitation.custom? # false
TrueConf::Entity::InvitationList
TrueConf::Entity::InvitationSimple
Actions
# Add Invitation
invitation = client.by_conference(conference_id: "3390770247")
.invitations
.create(id: "user", display_name: "user")
# => TrueConf::Entity::Invitation
# Get Invitation List
invitations = client.by_conference(conference_id: "3390770247")
.invitations
.all
# => TrueConf::Entity::InvitationList
# Get Invitation
invitation = client.by_conference(conference_id: "3390770247")
.by_invitation(id: "user")
.get
# => TrueConf::Entity::Invitation
# Update Invitation
invitation = client.by_conference(conference_id: "3390770247")
.by_invitation(id: "user")
.update(display_name: "andy")
# => TrueConf::Entity::Invitation
# Delete Invitation
invitation = client.by_conference(conference_id: "3390770247")
.by_invitation(id: "user")
.delete
# => TrueConf::Entity::InvitationSimple
Error
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/true-conf. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.