neclimdul/thinkific-admin

Thinkific's public API can be used to integrate your application with your Thinkific site.

dev-main 2024-12-03 09:11 UTC

This package is auto-updated.

Last update: 2025-02-03 15:54:32 UTC


README

Thinkific's public API can be used to integrate your application with your Thinkific site.

Installation & Usage

Requirements

PHP 8.1 and later.

Composer

To install the bindings via Composer, add the following to composer.json:

composer require neclimdul/thinkific-admin

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

use NecLimDul\Thinkific\Admin\ApiException;

// Configure API key authorization: ApiKey
$config = \NecLimDul\Thinkific\Admin\Configuration::getDefaultConfiguration()->setApiKey('X-Auth-API-Key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = \NecLimDul\Thinkific\Admin\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Auth-API-Key', 'Bearer');
// Configure API key authorization: ApiKeySubdomain
$config = \NecLimDul\Thinkific\Admin\Configuration::getDefaultConfiguration()->setApiKey('X-Auth-Subdomain', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = \NecLimDul\Thinkific\Admin\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Auth-Subdomain', 'Bearer');
// Configure Bearer authorization: OAuthAccessToken
$config = \NecLimDul\Thinkific\Admin\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');

$apiInstance = new \NecLimDul\Thinkific\Admin\Api\BundlesApi(
    // If you want to use custom http client, pass your client which implements `\GuzzleHttp\ClientInterface`.
    // This is optional, `\GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$id = 3.4; // float | ID of the Bundle in the form of an integer
$page = 1.0; // float | The page within the collection to fetch
$limit = 25.0; // float | The number of items to be returned

try {
    $result = $apiInstance->bundlesIdCoursesGet($id, $page, $limit);
    print_r($result);
} catch (ApiException $e) {
    echo 'Exception when calling BundlesApi->bundlesIdCoursesGet: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.thinkific.com/api/public/v1

ClassMethodHTTP requestDescription
BundlesApibundlesIdCoursesGetGET /bundles/{id}/coursesList Courses by bundle ID
BundlesApicreateEnrollmentInBundlePOST /bundles/{id}/enrollmentsCreate an Enrollment in a Bundle of Courses
BundlesApigetBundleByIDGET /bundles/{id}List a bundle
BundlesApigetBundleEnrollmentsGET /bundles/{id}/enrollmentsList a enrollments in a bundle
BundlesApiupdateEnrollmentsInBundlePUT /bundles/{id}/enrollmentsUpdate Enrollments in a Bundle
CategoriesApicrateCollectionPOST /collectionsCreate a new Category
CategoriesApideleteCollectionByIDDELETE /collections/{id}Delete collection by ID
CategoriesApigetCollectionbyIDGET /collections/{id}Get Collections by Id
CategoriesApigetCollectionsGET /collectionsGet Collections
CategoriesApigetProductsbyIDGET /collections/{id}/productsGet products by Collections id
CategoriesApiupdateCollectioByIDPUT /collections/{id}Update collection by ID
CategoryMembershipsApiaddProductsToCategoryPOST /collection_memberships/{id}Add Product to Category
CategoryMembershipsApideleteProductsByIDDELETE /collection_memberships/{id}Delete Products by ID
ChaptersApigetChapterByIDGET /chapters/{id}Get Chapters
ChaptersApigetContentsByIDGET /chapters/{id}/contentsGet Contents by Chapter id
ContentsApigetContentByIDGET /contents/{id}Get Contents by Id
CouponsApibulkCreateCouponsPOST /coupons/bulk_createBulk Create Coupons
CouponsApicreateCouponPOST /couponsCreate a Coupon
CouponsApideleteCouponByIDDELETE /coupons/{id}Delete Coupon by ID
CouponsApigetCouponByIDGET /coupons/{id}Get a Coupon by ID
CouponsApigetCouponsGET /couponsGet Coupons
CouponsApiupdateCouponPUT /coupons/{id}Update a Coupon
CourseReviewsApicreateCourseReviewPOST /course_reviewsCreate a course review
CourseReviewsApigetCourseReviewByIDGET /course_reviews/{id}Get Course Reviews By ID
CourseReviewsApigetCourseReviewsGET /course_reviewsGet Course Reviews
CoursesApigetChapterOfCourseByIDGET /courses/{id}/chaptersGet Chapters by Course ID
CoursesApigetCourseByIDGET /courses/{id}Get courses by ID
CoursesApigetCoursesGET /coursesGet Courses
CustomProfileFieldDefinitionsApigetCustomProfileFieldsGET /custom_profile_field_definitionsGet Custom profile field definition
EnrollmentsApicreateEnrollmentPOST /enrollmentsCreate enrollment
EnrollmentsApigetEnrollmentsGET /enrollmentsGet Enrollments
EnrollmentsApigetEnrollmentsByIDGET /enrollments/{id}Get enrollments by ID
EnrollmentsApiupdateEnrollmentPUT /enrollments/{id}Update enrollment
ExternalOrdersApicreateExternalOrderPOST /external_ordersCreate a new external order
ExternalOrdersApiexternalOrdersIdTransactionsPurchasePostPOST /external_orders/{id}/transactions/purchasepurchase transaction
ExternalOrdersApiexternalOrdersIdTransactionsRefundPostPOST /external_orders/{id}/transactions/refundrefund transaction
GroupAnalystsApiaddGroupToAnalystPOST /group_analysts/{user_id}/groupsAdd Analyst to Groups
GroupAnalystsApiremoveGroupFromAnalystDELETE /group_analysts/{user_id}/groups/{group_id}Delete Analyst
GroupUsersApicreateGroupUsersPOST /group_usersCreate a User to existing Groups
GroupsApicreateGroupPOST /groupsCreate Group
GroupsApideleteGroupByIDDELETE /groups/{id}Delete Group by ID
GroupsApigetGroupGET /groups/{id}Get Group
GroupsApigetGroupAnalystsGET /groups/{group_id}/analystsGet Group Analysts
GroupsApigetGroupsGET /groupsGet Groups
GroupsApipostGroupAnalystsPOST /groups/{group_id}/analystsAssign Analysts to a Group
GroupsApiremoveAnalystFromGroupDELETE /groups/{group_id}/analysts/{user_id}Delete Analyst
InstructorsApicreateInstructorPOST /instructorsCreate instructor
InstructorsApideleteInstructorByIDDELETE /instructors/{id}Delete instructor
InstructorsApigetInstructorByIDGET /instructors/{id}Get Instructor by ID
InstructorsApigetInstructorsGET /instructorsGet Instructors
InstructorsApiupdateInstructorPUT /instructors/{id}Update instructor
OrdersApigetOrderByIDGET /orders/{id}Get orders by ID
OrdersApigetOrdersGET /ordersGet Orders
ProductPublishRequestApiapprovePublishRequestPOST /product_publish_requests/{id}/approveApproves Product Publish Request
ProductPublishRequestApidenyPublicationRequestPOST /product_publish_requests/{id}/denyDenies Product Publish Request
ProductPublishRequestApigetProductPublishRequestByIDGET /product_publish_requests/{id}Get product publish request by ID
ProductPublishRequestApigetProductPublishRequestsGET /product_publish_requestsGet List of unhandled product publish requests
ProductsApigetProductByIDGET /products/{id}Get product by ID
ProductsApigetProductsGET /productsList products
ProductsApigetRelatedProductByProductIDGET /products/{id}/relatedGet related products
PromotionsApicreatePromotionPOST /promotionsCreate a new promotion
PromotionsApideletePromotionByIDDELETE /promotions/{id}Delete promotion by provided ID
PromotionsApigetPromotionByIDGET /promotions/{id}Get promotion by provided ID
PromotionsApigetPromotionsGET /promotionsList promotions
PromotionsApipromotionsByCouponGetGET /promotions/by_couponGet Promotion associated with the provided Coupon code.
PromotionsApiupdatePromotionByIDPUT /promotions/{id}Update promotion by provided ID
SiteScriptsApicreateSiteScriptPOST /site_scriptsCreate Site Script
SiteScriptsApideleteSiteScriptByIDDELETE /site_scripts/{id}Delete Site Script by ID
SiteScriptsApigetSiteScriptByIDGET /site_scripts/{id}Get Site Script by ID
SiteScriptsApigetSiteScriptsGET /site_scriptsList Site Scripts
SiteScriptsApiupdateSiteScriptByIDPUT /site_scripts/{id}Update Site Script by ID
UsersApicreateUserPOST /usersCreate user
UsersApideleteUserByIDDELETE /users/{id}Delete user by ID
UsersApigetUserAuthByIDAndProviderGET /users/{id}/authentications/{provider}Get User Auth data by ID and Provider
UsersApigetUserByIDGET /users/{id}List Users by ID
UsersApigetUsersGET /usersList Users
UsersApiupdateUserByIDPUT /users/{id}Update user by ID

Models

Authorization

OAuthAccessToken

  • Type: Bearer authentication

ApiKey

  • Type: API key
  • API key parameter name: X-Auth-API-Key
  • Location: HTTP header

ApiKeySubdomain

  • Type: API key
  • API key parameter name: X-Auth-Subdomain
  • Location: HTTP header

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

developers@thinkific.com

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: v1
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen