TrueConf Server API Client

Gem Version TrueConf

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.