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
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.2 || ^7.0
- neclimdul/openapi-php-helper: >=1.2.0@alpha
Requires (Dev)
- fakerphp/faker: ^1.20
- illuminate/support: >5.0.0
- neclimdul/openapi-php-testing: ^1.0@beta
- php-parallel-lint/php-parallel-lint: ^1.2
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.0.0
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^5.9
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
Class | Method | HTTP request | Description |
---|---|---|---|
BundlesApi | bundlesIdCoursesGet | GET /bundles/{id}/courses | List Courses by bundle ID |
BundlesApi | createEnrollmentInBundle | POST /bundles/{id}/enrollments | Create an Enrollment in a Bundle of Courses |
BundlesApi | getBundleByID | GET /bundles/{id} | List a bundle |
BundlesApi | getBundleEnrollments | GET /bundles/{id}/enrollments | List a enrollments in a bundle |
BundlesApi | updateEnrollmentsInBundle | PUT /bundles/{id}/enrollments | Update Enrollments in a Bundle |
CategoriesApi | crateCollection | POST /collections | Create a new Category |
CategoriesApi | deleteCollectionByID | DELETE /collections/{id} | Delete collection by ID |
CategoriesApi | getCollectionbyID | GET /collections/{id} | Get Collections by Id |
CategoriesApi | getCollections | GET /collections | Get Collections |
CategoriesApi | getProductsbyID | GET /collections/{id}/products | Get products by Collections id |
CategoriesApi | updateCollectioByID | PUT /collections/{id} | Update collection by ID |
CategoryMembershipsApi | addProductsToCategory | POST /collection_memberships/{id} | Add Product to Category |
CategoryMembershipsApi | deleteProductsByID | DELETE /collection_memberships/{id} | Delete Products by ID |
ChaptersApi | getChapterByID | GET /chapters/{id} | Get Chapters |
ChaptersApi | getContentsByID | GET /chapters/{id}/contents | Get Contents by Chapter id |
ContentsApi | getContentByID | GET /contents/{id} | Get Contents by Id |
CouponsApi | bulkCreateCoupons | POST /coupons/bulk_create | Bulk Create Coupons |
CouponsApi | createCoupon | POST /coupons | Create a Coupon |
CouponsApi | deleteCouponByID | DELETE /coupons/{id} | Delete Coupon by ID |
CouponsApi | getCouponByID | GET /coupons/{id} | Get a Coupon by ID |
CouponsApi | getCoupons | GET /coupons | Get Coupons |
CouponsApi | updateCoupon | PUT /coupons/{id} | Update a Coupon |
CourseReviewsApi | createCourseReview | POST /course_reviews | Create a course review |
CourseReviewsApi | getCourseReviewByID | GET /course_reviews/{id} | Get Course Reviews By ID |
CourseReviewsApi | getCourseReviews | GET /course_reviews | Get Course Reviews |
CoursesApi | getChapterOfCourseByID | GET /courses/{id}/chapters | Get Chapters by Course ID |
CoursesApi | getCourseByID | GET /courses/{id} | Get courses by ID |
CoursesApi | getCourses | GET /courses | Get Courses |
CustomProfileFieldDefinitionsApi | getCustomProfileFields | GET /custom_profile_field_definitions | Get Custom profile field definition |
EnrollmentsApi | createEnrollment | POST /enrollments | Create enrollment |
EnrollmentsApi | getEnrollments | GET /enrollments | Get Enrollments |
EnrollmentsApi | getEnrollmentsByID | GET /enrollments/{id} | Get enrollments by ID |
EnrollmentsApi | updateEnrollment | PUT /enrollments/{id} | Update enrollment |
ExternalOrdersApi | createExternalOrder | POST /external_orders | Create a new external order |
ExternalOrdersApi | externalOrdersIdTransactionsPurchasePost | POST /external_orders/{id}/transactions/purchase | purchase transaction |
ExternalOrdersApi | externalOrdersIdTransactionsRefundPost | POST /external_orders/{id}/transactions/refund | refund transaction |
GroupAnalystsApi | addGroupToAnalyst | POST /group_analysts/{user_id}/groups | Add Analyst to Groups |
GroupAnalystsApi | removeGroupFromAnalyst | DELETE /group_analysts/{user_id}/groups/{group_id} | Delete Analyst |
GroupUsersApi | createGroupUsers | POST /group_users | Create a User to existing Groups |
GroupsApi | createGroup | POST /groups | Create Group |
GroupsApi | deleteGroupByID | DELETE /groups/{id} | Delete Group by ID |
GroupsApi | getGroup | GET /groups/{id} | Get Group |
GroupsApi | getGroupAnalysts | GET /groups/{group_id}/analysts | Get Group Analysts |
GroupsApi | getGroups | GET /groups | Get Groups |
GroupsApi | postGroupAnalysts | POST /groups/{group_id}/analysts | Assign Analysts to a Group |
GroupsApi | removeAnalystFromGroup | DELETE /groups/{group_id}/analysts/{user_id} | Delete Analyst |
InstructorsApi | createInstructor | POST /instructors | Create instructor |
InstructorsApi | deleteInstructorByID | DELETE /instructors/{id} | Delete instructor |
InstructorsApi | getInstructorByID | GET /instructors/{id} | Get Instructor by ID |
InstructorsApi | getInstructors | GET /instructors | Get Instructors |
InstructorsApi | updateInstructor | PUT /instructors/{id} | Update instructor |
OrdersApi | getOrderByID | GET /orders/{id} | Get orders by ID |
OrdersApi | getOrders | GET /orders | Get Orders |
ProductPublishRequestApi | approvePublishRequest | POST /product_publish_requests/{id}/approve | Approves Product Publish Request |
ProductPublishRequestApi | denyPublicationRequest | POST /product_publish_requests/{id}/deny | Denies Product Publish Request |
ProductPublishRequestApi | getProductPublishRequestByID | GET /product_publish_requests/{id} | Get product publish request by ID |
ProductPublishRequestApi | getProductPublishRequests | GET /product_publish_requests | Get List of unhandled product publish requests |
ProductsApi | getProductByID | GET /products/{id} | Get product by ID |
ProductsApi | getProducts | GET /products | List products |
ProductsApi | getRelatedProductByProductID | GET /products/{id}/related | Get related products |
PromotionsApi | createPromotion | POST /promotions | Create a new promotion |
PromotionsApi | deletePromotionByID | DELETE /promotions/{id} | Delete promotion by provided ID |
PromotionsApi | getPromotionByID | GET /promotions/{id} | Get promotion by provided ID |
PromotionsApi | getPromotions | GET /promotions | List promotions |
PromotionsApi | promotionsByCouponGet | GET /promotions/by_coupon | Get Promotion associated with the provided Coupon code. |
PromotionsApi | updatePromotionByID | PUT /promotions/{id} | Update promotion by provided ID |
SiteScriptsApi | createSiteScript | POST /site_scripts | Create Site Script |
SiteScriptsApi | deleteSiteScriptByID | DELETE /site_scripts/{id} | Delete Site Script by ID |
SiteScriptsApi | getSiteScriptByID | GET /site_scripts/{id} | Get Site Script by ID |
SiteScriptsApi | getSiteScripts | GET /site_scripts | List Site Scripts |
SiteScriptsApi | updateSiteScriptByID | PUT /site_scripts/{id} | Update Site Script by ID |
UsersApi | createUser | POST /users | Create user |
UsersApi | deleteUserByID | DELETE /users/{id} | Delete user by ID |
UsersApi | getUserAuthByIDAndProvider | GET /users/{id}/authentications/{provider} | Get User Auth data by ID and Provider |
UsersApi | getUserByID | GET /users/{id} | List Users by ID |
UsersApi | getUsers | GET /users | List Users |
UsersApi | updateUserByID | PUT /users/{id} | Update user by ID |
Models
- AuthenticationResponse
- BulkCreateCouponRequest
- BundleResponse
- ChapterResponse
- CollectionRequest
- CollectionResponse
- ContentResponse
- CouponResponse
- CourseResponse
- CourseReviewResponse
- CreateBulkCouponResponse
- CreateCouponRequest
- CreateCourseReviewRequest
- CreateEnrollmentRequest
- CreateExternalOrder201Response
- CreateGroupUsersRequest
- CreateUserRequest
- CustomProfileField
- CustomProfileFieldDefinitionsResponse
- CustomProfileFieldRequest
- EnrollmentResponse
- ErrorBadRequest
- ErrorForbiddenAppsNotAvailable
- ErrorForbiddenInsufficientScope
- ErrorNotFound
- ExternalOrderRequest
- ExternalOrderTransaction
- GetChaptersResponse
- GetCollectionsResponse
- GetContentsResponse
- GetCouponResponse
- GetCourseReviewsResponse
- GetCoursesResponse
- GetCustomProfileFieldDefinitions
- GetEnrollmentsResponse
- GetGroupAnalystsResponse
- GetGroupsResponse
- GetInstructorsResponse
- GetOrdersResponse
- GetProductPublishResponse
- GetProductsResponse
- GetPromotionsResponse
- GetSiteScriptsResponse
- GetUsersResponse
- GroupAddAnalystRequest
- GroupAnalystsAddGroupRequest
- GroupRequest
- GroupResponse
- InstructorRequest
- InstructorResponse
- Item
- MembershipsRequest
- Meta
- OrderResponse
- Pagination
- ProductPriceResponse
- ProductPublishRequest
- ProductPublishRequestBody
- ProductResponse
- PromotionRequest
- PromotionResponse
- SiteScriptRequest
- SiteScriptResponse
- UnprocessableEntityError
- UpdateCoupon
- UpdateEnrollmentRequest
- UpdateEnrollmentsInBundleRequest
- UpdateUserRequest
- UserResponse
- ValidationError
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