PHPackages                             oiuv/edusoho-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. oiuv/edusoho-api

ActiveLibrary[API Development](/categories/api)

oiuv/edusoho-api
================

EduSoho网校API

v2.0.0(4y ago)31.8kMITPHPPHP &gt;=5.6

Since Jun 24Pushed 4y ago1 watchersCompare

[ Source](https://github.com/oiuv/edusoho-api)[ Packagist](https://packagist.org/packages/oiuv/edusoho-api)[ RSS](/packages/oiuv-edusoho-api/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

EduSoho API
===========

[](#edusoho-api)

[![EduSoho](https://camo.githubusercontent.com/e3c4c4915eb6d39aad1d8fb0e29709b4186c43d99042b06a1a770d7ec73cbb43/68747470733a2f2f762e6a6b772e6c74642f7468656d65732f6a69616e6d6f2f696d672f62616e6e65725f6e65742e6a7067)](https://camo.githubusercontent.com/e3c4c4915eb6d39aad1d8fb0e29709b4186c43d99042b06a1a770d7ec73cbb43/68747470733a2f2f762e6a6b772e6c74642f7468656d65732f6a69616e6d6f2f696d672f62616e6e65725f6e65742e6a7067)

阔知网校API，方便在不改动网校源码的情况下实现网校功能二次开发，适用于所有使用阔知网校系统的网校平台。

环境需求
----

[](#环境需求)

- PHP &gt;= 5.6

安装
--

[](#安装)

```
composer require oiuv/edusoho-api
```

使用
--

[](#使用)

```
require __DIR__ . '/vendor/autoload.php';

use Oiuv\EduSohoApi\ES;

//网校API地址为网校域名+"/api/"，如：https://edusoho.test/api/
$es = new ES('https://edusoho.test/api/');

// 部分接口无需认证用户可调用，部分接口需要认证用户才能调用，认证有二种方式：token或账号密码
// 注意：token有有效期限制，需要定期更新，token存在数据库`user_token`表中

//X-Auth-Token认证
$es->auth('token0cgw2yog04s4c8wk8ooc84k4co');

//HTTP基础认证
$es->auth('用户名', '密码');

//更新access_token，需要认证
echo $es->accessToken();

//获取班级列表，无需认证
echo $es->classrooms();
```

### 用户

[](#用户)

```
// 获取当前用户信息（需要认证）
echo $es->me();

// 我的教学计划（需要认证）
echo $es->myCourses();

// 我的直播课程（需要认证）
echo $es->myLiveCourseSets();

// 我的班级（需要认证）
echo $es->myClassrooms();

//根据nickname查询用户(不认证用户)
echo $es->users('nickname', $nickname);

//根据id查询用户(不认证用户)
echo $es->users('id', $id);

//根据email查询用户(不认证用户)
echo $es->users('email', $email);

//根据mobile查询用户(不认证用户)
echo $es->users('mobile', $mobile);

//根据token查询用户，注意token类型的值不是认证token，而是用户的uuid(不认证用户)
echo $es->users('token', $token);
```

### 课程

[](#课程)

网校课程是CourseSet，课程计划是Course，一个课程可以有多个教学计划，课时任务是Task，一个教学计划有多个任务

```
//获取课程列表（不认证用户）
echo $es->courseSets();

//按条件获取课程列表（不认证用户）
$data = [
    'type'   => 'normal', //教学计划类型:normal,live
    'title'  => '音乐', //课程标题
    'sort'   => '-studentNum', //排序方式'createdTime','updatedTime','recommendedSeq','hitNum','recommendedTime','rating','studentNum'，-field代表倒序
    'offset' => 0,
    'limit'  => 100
];
echo $es->courseSets($data);

//获取指定课程信息（不认证用户）
echo $es->courseSets($courseSetId);

//根据课程ID获取课程所有教学计划学员信息（不认证用户）
echo $es->courseSetMembers($courseSetId);

//根据课程计划ID获取单个教学计划信息（不认证用户）
echo $es->courses($courseId);

//获取教学计划列表（不认证用户）
echo $es->courses();

//按条件获取教学计划列表（不认证用户）
$data = [
    'type'   => 'live', //教学计划类型:normal,live
    'title'  => '音乐', //课程标题
    'sort'   => '-studentNum', //排序方式'createdTime','updatedTime','recommendedSeq','hitNum','recommendedTime','rating','studentNum'，-field代表倒序
    'offset' => 0,
    'limit'  => 100
];
echo $es->courses($data);

//根据课程ID获取课程已发布的教学计划信息（不认证用户）
echo $es->courseSet($courseSetId);

//加入教学计划，成为学员(需要认证用户，只可以加免费课)
echo $es->member($courseId);

//根据课程计划ID获取教学计划学员学习信息（不认证用户）
echo $es->courseMembers($courseId);

//根据课程ID获取认证用户的课程计划学习信息(需要认证)
echo $es->myCourseSetMember($courseSetId);

//根据课程计划ID获取认证用户的课程计划学习信息(需要认证)
echo $es->myCourseMember($courseId);

//获取单个任务（不认证用户）
echo $es->courseTask($courseId, $taskId);

//获取教学计划的目录列表（不认证用户）
 echo $es->courseItems($courseId);

//获取计划下的第一个试看任务（不认证用户）
echo $es->firstTrialTask($courseId);

//获取计划的所有评价（不认证用户）
echo $es->courseReviews($courseId);

//获取课程的所有评价（不认证用户）
echo $es->courseSetReviews($courseSetId);

//获取我的教学计划下的学习进度(需要用户认证)
echo $es->myCourseLearningProgress($courseId);

//我收藏的课程(需要认证用户)
echo $es->myFavoriteCourseSets();

//是否收藏课程(需要认证用户)
echo $es->myFavoriteCourseSets($courseSetId);

//收藏课程(需要认证用户)
echo $es->favoriteCourseSet($courseSetId);

//取消收藏课程(需要认证用户)
echo $es->delFavoriteCourseSet($courseSetId);

//退出计划(需要认证用户)
echo $es->exitCourse($courseId, $reason = '');

//学习任务{envet:doing,finish}(需要认证用户)
echo $es->taskEvent($courseId, $taskId, $event, $lastTime);
```

### 班级

[](#班级)

```
//根据班级ID获取班级信息（不需认证用户）
echo $es->classrooms($classroomId);

//获取班级列表（不需要认证）
echo $es->classrooms();

//我的班级个人学习资料(需要认证)
echo $es->myClassroomMember($classroomId);

//获取班级计划（不需要认证）
echo $es->classroomCourses($classroomId);

//加入班级(需要认证)
echo $es->classroomMember($classroomId);
```

### 题库

[](#题库)

```
// 获取题库练习（不需要认证）
echo $es->itemBankExercises($id);

// 获取题库下的学员（不需要认证）
echo $es->itemBankExercisesMembers($id);
```

### 订单

[](#订单)

```
// 下单（需要认证）
return $es->orders($商品ID, $商品类型, $优惠码);
// 支付（需要认证）
return $es->trades($订单号, $支付类型);
```

### 优惠码

[](#优惠码)

```
// 获取当前用户的优惠码
return $es->coupons();
```

### 移动端API

[](#移动端api)

```
// 获取移动端频道（不需要认证）
echo $es->appChannels();
```

### 通知

[](#通知)

```
// 获取通知列表(需要认证)
echo $es->notifications();
```

### 公告

[](#公告)

```
// 获取公告列表（不需要认证）
echo $es->announcements();
```

### 资讯

[](#资讯)

```
// 获取文章列表（不需要认证用户）
echo $es->articles();

// 获取指定文章（不需要认证用户）
echo $es->article(1);
```

---

API文档
-----

[](#api文档)

所有接口及参数说明请阅读API文档了解。

- 接口API文档：[EduSoho REST API](https://api.oiuv.cn/edusoho/Oiuv/EduSohoApi/ES.html)

License
-------

[](#license)

MIT

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 90.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~324 days

Total

5

Last Release

1586d ago

Major Versions

v1.0.3 → v2.0.02022-01-12

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13300261?v=4)[噢哎哟喂](/maintainers/oiuv)[@oiuv](https://github.com/oiuv)

---

Top Contributors

[![oiuv](https://avatars.githubusercontent.com/u/13300261?v=4)](https://github.com/oiuv "oiuv (10 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")

---

Tags

edusoho

### Embed Badge

![Health badge](/badges/oiuv-edusoho-api/health.svg)

```
[![Health](https://phpackages.com/badges/oiuv-edusoho-api/health.svg)](https://phpackages.com/packages/oiuv-edusoho-api)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
