Thinkific REST API wrapper for Ruby simplifies interaction with the Thinkific API, allowing developers to seamlessly integrate Thinkific's powerful e-learning platform into their Ruby applications. Whether you're an organization creating a tailored solution for in-house use, an agency crafting customized learning experiences for clients, or an app developer aiming to build apps for the Thinkific App Store, this wrapper provides a convenient and efficient way to leverage Thinkific's capabilities.
-
Streamlined API Interactions in Ruby: Easily communicate with Thinkific's API using Ruby, making development tasks straightforward and efficient.
-
Simplified Authentication and Configuration: Hassle-free authentication and configuration setup for quick integration into your projects.
-
Easy Integration with Thinkific's Resources: Seamlessly integrate with Thinkific's courses, users, and other essential resources, enhancing the functionality of your applications.
Add this line to your application's Gemfile:
gem 'thinkific'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install thinkific
- Initialize
- Parameters & Query
- Bundles
- Categories
- Category Memberships
- Chapters
- Contents
- Coupons
- Courses
- Course Reviews
- Custom Profile Field Definitions
- Enrollments
- External Orders
- Groups
- Group Analysts
- Group Users
- Instructors
- Orders
- Product Publish Request
- Products
- Promotions
- Site Scripts
- Users
You have to create thinkific.rb file in your initializer directory and then specify client-id and secret-key of you Thinkific account. The config file looking like this.
Thinkific.config do |config|
config.client_id = 'your-client-id'
config.secret_key = 'your-secret-key'
end
Explore the comprehensive set of parameters and query filters available across all Thinkific API endpoints. When using this gem, you can simply provide the required parameters as a hash in your API requests.
For detailed information about each parameter and its usage, please refer to the Thinkific API documentation. Ensure that the parameters you provide align with the specifications outlined in the official documentation to ensure accurate and successful API interactions.
# Retrieve a Bundles:
Thinkific::Admin::Bundles.show(ID)
# List all courses by Bundle ID:
Thinkific::Admin::Bundles.list_courses(ID, parameters)
# List all enrollments by Bundle ID:
Thinkific::Admin::Bundles.list_enrollments(ID, parameters)
# Create an Enrollment in a Bundle:
Thinkific::Admin::Bundles.create_enrollment(ID, parameters)
# Update an Enrollment in a Bundle:
Thinkific::Admin::Bundles.update_enrollment(ID, parameters)
# List all Categories:
Thinkific::Admin::Categories.list
# Retrieve a Categories:
Thinkific::Admin::Categories.show(ID)
# Create a Categories:
Thinkific::Admin::Categories.create(parameters)
# Update a Categories:
Thinkific::Admin::Categories.update(ID, parameters)
# Delete a Categories:
Thinkific::Admin::Categories.delete(ID)
# List all products by a Categories:
Thinkific::Admin::Categories.list_products(ID, parameters)
# Create products in a Categories:
Thinkific::Admin::CategoryMembership.create_products(ID, parameters)
# Delete products from a Categories:
Thinkific::Admin::CategoryMembership.delete_products(ID, parameters)
# Retrieve a Chapters:
Thinkific::Admin::Chapters.show(ID)
# List all Contents by a Chapter ID:
Thinkific::Admin::Chapters.list_contents(ID, parameters)
# Retrieve a Contents by ID:
Thinkific::Admin::Contents.show(ID)
# List all Coupons:
Thinkific::Admin::Coupons.list
# Retrieve a Coupons:
Thinkific::Admin::Coupons.show(ID)
# Create a Coupons:
Thinkific::Admin::Coupons.create(parameters)
# Bulk Create Coupons:
Thinkific::Admin::Coupons.create_bulk_coupon(parameters)
# Update a Coupons:
Thinkific::Admin::Coupons.update(ID, parameters)
# Delete a Coupons:
Thinkific::Admin::Coupons.delete(ID)
# List all Courses:
Thinkific::Admin::Courses.list
# Retrieve a Courses:
Thinkific::Admin::Courses.show(ID)
# List Chapters by Course ID
Thinkific::Admin::Courses.list_chapters(ID, parameters)
# List all Course Reviews:
Thinkific::Admin::CourseReviews.list
# Retrieve a Course Reviews:
Thinkific::Admin::CourseReviews.show(ID)
# Create a Course Reviews:
Thinkific::Admin::CourseReviews.create(parameters)
# List all Custom Profile Field Definition:
Thinkific::Admin::CustomProfileFieldDefinitions.list
# List all Enrollments:
Thinkific::Admin::Enrollments.list
# Retrieve an Enrollments:
Thinkific::Admin::Enrollments.show(ID)
# Create a Enrollments:
Thinkific::Admin::Enrollments.create(parameters)
# Update a Enrollments:
Thinkific::Admin::Enrollments.update(ID, parameters)
# Create a External Order:
Thinkific::Admin::ExternalOrders.create(parameters)
# Create a Refund transaction in a External Order:
Thinkific::Admin::ExternalOrders.refund_transaction(ID, parameters)
# Create a Purchase transaction in a External Order:
Thinkific::Admin::ExternalOrders.purchase_transaction(ID, parameters)
# List all Groups:
Thinkific::Admin::Groups.list
# Retrieve a Groups:
Thinkific::Admin::Groups.show(ID)
# Create a Groups:
Thinkific::Admin::Groups.create(parameters)
# Delete a Groups:
Thinkific::Admin::Groups.delete(ID)
# List Analysts by a Groups:
Thinkific::Admin::Groups.list_analysts(ID, parameters)
# Create Analysts in a Groups:
Thinkific::Admin::Groups.create_analysts(ID, parameters)
# Delete an analyst from a group:
Thinkific::Admin::Groups.delete_analyst(ID)
# Create Group-Analyst to a groups:
Thinkific::Admin::GroupAnalysts.create_groups(user_id, parameters)
# Delete Group-Analyst from a groups:
Thinkific::Admin::GroupAnalysts.delete_analyst(user_id, group_id)
# Create a User to existing Groups:
Thinkific::Admin::GroupUsers.create(parameters)
# List all Instructors:
Thinkific::Admin::Instructors.list
# Retrieve a Instructors:
Thinkific::Admin::Instructors.show(ID)
# Create a Instructors:
Thinkific::Admin::Instructors.create(parameters)
# Update a Instructors:
Thinkific::Admin::Instructors.update(ID, parameters)
# Delete a Instructors:
Thinkific::Admin::Instructors.delete(ID)
# List all Orders:
Thinkific::Admin::Orders.list
# Retrieve a Orders:
Thinkific::Admin::Orders.show(ID)
# List all Product Publish Request:
Thinkific::Admin::ProductPublishRequest.list
# Retrieve a Product Publish Request:
Thinkific::Admin::ProductPublishRequest.show(ID)
# Approve a Product Publish Request:
Thinkific::Admin::ProductPublishRequest.approve(ID, parameters)
# Deny a Product Publish Request:
Thinkific::Admin::ProductPublishRequest.deny(ID, parameters)
# List all Products:
Thinkific::Admin::Products.list
# Retrieve a Products:
Thinkific::Admin::Products.show(ID)
# List all Related Products:
Thinkific::Admin::Products.list_related(ID)
# List all Promotions:
Thinkific::Admin::Promotions.list
# Retrieve a Promotions:
Thinkific::Admin::Promotions.show(ID)
# Create a Promotions:
Thinkific::Admin::Promotions.create(parameters)
# Update a Promotions:
Thinkific::Admin::Promotions.update(ID, parameters)
# Delete a Promotions:
Thinkific::Admin::Promotions.delete(ID)
# Retrieve a Promotion by Coupon code:
Thinkific::Admin::Promotions.get_coupon(parameters)
# List all Site script:
Thinkific::Admin::SiteScripts.list
# Retrieve a Site script:
Thinkific::Admin::SiteScripts.show(ID)
# Create a Site script:
Thinkific::Admin::SiteScripts.create(parameters)
# Update a Site script:
Thinkific::Admin::SiteScripts.update(ID, parameters)
# Delete a Site script:
Thinkific::Admin::SiteScripts.delete(ID)
# List all Users:
Thinkific::Admin::Users.list
# Retrieve a Users:
Thinkific::Admin::Users.show(ID)
# Create a Users:
Thinkific::Admin::Users.create(parameters)
# Update a Users:
Thinkific::Admin::Users.update(ID, parameters)
# Delete a Users:
Thinkific::Admin::Users.delete(ID)
# Retrieves a User authentication data identified by the id and provider:
Thinkific::Admin::Users.authentications(id, provider, parameters)
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/rahulsingh321/thinkific. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the Thinkific project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.