tamkeenlms/tamkeelms-api

该包最新版本(v1.0)没有可用的许可信息。

Tamkeen LMS API(tamkeenlms.com)

v1.0 2018-02-20 09:40 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:20:22 UTC


README

这是官方 Tamkeen LMS API 客户端的文档。您可以使用此 API 客户端执行一些简单的操作,例如检索课程或为这些课程之一提交新的请求。

  • Tamkeen LMS API 通过 HTTP 可供您访问,这意味着您可以使用任何编程语言通过任何 cURL 库调用它。
  • 您必须在每个请求中传递 API 密钥。此密钥将由 Tamkeen 团队提供。但请注意,此密钥可能会且将会不时更改,尤其是随着新更新的发布。
  • 响应将始终以 JSON 格式。
  • API 的限制为每分钟 1000 个请求。之后您需要等待整整一分钟才能提交另一个请求。在这种情况下,响应将是“尝试次数过多。”,状态码为 429。
  • 您可以在任何请求中请求特定语言区域设置以获取响应。目前可用的区域设置为“en”和“ar”。当响应包含文本时,例如验证消息时,这将很有用。您可以通过在 URL 的查询字符串中传递“locale=[locale]”来为每个请求设置区域设置。例如:POST api/v1/courses/signup?locale=ar
  • 大多数请求都需要您指定应执行请求的分支。例如,当请求 API 的课程列表时,您必须在请求中指定您需要获取课程的分支的 id。这是通过在 URL 查询字符串中传递分支的 id 来完成的。例如:GET api/v1/courses?branch=1
  • 您可以通过在浏览器中请求 API 的 URL 或通过像 Postman 这样的工具来熟悉 API。

安装

您可以使用 Composer 安装此库

composer require tamkeenlms/tamkeelms-api

现在,在您的代码中,您需要通过设置基本请求信息(即 API 密钥和 API 的基本 URI)来初始化 API。

TamkeenLMSAPI\Client::setup([API base uri], [API key]);

//Example:
TamkeenLMSAPI\Client::setup('https://company.com/app/public/api/v1/', 'UOYfo9YLk4NTjhx6yyVG0rDDkCt2aFCOeCwtbZfUAdeu8f');

基本 URI 应该是 API URI 的完整路径,例如:https://example.com/app/public/api/v1/。API 密钥将由库所有者或 Tamkeen LMS 团队提供。

请求

获取公司的分支列表

Tamkeen 支持与多个分支(同一公司或组织的不同位置)一起工作,每个分支都有自己的课程、批次、讲座等,当然还有自己的网站课程列表。因此,您需要在您的应用程序中代表这一点,并区分每个分支的数据。此请求返回已添加到系统中的分支列表,每个分支都有 id 和名称。您需要使用此请求来获取分支列表,以便用户可以在例如注册课程时进行选择。

示例

$request = new TamkeenLMSAPI\Requests\Branches();
$response = $request->get();

示例响应

{
   "branches":[
      {
         "id":1,
         "name":"Branch 1",
         "code":"HQ",
         "currency":"EGP"
      }
   ]
}

获取课程

首先,您需要理解这里有两种不同的数据模型;一个是课程,另一个是网站课程。课程是在系统中注册的培训课程,而网站课程是一个封装课程并携带其属性在网站上的模型,前提是它被选择在网站上显示!因此,返回的列表将包含课程和网站课程,第一个被包含在后者中,如下面的示例请求所示。

Tamkeen LMS支持多分支机构,因此每个课程都是添加到应用中,并且添加在分支下,课程也按类别分组。所以,当获取任何一组课程时,您需要传递分支和类别的ID。至于分支和类别的ID,您可以通过以下其他请求获取。

$request = new TamkeenLMSAPI\Requests\Courses\Courses([branch id], [category id]);
$response = $request->get();

返回的响应将如下所示

{
   "courses":{
      "total":2,
      "per_page":20,
      "current_page":1,
      "last_page":1,
      "next_page_url":null,
      "prev_page_url":null,
      "from":1,
      "to":2,
      "data":[
         {
            "id":1,
            "course_id":1,
            "category_id":1,
            "about":"HTML information about this course ....",
            "course":{
               "id":1,
               "name":"Course 1 name",
               "cost":"300.00",
               "cost_basis":"lecture",
               "duration":"30",
               "duration_unit":"day"
            }
         }
      ]
   }
}

如你所见,返回的响应包含了分页功能,这意味着您只需通过在uri中传递页码即可简单地分页浏览课程。例如:GET courses?branch=1&category=1&page=2此请求将返回完整列表的第2页。每页有20个课程。

$request = new TamkeenLMSAPI\Requests\Courses\Courses([branch id], [category id]);
$request->setPage([page numver]); // The page number

获取单个课程

您只能通过此请求获取单个课程的信息

$request = new TamkeenLMSAPI\Requests\Courses\Course([course id]);
$response = $request->get();

获取课程类别

在Tamkeen LMS端,课程是分类的,当检索课程列表时,您需要指定目标课程的类别,通过ID。以下是获取这些类别完整列表的方法

$request = new TamkeenLMSAPI\Requests\Courses\Categories([branch id]);
$response = $request->get();

示例响应

{
   "categories":[
      {
         "id":1,
         "name":"Test Category",
         "description":"Category description"
      },
      {
         "id":2,
         "name":"Category 2",
         "description":"Category 2 description"
      }
   ]
}

提交课程请求(注册)

通过您的应用和我们的API,您不仅可以列出和查看存储在Tamkeen LMS数据库中的课程,还可以提交一个课程请求(由您的应用用户之一发起)以存储和显示在我们的端。您将负责构建表单并验证用户的输入,然后将其提交给我们。当然,您需要附上课程的ID(用户请求的课程,代表的是网站课程,而不是课程本身)以及请求。

您可以在表单中请求以下数据:课程(=course_id)、姓名(=name)、电话号码(=phone_number)、电子邮件(=email)、职位名称(=job_title)、备注(=note)。当然,只有course_id、name和phone_number值是必需的。您不需要在此处提交分支的ID,因为我们可以根据您选择的课程找到它。

用户提交后,将被添加到指定网站课程下的临时列表中,然后经过过滤后可以添加到应用程序中该课程的实际等待列表。

示例

$request = new TamkeenLMSAPI\Requests\Courses\Signup([
	'course_id' => $_POST['course_id'],
	'name' => $_POST['name'],
	'phone_number' => $_POST['phone_number'],
	'email' => $_POST['email'],
	'job_title' => $_POST['job_title'],
	'note' => $_POST['note'],
]);

// Submit the sign up  request
$response = $request->submit();

您通过API发送的信息将通过严格的验证规则,如果验证失败,将返回错误和验证消息。例如

{
   "error":"invalid_input",
   "messages":[
      "The name field is required."
   ]
}

您可以将这些错误消息显示给用户,以便他们可以检查返回的错误。

如果注册过程成功,API将返回

{
   "message":"success"
}

或者在失败时返回以下内容

{
   "message":"failed"
}

帮助

我们非常愿意帮助您使用Tamkeen LMS API,如果您有任何问题,请随时通过contact@tamkeenlms.com联系我们,或者只需在此存储库中打开一个新的问题,用于代码问题、错误和功能请求。

谢谢,祝您好运。

Tamkeen LMS团队

tamkeenlms.com