MoSeeker Open API Document
Request Address
| Environment | URL |
|---|---|
| Production | https://openapi.moseeker.com |
| Test | https://openapi-t.dqprism.com |
Version
| Version | Update time |
|---|---|
| v1.0.0 | 2019-10-21 |
| v1.1.0 | 2020-04-02 |
| v1.2.0 | 2020-04-15 |
| v1.3.0 | 2020-05-14 |
| v1.4.0 | 2021-12-27 |
| v1.4.1 | 2022-01-17 |
| v1.4.2 | 2022-08-10 |
| v1.4.3 | 2023-04-13 |
| v1.5.1 | 2026-08-11 |
| v1.5.2 | 2026-08-13 |
Overview
Interface Format
The return value of interface is always JSON, which includes 3 fields: "code", "data" and "message"
| Field | Type | Description |
|---|---|---|
| code | int | Status code. The 0 value means the status is fine, any other value means exceptions. |
| message | string | Descriptions for this interface. |
| data | dict | Details of the return value. This field can be empty when an interface is only used to return status. |
API Authorization
To start the API authorization, every customer should contact MoSeeker to get app_key and app_secret. The token is generated by app_key and app_secret from this API,and token can be used to authorize customer in other APIs.
Request
{
"app_key":"*****",
"app_secret":"*****"
}
Response
{
"code": 0,
"message": "",
"data": {
"token": "*****",
"expire": 24
}
}
Token
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/authorizations/token
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | unique key for customer |
| app_secret | Yes | string | secret key |
Response data
| Key | Describe |
|---|---|
| token | token value |
| expire | expire time (hour) |
Job Position
Get Positions
Get all the positions for current company.
Get Positions
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/positions
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Query Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| page_num | No | integer | page number |
| page_size | No | integer | page size |
Response data
| Key | Describe |
|---|---|
| id | position id |
| job_number | job board postion id |
| title | position title |
| team | position department |
| cities | position city |
| publish_date | position publish date |
| stop_date | position stop date |
| accountability | position description |
| experience | work experience (year) |
| experience_above | work experience (year) |
| requirement | position requirement |
| language | language requirement |
| update_time | position update time |
| business_group | business group |
| employment_type | employment type |
| hr_email | HR email address |
| degree | education degree |
| degree_above | minimum education degree |
| features | position features |
| email_notice | whether to notice HR by email after application or not |
| candidate_source | candidate source |
| occupation | position occupation |
| is_recom | whether to recommendate this position or not |
| industry | company industry |
| district | district of position |
| count | hire count |
| salary_top | maximum salary (k) |
| salary_bottom | minimum salary (k) |
| management_experience | whether management experience is required |
| gender | gender |
| publisher | publisher id |
| publisher_name | publisher name |
| work_address | position work address |
| is_hiring | whether it is a hot hiring position or not |
| underlings | number of underlings |
| language_required | whether a language requirement is a must |
| target_industry | target industry for candidate |
| is_referral | whether candidate is via referral or not |
| ext | position extension data |
| addresses | LBS |
| top | top tag. return true if position with "top" tag, else return false |
| coordinator_id | coordinator HR id |
| coordinator_name | coordinator HR name |
| custom_fields | position custom field information |
Response
{
"code": 0,
"message": "",
"data": {
"total": 44770,
"page": 1,
"data": [
{
"id": 19551566,
"job_number": "JOB202003313",
"title": "title",
"team": {
"id": 188365547,
"name": "万达集团/商管集团/酒店管理公司"
},
"publish_date": "2020-03-31 18:01:46",
"stop_date": null,
"accountability": null,
"experience": "3",
"requirement": "position requirement",
"language": "english",
"update_time": "2020-03-31 19:21:51",
"business_group": "",
"employment_type": 0,
"hr_email": null,
"degree": 0,
"top":false,
"coordinator_name": "协助HR姓名1,协助HR姓名2",
"coordinator_id":"111111,222222",
"features": [
{
"id": 119,
"company_id": 39978,
"name": "feature1",
"create_time": "2018-03-06 21:04:10",
"update_time": "2019-10-14 17:32:11",
"status": "有效"
},
{
"id": 145,
"company_id": 39978,
"name": "feature2",
"create_time": "2018-03-06 21:04:12",
"update_time": "2019-10-28 15:59:21",
"status": "有效"
}
],
"email_notice": 0,
"candidate_source": 0,
"occupation": "",
"is_recom": 1,
"industry": "",
"district": "",
"count": 1,
"salary_top": 100,
"salary_bottom": 10,
"experience_above": 0,
"degree_above": 0,
"management_experience": 1,
"gender": 2,
"publisher": 82752,
"publisher_name": null,
"work_address": "",
"is_hiring": 0,
"underlings": 0,
"language_required": 0,
"target_industry": 0,
"current_status": 0,
"is_referral": 0,
"ext_vo": {
"job_custom_id": 0,
"create_time": "1585648906000",
"update_time": "1585648906000",
"job_occupation_id": 0,
"pid": 19551566,
"extra": null,
"ext": "ext"
},
"custom_fields": [
{
"id": 123,
"config_type": 1,
"config_name": "职位自定义字段",
"value": "职位自定义字段下的选项"
},
{
"id": 124,
"config_type": 2,
"config_name": "职能自定义字段",
"value": "字段二的选项"
},
{
"id": 125,
"config_type": 3,
"config_name": "职位自定义字段三",
"value": "字段三的选项"
}
],
"addresses": [
{
"id": 1,
"address_name": "address_name",
"company_id": 39978,
"province": null,
"city": 320500,
"region": null,
"address": "address",
"department_id": 0,
"department_name": null,
"longitude": "116.3974510",
"latitude": "39.9091870",
"point": null
}
]
}
],
"page_size": 1
}
}
Create Position
Create a new position.
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/positions
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| job_number | Yes | string | job board position id |
| title | Yes | string | position title |
| publisher | Yes | string | publisher id |
| cities | Yes | array | position cities (less than 10) |
| requirement | Yes | string | position requirement |
| accountabilities | Yes | string | position description |
| process_id | Yes | integer | process id |
| candidate_source | No | integer | candidate source |
| employment_type | No | integer | employment type |
| not_office | No | integer | not office position |
| salary_top | No | integer | maximum salary (k) |
| salary_bottom | No | integer | minimum salary (k) |
| experience | No | string | work experience (year) |
| language | No | string | language requirement |
| count | No | integer | hire count (0:no limit) |
| ext | No | string | position extension |
| address_id | No | array | LBS |
| team_id | No | integer | team |
| job_custom_id | No | string | position custom field |
| features | No | array | position features |
| is_referral | No | integer | whether candidate is via referral or not (1: yes, 0: no) |
| degree | No | integer | degree requirement |
| top | No | boolean | top tag. return true if position with "top" tag, else return false |
| coordinator_id | No | string | coordinator HR id |
| custom_fields | position custom field information |
Candidate Source
| Code | Describe |
|---|---|
| 0 | Social Recruitment |
| 1 | Campus Recruitment |
Employment Type
| Code | Description |
|---|---|
| 0 | full-time |
| 1 | part-time |
| 2 | contractor |
| 3 | intern |
| 9 | other |
Degree Type
| Code | Describe |
|---|---|
| 0 | unlimited |
| 1 | junior college |
| 2 | Bachelor’s degree |
| 3 | Master’s degree |
| 4 | MBA |
| 5 | PhD |
| 6 | Technical secondary school |
| 7 | Senior high school |
| 8 | PhD or higher |
| 9 | Junior high school or lower |
Resuest
{
"job_number":"JOB_NUMBER_0514_1",
"title":"title",
"publisher":"82752",
"cities":[320500],
"requirement":"requirement",
"accountabilities":"accountabilities",
"process_id":1,
"candidate_source":0,
"employment_type":0,
"not_office":0,
"salary_top":100,
"salary_bottom":10,
"experience":"3",
"language":"english",
"count":1,
"ext":"ext",
"address_id":[1,2],
"team_id":188365542,
"job_custom_id":"47",
"features":[119,145],
"is_referral":"1",
"degree":1,
"top":true,
"coordinator_id":"111111,222222",
"custom_fields": [
{
"config_type": 1,
"value": "职位自定义字段下的选项"
},
{
"config_type": 2,
"value": "职位自定义字段二的选项"
},
{
"config_type": 3,
"value": "职位自定义字段三的选项"
}
]
}
Response
{
"code": 0,
"message": "",
"data": {
"id": 19557723,
"job_number": "JOB_NUMBER_0514_1",
"title": "title",
"team": {
"id": 188365542,
"name": "1"
},
"cities": [
{
"code": 320500,
"name": "苏州",
"level": 2,
"hot_city": true,
"ename": "Suzhou",
"is_using": true,
"cities": null
}
],
"publish_date": "2020-05-14 09:51:21",
"stop_date": null,
"accountability": null,
"experience": "3",
"experience_above": 0,
"requirement": "requirement",
"language": "english",
"update_time": "2020-05-14 09:51:21",
"business_group": "",
"employment_type": 0,
"hr_email": null,
"degree": 0,
"degree_above": 0,
"top":true,
"coordinator_name": "协助HR姓名1,协助HR姓名2",
"coordinator_id":"111111,222222",
"features": [
{
"id": 119,
"company_id": 39978,
"name": "feature1",
"create_time": "2018-03-06 21:04:10",
"update_time": "2019-10-14 17:32:11",
"status": "有效"
},
{
"id": 145,
"company_id": 39978,
"name": "feature2",
"create_time": "2018-03-06 21:04:12",
"update_time": "2019-10-28 15:59:21",
"status": "有效"
}
],
"email_notice": 0,
"candidate_source": 0,
"occupation": "",
"is_recom": 1,
"industry": "",
"district": "",
"count": 1,
"salary_top": 100,
"salary_bottom": 10,
"management_experience": 1,
"gender": 2,
"publisher": 82752,
"publisher_name": null,
"work_address": "",
"is_hiring": 0,
"underlings": 0,
"language_required": 0,
"target_industry": 0,
"is_referral": 1,
"ext_vo": {
"job_custom_id": 47,
"create_time": "1589421081000",
"update_time": "1589421081000",
"job_occupation_id": 0,
"pid": 19557723,
"extra": null,
"ext": "ext"
},
"custom_fields": [
{
"id": 123,
"config_type": 1,
"config_name": "职位自定义字段",
"value": "职位自定义字段下的选项"
},
{
"id": 124,
"config_type": 2,
"config_name": "职能自定义字段",
"value": "职位自定义字段二的选项"
},
{
"id": 125,
"config_type": 3,
"config_name": "职位自定义字段三",
"value": "职位自定义字段三的选项"
}
],
"addresses": [
{
"id": 1,
"address_name": "address_name",
"company_id": 39978,
"province": null,
"city": 320500,
"region": null,
"address": "address_t",
"department_id": 0,
"department_name": null,
"longitude": "116.3974510",
"latitude": "39.9091870",
"point": null
}
]
}
}
Update Position
Update the existing positions.
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/positions/{id}
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Path Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| id | Yes | number | position id |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| title | Yes | string | position title |
| publisher | Yes | string | publisher id |
| cities | Yes | array | position cities (less than 10) |
| requirement | Yes | string | position requirement |
| accountabilities | Yes | string | position description |
| candidate_source | No | integer | candidate source |
| employment_type | No | integer | employment type |
| not_office | No | integer | not office position |
| salary_top | No | integer | maximum salary (k) |
| salary_bottom | No | integer | minimum salary (k) |
| experience | No | string | work experience (year) |
| language | No | string | language requirement |
| count | No | integer | hire count (0:no limit) |
| ext | No | string | position extension |
| address_id | No | array | LBS |
| team_id | No | integer | team |
| job_custom_id | No | string | position custom field |
| features | No | array | position features |
| is_referral | No | integer | whether candidate is via referral or not (1: yes, 0: no) |
| degree | No | integer | degree requirement |
| top | No | boolean | top tag. return true if position with "top" tag, else return false |
| coordinator_id | No | string | coordinator HR id |
| custom_fields | position custom field information |
Request
{
"title":"title",
"requirement":"requirement",
"accountabilities":"accountabilities",
"experience":"3",
"language":"english",
"count":1,
"publisher":"82752",
"cities":[1,2,3],
"salary_top":100,
"salary_bottom":10,
"candidate_source":0,
"employment_type":0,
"not_office":0,
"process_id":1,
"ext":"ext3",
"address_id":[1,2,3],
"team_id":188365542,
"job_custom_id":"2",
"features":[119,145],
"is_referral":"1",
"degree":2,
"top":true,
"coordinator_id":"122232",
"custom_fields": [
{
"config_type": 1,
"value": "职位自定义字段下的选项"
},
{
"config_type": 2,
"value": "职位自定义字段二的选项"
},
{
"config_type": 3,
"value": "职位自定义字段三的选项"
}
]
}
Response
{
"code": 0,
"message": "",
"data": {
"id": 19551603,
"job_number": "JOB20200402_5",
"title": "title",
"team": {
"id": 188365533,
"name": "万达集团"
},
"cities": [
{
"code": 320500,
"name": "苏州",
"level": 2,
"hot_city": true,
"ename": "Suzhou",
"is_using": true,
"cities": null
}
],
"publish_date": "2020-04-02 12:04:21",
"stop_date": null,
"accountability": null,
"experience": "3",
"experience_above": 0,
"requirement": "requirement",
"language": "english",
"update_time": "2020-04-02 13:21:42",
"business_group": "",
"employment_type": 0,
"hr_email": null,
"degree": 0,
"degree_above": 0,
"features": [
{
"id": 119,
"company_id": 39978,
"name": "feature1",
"create_time": "2018-03-06 21:04:10",
"update_time": "2019-10-14 17:32:11",
"status": "有效"
},
{
"id": 145,
"company_id": 39978,
"name": "feature2",
"create_time": "2018-03-06 21:04:12",
"update_time": "2019-10-28 15:59:21",
"status": "有效"
}
],
"email_notice": 0,
"candidate_source": 0,
"occupation": "",
"is_recom": 1,
"industry": "",
"district": "",
"count": 1,
"salary_top": 100,
"salary_bottom": 10,
"management_experience": 1,
"gender": 2,
"publisher": 82752,
"publisher_name": null,
"work_address": "",
"is_hiring": 0,
"underlings": 0,
"language_required": 0,
"target_industry": 0,
"is_referral": 1,
"top":true,
"coordinator_name": "协助HR姓名",
"coordinator_id":"1000211",
"ext_vo": {
"job_custom_id": 0,
"create_time": "1585800261000",
"update_time": "1585800261000",
"job_occupation_id": 0,
"pid": 19551603,
"extra": null,
"ext": "ext3"
},
"addresses": [
{
"id": 1,
"address_name": "address_name",
"company_id": 39978,
"province": null,
"city": 320500,
"region": null,
"address": "address",
"department_id": 0,
"department_name": null,
"longitude": "116.3974510",
"latitude": "39.9091870",
"point": null
}
]
}
}
Update Position Status
Acitvate or In-activate the position.
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/positions/{id}/status
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| hr_id | Yes | string | publisher id |
| status | Yes | integer | position status |
职位状态
| Code | Description |
|---|---|
| 0 | active |
| 2 | inactive |
Response data
| Key | Describe |
|---|---|
| amount | updated position amounts |
Request
{
"hr_id": "82752",
"status": 2
}
Response
{
"code": 0,
"message": 1,
"data": {
"amount": 1
}
}
Get Position Custom List
Get all the positions custom for current company.
Get Position Custom
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/positions/custom
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | custom id |
| status | custom ststus |
| name | custom name |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 47,
"status": "valid",
"name": "Corporate Functions & Other"
},
{
"id": 52,
"status": "valid",
"name": "Customer Support"
}
]
}
Get Position Feature List
Get all the positions features for current company.
Get Position Features
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/positions/feature
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | feature id |
| company_id | company id |
| name | feature name |
| create_time | feature create time |
| update_time | feature update time |
| status | feature status |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 119,
"company_id": 39978,
"name": "feature1",
"create_time": "2018-03-06 21:04:10",
"update_time": "2019-10-14 17:32:11",
"status": "有效"
},
{
"id": 145,
"company_id": 39978,
"name": "feature2",
"create_time": "2018-03-06 21:04:12",
"update_time": "2019-10-28 15:59:21",
"status": "有效"
}
]
}
Get Position Publisher List
Get all the positions publisher for current company.
Get Position Publisher
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/accounts
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | publisher id |
| company_id | company id |
| mobile | publisher mobile |
| publisher email | |
| user_name | publisher name |
| create_time | publisher create time |
| update_time | publisher update time |
| status | publisher status |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 82752,
"mobile": "15000000000",
"email": "publisher1@moseeker.com",
"user_name": "publisher1",
"create_time": "2016-07-20 14:31:05",
"update_time": "2020-05-13 15:21:37",
"status": "有效"
},
{
"id": 82780,
"mobile": "13111111111",
"email": "publisher20@dqprism.com",
"user_name": "publisher2",
"create_time": "2016-08-01 15:17:19",
"update_time": "2020-04-16 13:36:09",
"status": "有效"
}
]
}
link positions to application form
link positions to application form
link positions to application form
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/positions/application-form
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| from_id | Yes | string | form id |
| position_ids | Yes | array | position id list, eg. [1,2,3,4,5]. |
Request
{
"form_id": "gQ",
"position_ids": [
2288317
]
}
Response
{
"code": 0,
"message": "",
"data": {}
}
Application
Get Applications
This interface is used to get applications in MoSeeker.
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/applications
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Query Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| ats_status | No | string | application status |
| stage_id | No | integer | stage id |
| page_num | No | integer | page number |
| page_size | No | integer | page size |
| start_time | No | string | application start time('%Y-%m-%d %H:%M:%S') |
| end_time | No | string | application end time('%Y-%m-%d %H:%M:%S') |
Application Status
| Code | Describe |
|---|---|
| 1 | synchronization failed |
| 3 | synchronization success |
Response data
| Key | Describe |
|---|---|
| id | application id |
| position_id | position id |
| process_id | process id |
| stage_id | stage id |
| name | candidate name |
| gender_name | gender |
| head_img | headshot photo |
| city_code | city code |
| nationality_name | nationality |
| current_job | current job |
| city_name | city |
| constellation | constellation |
| country_code | country code |
| email address | |
| QQ id | |
| mobile | mobile number |
| birth | birth date |
| self_introduction | self introduction |
| motto | motto |
| source_name | application source |
| languages | languages |
| > level | language certification level |
| > name | language certification name |
| credentials | credentials |
| > score | credential score |
| > organization | organization of credential |
| > name | credential description |
| educations | educations |
| > start_date | start date |
| > end_date | end date |
| > end_until_now | education in progress |
| > degree_name | degree |
| > college_name | college name |
| > country_name | coutry name of college |
| > major_name | major |
| > description | description of major |
| workexps | work experience |
| > start_date | start date |
| > end_date | end date |
| > end_until_now | work in progress |
| > company_scale_name | company scale |
| > department_name | department name |
| > job | job name |
| > position_code | position code |
| > position_name | position name |
| > achievement | achievement |
| > company_name | company name |
| > description | description |
| awards | awards |
| skills | skills |
| > name | skill name |
| > level | skill level |
| projectexps | project experience |
| > start_date | start date |
| > end_date | end date |
| > end_until_now | project in progress |
| > name | project name |
| > role | role in project |
| > company_name | company name |
| > achievement | achievement in project |
| > responsibility | responsibility in project |
| > description | project description |
| intentions | intentions |
| > work_state_name | work state |
| > salary_code_name | expect salary |
| > consider_venture_company_opportunities | whether consider venture company opportunities |
| > work_type_name | work type |
| > cities | work cities |
| > > city_name | city name |
| > > city_code | city code |
| > positions | expect positions |
| > > position_code | position code |
| > > position_name | position name |
| > industries | industries |
| > > industry_name | industry name |
| > > industry_code | industry code |
| referral | referral |
| > name | referral's name |
| > mobile | referral's mobile |
| referral's email | |
| > ext | referral's other infomation. If HR record the employee number into the system for "Employee Certification", "ext" will be the "Employee Number" |
Response
{
"code": 0,
"message": "",
"data": {
"total": 7,
"page": 2,
"data": [
{
"id": 2698479,
"position_id": 19530149,
"process_id": 0,
"stage_id": 0,
"name": "name",
"gender_name": "man",
"head_img": "https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJ7qCurHcjRLmomBNLVSs43XlRxM9mXciaribEIhGoBxumyeh014zaOicBOraAcoJV3pFkMyBCt8ZcWg/132",
"city_code": 310000,
"nationality_name": "China",
"current_job": "software testing engineer",
"city_name": "Shanghai",
"constellation": "Taurus",
"country_code": "86",
"email": "123@qq.com",
"qq": "",
"mobile": "15998601386",
"birth": "1994-05-01",
"self_introduction": "***",
"motto": "",
"source_name": null,
"languages": [
{
"level": 2,
"name": "English"
}
],
"credentials": [
{
"score": "",
"organization": "",
"name": "CET"
}
],
"educations": [
{
"start_date": "2018-01-01",
"end_date": null,
"end_until_now": 1,
"degree_name": "Technical secondary school",
"college_name": "Can Tho University",
"country_name": "Socialist Republic of Vietnam",
"major_name": "Applied psychology",
"description": ""
}
],
"workexps": [
{
"start_date": "2015-07-01",
"end_date": "2019-09-09",
"end_until_now": 1,
"company_scale_name": "company_scale_name",
"department_name": "111",
"job": "software testing engineer",
"position_code": 0,
"position_name": "",
"achievement": "",
"company_name": "ISoftStone Information Technology (Group) Co., Ltd.",
"description": "Ensure the quality of development software, test process control, write test cases, and track bugs"
}
],
"awards": [],
"skills": [
{
"name": "python",
"level": 1
}
],
"projectexps": [
{
"start_date": "2015-09-01",
"end_date": "2017-02-01",
"end_until_now": 0,
"name": "APP test",
"role": "",
"company_name": "",
"achievement": "",
"responsibility": "",
"description": "Project description: \nTest project process review, iterative project quality control, evaluation test time, test case rationality, etc. \n \nProject responsibilities: \nfd"
}
],
"intentions": [
{
"work_state_name": "",
"salary_code_name": "25k",
"consider_venture_company_opportunities": "",
"work_type_name": "part time",
"cities": [
{
"city_name": "Shanghai",
"city_code": 310000
}
],
"positions": [
{
"position_code": 180300,
"position_name": "Project management / project coordination"
}
],
"industries": [
{
"industry_name": "Internet / electric business operations",
"industry_code": 0
}
]
}
],
"referral": {
"name": "name",
"mobile": "15000869284",
"email": "247334622@qq.com",
"ext": "ER0001"
}
}
],
"page_size": 1
}
}
Get Application Attachment
This interface is used to get one application attachment.
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/applications/{id}/attachment
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Path Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| id | Yes | number | application id |
Response data
| Key | Describe |
|---|---|
| type | type |
| content | resume (base64) |
| profile_content | When the original resume is null, please take the standard resume attachment(base64) |
| profile_type | corresponding document type of profileContent(support pdf,docx) |
| profile_name | corresponding document name of profileContent |
Response
{
"code": 0,
"message": "",
"data": {
"type": "pdf",
"content": "****",
"profile_content": "****",
"profile_type": "pdf",
"profile_name": "test.pdf"
}
}
Update Application Status
This interface is used to update application status in MoSeeker. You can only update the status to 3 (i.e. update it to success) now.
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/applications/{id}/status
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Path Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| id | Yes | number | application id |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| ats_status | Yes | string | update status (3: update succssful) |
Response data
| Key | Describe |
|---|---|
| amount | amount of successfully updated applications |
Request
{
"ats_status": 3
}
Response
{
"code": 0,
"message": "",
"data": {
"amount": 1
}
}
Update Application Process
This interface is used to update application process in MoSeeker.
Archiving, elimination, on board need to call other interface "pigeonhole".
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/applications/{id}/process
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Path Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| id | Yes | number | application id |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| hr_id | Yes | integer | HR id |
| stage_id | Yes | integer | stage id |
Response data
| Key | Describe |
|---|---|
| amount | amount of successfully updated processes. |
Request
{
"hr_id": "82752",
"stage_id": 13
}
Response
{
"code": 0,
"message": "",
"data": {
"amount": 1
}
}
Get Application CV
This interface is used to get application CV in MoSeeker.
- Method: GET
- Host: https://openapi.moseeker.com/v1
- Path: /applications/cv
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | Token |
Query Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| page_num | No | integer | page number |
| page_size | No | integer | count |
| stage_id | No | integer | stage ID |
| start_time | No | string | application start time('%Y-%m-%d %H:%M:%S') |
| end_time | No | string | application end time('%Y-%m-%d %H:%M:%S') |
Response data
| Key | Describe |
|---|---|
| id | application id |
| candidate_profile_id | candidate profile id |
| candidate_source | candidate source from |
| company_id_id | company id |
| job_number | third position id |
| l_application_id | ATS application ID |
| origin | application source from |
| position_id | position ID |
| profile_id | profile ID |
| stage_id | stage ID |
| submit_time | submit time |
| user_id | user ID |
| awards | awards |
| > name | award name |
| > time | award time |
| basic | |
| > credentials_number | credential number |
| > credentials_type | credential type |
| >> code | credential code |
| >> name | credential name |
| > nationality | nationality |
| >> code | country code |
| >> name | country name |
| > recent_company | recent company |
| > recent_work | recent work |
| > salary | recent salary |
| > self_description | self description |
| > certificates | certificates |
| >> code | certificate number |
| >> get_date | get date |
| >> name | certificate name |
| >> organization | organization |
| >> score | score |
| >> url | url |
| educations | educations |
| > college | college |
| >> code | college code |
| >> name | college name |
| > degree | degree |
| > description | description |
| > start_time | start time |
| > end_time | end time |
| > end_until_now | until now |
| > gpa | GPA |
| > major | major |
| intention | intentions |
| > cities | expected working city |
| >> name | city name |
| >> code | city code |
| > expected_salary | expected salary |
| > industries | expected industries |
| >> name | industry name |
| >> code | industry code |
| > positions | expected positions |
| >> name | position name |
| >> code | position code |
| > work_state | work state |
| >> name | state name |
| >> code | state code |
| > work_type | work type |
| >> name | type name |
| >> code | type code |
| languages | languages |
| > level | language level |
| > name | language description |
| overview | overview |
| > age | age |
| > area_code | area code |
| > birth | birthday |
| > city | current city |
| >> name | city name |
| >> code | city code |
| > country_code | country code |
| > degree | top degree |
| > gender | gender |
| >> code | gender code |
| >> name | gender name |
| > mobile | phone number |
| > name | name |
| > wechat_avatar | wechat avatar |
| > work_years | years of work |
| project_experiences | project experience |
| > start_time | start time |
| > end_time | end time |
| > end_until_now | until now |
| > name | project name |
| > role | role |
| > company | company name |
| > responsibility | responsibility |
| > description | project description |
| skills | skills |
| > name | skill name |
| > level | skill level |
| work_experiences | work experience |
| > start_time | start time |
| > end_time | end time |
| > end_until_now | until noe |
| > department | department |
| > job | job content |
| > company | company |
| > description | job description |
| works | personal works |
| > cover | work cover |
| > url | work url |
| > description | work description |
| referral | referral |
| > name | referral's name |
| > mobile | referral's mobile |
| referral's email | |
| > ext | referral's other infomation. If HR record the employee number into the system for "Employee Certification", "ext" will be the "Employee Number" |
| form_group | custom fields |
| > group_id | group_id |
| > group_title_zh | module Chinese name |
| > group_title_en | module English name |
| > form_field_lists | custom fields under module |
| >> form_field_vo | custom fields under module |
| >>> field_id | field id |
| >>> field_title_zh | field Chinese name |
| >>> field_title_en | field English name |
| >>> string_value | value |
| >>> string_value_enum | enum value |
| >>>> name | enum name |
| >>>> code | enum code |
| >>> multi_value | multiple selection value |
| >>> multi_value_enum | multiple selection enum value |
| >>> time_value | time value |
| >>>> start_time | start time |
| >>>> end_time | end time |
| >>>> end_until_now | up to now |
Response
{
"code": 0,
"message": "",
"data": {
"total": 5236,
"page": 1,
"data": [
{
"id": 0,
"candidate_profile_id": "12",
"candidate_source": "51",
"company_id": 0,
"job_number": "R1207",
"l_application_id": 0,
"origin": 0,
"position_id": 0,
"profile_id": 0,
"stage_id": 0,
"submit_time": "2020-09-16 08:23:38",
"user_id": 0,
"awards": [
{
"name": "CET 4",
"time": "2020-09-16"
}
],
"basic": {
"credentials_number": "32154252641642132",
"credentials_type": {
"code": "1",
"name": "ID card"
},
"nationality": {
"code": "86",
"name": "china"
},
"recent_company": "daqi technology",
"recentWork": "soft engineer",
"salary": "15000",
"self_description": "cheerful"
},
"certificates": [
{
"code": "21563366",
"get_date": "2020-09-16 08:23:38",
"name": "Blue Bridge Cup National Second Prize",
"organization": "Blue Bridge Cup",
"score": "99",
"url": ""
}
],
"educations": [
{
"college": {
"code": "66",
"name": "Nanjing University of Aeronautics and Astronautics(NUAA)"
},
"degree": {
"code": "1",
"name": "master's degree"
},
"description": "one",
"end_time": "2020-06-15",
"end_until_now": 0,
"gpa": 0,
"major": {
"code": "1",
"name": "software engineering"
},
"start_time": "2013-09-13"
}
],
"intention": {
"cities": [
{
"code": "65",
"name": "Shanghai"
}
],
"expected_salary": "20000",
"industries": [
{
"code": "22",
"name": "internet"
}
],
"positions": [
{
"code": "45",
"name": "software"
}
],
"work_state": {
"code": "22",
"name": "on the job"
},
"work_type": {
"code": "22",
"name": "full time"
}
},
"languages": [
{
"level": "1",
"name": "english"
}
],
"overview": {
"age": 0,
"area_code": "string",
"birth": "string",
"city": {
"code": "22",
"name": "Shanghai"
},
"country_code": "86",
"degree": 1,
"email": "123@123.com",
"gender": {
"code": 1,
"name": "female"
},
"mobile": "15266699978",
"name": "Lily",
"qq": "123456789",
"wechat": "121212",
"wechat_avatar": "",
"work_years": 1
},
"project_experiences": [
{
"company": "daqi",
"description": "Manufacturing Saas",
"end_time": "2012-02-12",
"end_until_now": 0,
"name": "Manufacturing Saas System",
"responsability": "Business development",
"role": "master",
"start_time": "2019-02-12"
}
],
"skills": [
{
"level": 0,
"name": "Linux"
}
],
"work_experiences": [
{
"company": "dqi",
"department": "engineering",
"description": "Business development",
"end_time": "2020-03-15",
"end_until_now": 0,
"job": "software engineer",
"start_time": "2019-02-12"
}
],
"works": [
{
"cover": "no",
"description": "no",
"url": "no"
}
],
"referral": {
"name": "name",
"mobile": "15000869284",
"email": "247334622@qq.com",
"ext": "ER0001"
},
"form_group": [
{
"group_id": 2,
"group_title_en": "Basic",
"group_title_zh": "基本信息",
"form_field_lists": [
{
"form_field_vo": [
{
"field_id": 550,
"field_title_en": null,
"field_title_zh": "测试多选2",
"string_value": null,
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": ["152900", "310000"],
"multi_value_enum": [
{
"code": "152900",
"name": "阿拉善盟"
},
{
"code": "310000",
"name": "上海"
}
],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
}
]
}
]
},
{
"group_id": 4,
"group_title_en": "Project Experience",
"group_title_zh": "项目经历",
"form_field_lists": [
{
"form_field_vo": []
}
]
},
{
"group_id": 7,
"group_title_en": "Skill",
"group_title_zh": "技能",
"form_field_lists": [
{
"form_field_vo": []
}
]
},
{
"group_id": 9,
"group_title_en": "Certificate",
"group_title_zh": "证书",
"form_field_lists": [
{
"form_field_vo": []
}
]
},
{
"group_id": 11,
"group_title_en": "Score",
"group_title_zh": "考试成绩",
"form_field_lists": [
{
"form_field_vo": [
{
"field_id": 75,
"field_title_en": "CET 6 Score",
"field_title_zh": "大学英语六级成绩",
"string_value": "520",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 593,
"field_title_en": null,
"field_title_zh": "考试成绩模块(自定义模块)图片01",
"string_value": "file://appform/headimg/202206/7b221589187046908bffac97c2ada6a6_9333614E-D622-4DC6-8F78-BFBCB2EF7C02.jpeg?belong=fNyVexxxxe",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
}
]
}
]
},
{
"group_id": 14,
"group_title_en": "Others",
"group_title_zh": "其他",
"form_field_lists": [
{
"form_field_vo": [
{
"field_id": 106,
"field_title_en": "Latest Position",
"field_title_zh": "最近职位",
"string_value": "java开发",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 107,
"field_title_en": "Current Industry",
"field_title_zh": "当前行业",
"string_value": "1101",
"string_value_enum": {
"code": "1101",
"name": "计算机软件"
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 105,
"field_title_en": "Are you staying on the job",
"field_title_zh": "目前是否在职",
"string_value": "1",
"string_value_enum": {
"code": "1",
"name": "是"
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 104,
"field_title_en": "Latest Company/Brand",
"field_title_zh": "最近工作的公司/品牌",
"string_value": "阿里巴巴",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 100,
"field_title_en": "Current Annual Salary",
"field_title_zh": "当前年薪",
"string_value": "1",
"string_value_enum": {
"code": "1",
"name": "6万以下"
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
}
]
}
]
},
{
"group_id": 164,
"group_title_en": null,
"group_title_zh": "ZZ自定义",
"form_field_lists": [
{
"form_field_vo": [
{
"field_id": 648,
"field_title_en": null,
"field_title_zh": "单行文本1",
"string_value": "黄金卷",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 649,
"field_title_en": null,
"field_title_zh": "多行文本1",
"string_value": "京津冀",
"string_value_enum": {
"code": null,
"name": null
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
},
{
"field_id": 650,
"field_title_en": null,
"field_title_zh": "单选字段",
"string_value": "2",
"string_value_enum": {
"code": "2",
"name": "1"
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
}
]
}
]
},
{
"group_id": 167,
"group_title_en": null,
"group_title_zh": "测试模块新增沙盒",
"form_field_lists": [
{
"form_field_vo": [
{
"field_id": 653,
"field_title_en": null,
"field_title_zh": "测试",
"string_value": "1",
"string_value_enum": {
"code": "1",
"name": "12345"
},
"multi_value": [],
"multi_value_enum": [],
"time_value": {
"start_time": null,
"end_time": null,
"end_until_now": null
}
}
]
}
]
}
]
}
],
"page_size": 10
}
}
pigeonhole
pigeonhole
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/applications/pigeonhole
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| candidate_ids | Yes | array[integer] | application id array |
| hr_id | Yes | integer | HR's ID |
| type | Yes | integer | operation type |
| description | Yes | string | operation introductions |
operation type
| Code | Describe |
|---|---|
| 1 | on board |
| 2 | declined the job |
| 3 | candidate eliminated |
Response data
| Key | Describe |
|---|---|
Request
{
"candidate_ids": [3836230],
"hr_id": 82752,
"type": 1,
"description": "说明"
}
Response
{
"code": 0,
"message": "",
"data": {}
}
Upload Evaluation Results
This interface is used to upload evaluation/assessment results for an application.
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/application/evaluate
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Query Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| application_id | Yes | integer | application id |
| project_name | Yes | string | evaluation project name |
| score | No | integer | evaluation score |
| remarks | No | integer | description |
| file_name | No | string | file name |
| file_base64 | No | string | file base64 data, used together with file_name (optional). Only pdf and doc are supported |
| file_download_url | No | string | file download URL. Choose either file_base64 or file_download_url |
Response data
Response
{
"code": 0,
"message": "success",
"data": {}
}
Upload Comment Results
This interface is used to upload talent comment/review results for an application.
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/application/comment
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| application_id | Yes | integer | application id |
| content | Yes | string | comment content |
| hr_id | No | integer | HR id. Defaults to the company super admin account if not provided |
Request
{
"application_id": 4073653,
"content": "comment content",
"hr_id": 83857
}
Response
{
"code": 0,
"message": "",
"data": true
}
Application Form
Get Application Forms
Obtain all application forms under the company
Get Application Forms
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/application-forms
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Query Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| page_num | No | integer | page number |
| page_size | No | integer | page size |
Response data
| Key | Describe |
|---|---|
| id | id |
| title | chinese name |
| title_en | english name |
| description | chinese description |
| description_en | english description |
Response
{
"code": 0,
"message": "",
"data": {
"total": 1,
"page": 1,
"data": [
{
"id": "id",
"title": "chinese title",
"title_en": "english title",
"description": "chinese description",
"description_en": "english description"
}
],
"page_size": 10
}
}
Process
Get Process
This interface is used to get all processes for current company. Every position should be assigned to a process in order to distinguish different stages during application process.
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/processes
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | process id |
| name | process name |
| description | process description |
| position_num | position number |
| stage_num | stage number |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 1,
"name": "process name",
"description": "description",
"position_num": 10,
"stage_num": 5
}
]
}
Get Process Stages
This interface is used to obtain the stage information under the corresponding process.
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/processes/{id}/stages
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Path Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| id | Yes | number | process id |
Response data
| Key | Describe |
|---|---|
| id | stage id |
| name | stage name |
| order | stage order |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 225,
"name": "Preliminary screening",
"order": 1
},
{
"id": 267,
"name": "Initial",
"order": 2
}
]
}
Address
Get LBS
A location-based service (LBS) is a general term denoting software services which utilize geographic data and information to provide services or information to users. LBS can be used in a variety of contexts, such as health, indoor object search, entertainment, work, personal life, etc.
Get all the positions LBS for current company. LBS is the specific address display of the MoSeeker job details page to implement map navigation of the address.
Get LBS Address
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/lbs
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | address id |
| address_name | address name |
| province | address province |
| city | address city |
| region | address region |
| address | address detail |
| longitude | longitude |
| latitude | latitude |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 1,
"address_name": "address_name",
"province": 320000,
"city": 320200,
"region": 320203,
"address": "address1",
"longitude": "117.0663820",
"latitude": "36.6880690"
},
{
"id": 2,
"address_name": "address_name2",
"province": 650000,
"city": 650100,
"region": 650103,
"address": "Wuhan",
"longitude": "121.0000000",
"latitude": "31.0000000"
}
]
}
Create LBS
Create a new LBS.
Create LBS Address
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/lbs
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| address | Yes | string | address detail |
| address_name | Yes | string | address name |
| city | Yes | integer | address city |
| latitude | No | float | latitude |
| longitude | No | float | longitude |
Request
{
"address": "address",
"address_name": "address_name",
"city": 320500,
"latitude": 39.9091870,
"longitude": 116.3974510
}
Response
{
"code": 0,
"message": "",
"data": 1
}
Update LBS
Update LBS by id.
Update LBS Address
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/lbs/{id}
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| address | Yes | string | address detail |
| address_name | Yes | string | address name |
| city | Yes | integer | address city |
| latitude | Yes | float | latitude |
| longitude | Yes | float | longitude |
Request
{
"address": "address",
"address_name": "address_name",
"city": 320500,
"latitude": 39.9091870,
"longitude": 116.3974510
}
Response
{
"code": 0,
"message": "",
"data": 1
}
Team
Get Team
Get all the team for current company.
Get Team
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/teams
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | team id |
| name | team name |
| description | team description |
Response
{
"code":0,
"message":"",
"data":[
{
"id":188365529,
"name":"Healthcare",
"description":""
},
{
"id":188365530,
"name":"Office of General Counsel",
"description":"111"
}
]
}
Get Nested Team
Get all the team for current company's hr with nested structures.
Get Organizational Tree
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/teams/tree
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | 令牌 |
| hr_id | Yes | int | hr id |
Response data
| Key | Describe |
|---|---|
| id | team id |
| name | name |
| parent_id | parent id |
| type | type |
| type_label | type label |
| children | sub teams |
Response
{
"code": 0,
"message": "",
"data": [
{
"children": [
{
"children": [],
"company_id": 39978,
"name": "accountant",
"parent_id": 188373785,
"id": 188373773,
"type": 2,
"type_label": "department"
}
],
"company_id": 39978,
"name": "Finance",
"parent_id": 0,
"id": 188373785,
"type": 2,
"type_label": "org"
}
]
}
Accounts
Get HR Account
Get all the HR account for current company.
Get HR Account
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/accounts
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response data
| Key | Describe |
|---|---|
| id | publisher id |
| company_id | company id |
| mobile | publisher mobile |
| publisher email | |
| user_name | publisher name |
| create_time | publisher create time |
| update_time | publisher update time |
| status | publisher status |
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 82752,
"mobile": "15000000000",
"email": "publisher1@moseeker.com",
"user_name": "publisher1",
"create_time": "2016-07-20 14:31:05",
"update_time": "2020-05-13 15:21:37",
"status": "有效"
},
{
"id": 82780,
"mobile": "13111111111",
"email": "publisher20@dqprism.com",
"user_name": "publisher2",
"create_time": "2016-08-01 15:17:19",
"update_time": "2020-04-16 13:36:09",
"status": "有效"
}
]
}
Create Account
Create a new Account
Create HR Account
- Method:POST
- Host:https://openapi.moseeker.com/v1
- Path:/account
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| role_type | Yes | integer | Role type 1: Super administrator 2: Administrator 3: HR 4: Senior employment manager 5: Employment manager 6: Interviewer |
| user_name | Yes | string | user name |
| mobile | Yes | string | mobile |
| Yes | string | ||
| deparment_name | No | string | Organization name,When the role type is Administrator or HR, deparment_name cannot be set |
| managed_department_name | No | string | Responsible for the name of the organization.When the role type is Administrator or HR, the managed_department_name must be set. When the role type is senior employing manager, employing manager, interviewer, the managed_department_name cannot be set.Multiple names are separated by comma |
| job_number | No | string | job number |
Request
{
"role_type": 4,
"user_name": "高级用人经理1",
"mobile": "15000000000",
"email": "15000000000@moseeker.com",
"deparment_name": "组织名称1",
"managed_department_name": "组织名称1",
"job_number": "123456"
}
Response data
| Key | Describe |
|---|---|
| code | Response code, 0 means success |
| message | Response message |
| data | Response data |
Response
{
"code": 0,
"message": "",
"data": true
}
Update Account
Update HR Account
Update HR Account
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/account
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| role_type | Yes | integer | Role type 1: Super administrator 2: Administrator 3: HR 4: Senior employment manager 5: Employment manager 6: Interviewer |
| user_name | Yes | string | user name |
| mobile | Yes | string | mobile |
| Yes | string | ||
| deparment_name | No | string | Organization name,When the role type is Administrator or HR, deparment_name cannot be set |
| managed_department_name | No | string | Responsible for the name of the organization.When the role type is Administrator or HR, the managed_department_name must be set. When the role type is senior employing manager, employing manager, interviewer, the managed_department_name cannot be set.Multiple names are separated by comma |
| job_number | No | string | job number |
| update_type | Yes | integer | 0:update by mobile 1:update by job number |
Request
{
"role_type": 4,
"user_name": "高级用人经理1",
"mobile": "15000000000",
"email": "15000000000@moseeker.com",
"deparment_name": "组织名称1",
"managed_department_name": "组织名称1",
"job_number": "123456",
"update_type":0
}
Response data
| Key | Describe |
|---|---|
| code | Response code, 0 means success |
| message | Response message |
| data | Response data |
Response
{
"code": 0,
"message": "",
"data": true
}
Disable Account
Disable HR account, fill in at least one of mobile and job number.
Disable HR Account
- Method:PUT
- Host:https://openapi.moseeker.com/v1
- Path:/account/disable
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| mobile | Yes | string | mobile |
| job_number | No | string | job number |
| update_type | Yes | integer | 0:update by mobile 1:update by job number |
Request
{
"mobile": "15000000000",
"job_number": "",
"update_type":0
}
Response data
| Key | Describe |
|---|---|
| code | Response code, 0 means success |
| message | Response message |
| data | Response data |
Response
{
"code": 0,
"message": "",
"data": true
}
Get Account By Role
Get account by role
Get HR Account by role
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/account/roletype
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | 令牌 |
Body Parameters
| Key | Required | Type | Description |
|---|---|---|---|
| role_type | Yes | string | Multiple roles are separated by commas. Role type 1: Super administrator 2: Administrator 3: HR 4: Senior employment manager 5: Employment manager 6: Interviewer |
Response data
| Key | Describe |
|---|---|
| code | Response code, 0 means success |
| message | Response message |
| data | Response data.Group by role, each group is all accounts under that role |
Response
{
"code": 0,
"message": "",
"data": {
"3": [{
"user_name": "HR",
"mobile": "15000000001",
"email": "15000000001@moseeker.com",
"deparment_name": "组织名称3",
"managed_department_name": "组织名称3",
"job_number": "123459"
}],
"4": [{
"user_name": "高级用人经理1",
"mobile": "15000000003",
"email": "15000000003@moseeker.com",
"deparment_name": "组织名称1",
"managed_department_name": "组织名称1",
"job_number": "123456"
}, {
"user_name": "高级用人经理2",
"mobile": "15000000000",
"email": "15000000000@moseeker.com",
"deparment_name": "组织名称2",
"managed_department_name": "组织名称2",
"job_number": "123457"
}]
}
}
Dictionary
City
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/dictionaries/cities
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response
{
"code":0,
"message":"",
"data":{
"city_data":[
{
"code":320000,
"name":"江苏省",
"level":1,
"hot_city":false,
"ename":"Jiangsusheng",
"is_using":false,
"cities":[]
}
],
"hot_city":[
{
"code":110000,
"name":"北京",
"level":1,
"hot_city":true,
"ename":"Beijing",
"is_using":true,
"cities":null
}
]
}
}
Official Accounts access_token
Please provide the caller's IP address, MoSeeker needs to configure it into the whitelist
- Method:GET
- Host:https://openapi.moseeker.com/v1
- Path:/wechat/access_token
Headers
| Key | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | token |
Response
{
"code": 0,
"message": "",
"data": {
"access_token": "*****"
}
}
Recruitment Channels
MoSeeker provides interfaces to publish job data to various recruitment channels, such as 51job, Liepin, Shixiseng, Veryeast, etc.
| Channel Name | Channel Code |
|---|---|
| 0 | |
| 51job | 1 |
| Liepin | 2 |
| Veryeast | 6 |
| Shixiseng | 14 |
Integration Steps
- Step 1: Create a MoSeeker position
- Step 2: Get position channel accounts
- Step 3: Get channel field dropdown list
- Step 4: Publish position to channel
- Step 5: View publication records
- Step 6: Remove position from channel
Before Publishing to Channels
Create a MoSeeker Position
Please create a position first. For details, refer to the Position >> Create Position section;
And fill the application position ID from your internal system (e.g., Workday JobReqID) into the job_number field of the Create Position API;
Save the ID returned by the API. This ID will be used as the position_id in the request path of subsequent API calls;
For example, record a mapping table:
| Workday JobReq ID | MoSeeker Position ID |
|---|---|
| R-1283 | 30193 |
Channel Account List
The publisher of a MoSeeker position can be assigned multiple channel accounts. To publish a position to a recruitment channel, use the account assigned to that channel.
Please bind and assign channel accounts to the publisher of the position in the MoSeeker backend, and use this API to get the recruitment channel accounts assigned to the position publisher.
- Method: GET
- Path: /api/partner/v1/job/account/{position_id}
Response
{
"code": 0,
"message": "",
"data": [
{
"id": 82752,
"channel": 0,
"username": "Lucy"
},
{
"id": 2100,
"channel": 1,
"username": "tech"
},
{
"id": 2739,
"channel": 2,
"username": "xxx"
},
{
"id": 2738,
"channel": 6,
"username": "demo"
},
{
"id": 2742,
"channel": 14,
"username": "mk@moseeker.com"
}
]
}
Channel Enumeration List
The dropdown options of each channel's fields are different;
You need to do mapping processing, or have the publishing page display the dropdown options for the publisher to choose freely;
Because each channel has many occupations and 51job has many cities, they are provided through separate APIs;
Other fields, due to the small amount of data, are provided together in the dropdown API.
Channel - WeChat
Publish Position to Channel
- Method: POST
- Path /api/partner/v1/job/pub/{position_id}
Payload
{
"channel": 0 // Only this one channel = 0 is enough, which means enabling the "WeChat & Portal" channel of the MoSeeker position
}
Response
{
"code": 0,
"message": "success",
"data": [
{
"channel": 0,
"status": 1,
"title": "软件工程师",
"position_id": "20489853",
"error": "",
"create_time": ""
}
]
}
Channel - 51job
Occupation List
- Method: GET
- Path: /api/partner/v1/job/occupation/1/{position_id}
Response
{
"code": 0,
"message": "success",
"data": [
{
"id": "0100",
"name": "后端开发",
"children": [
{
"id": "0120",
"name": "PHP"
},
{
"id": "0121",
"name": "java"
}
]
}
]
}
City List
- Method: GET
- Path: /api/partner/v1/job/city/1/{position_id}
Response
{
"code": 0,
"message": "success",
"data": [
{
"id": "010000",
"name": "北京"
},
{
"id": "010100",
"name": "北京-东城区"
},
{
"id": "010200",
"name": "北京-西城区"
},
{
"id": "010500",
"name": "北京-朝阳区"
}
]
}
Dropdown List
- Method: GET
- Path: /api/partner/v1/job/dropdown/1/{position_id}
Response
{
"code": 0,
"message": "success",
"data": {
"workyear": [
{
"id": "1",
"name": "在校生/应届生"
},
{
"id": "10",
"name": "无需经验"
},
{
"id": "3",
"name": "1年"
},
{
"id": "4",
"name": "2年"
},
{
"id": "5",
"name": "3-4年"
},
{
"id": "6",
"name": "5-7年"
},
{
"id": "7",
"name": "8-9年"
},
{
"id": "8",
"name": "10年以上"
}
],
"salary": [
{
"id": "01",
"name": "1500以下"
},
{
"id": "02",
"name": "1500-1999"
},
{
"id": "03",
"name": "2000-2999"
},
{
"id": "04",
"name": "3000-4499"
},
{
"id": "05",
"name": "4500-5999"
},
{
"id": "06",
"name": "6000-7999"
},
{
"id": "07",
"name": "8000-9999"
},
{
"id": "08",
"name": "10000-14999"
},
{
"id": "09",
"name": "15000-19999"
},
{
"id": "10",
"name": "25000-29999"
},
{
"id": "11",
"name": "40000-49999"
},
{
"id": "12",
"name": "50000-69999"
},
{
"id": "13",
"name": "20000-24999"
},
{
"id": "14",
"name": "30000-39999"
},
{
"id": "15",
"name": "70000-99999"
},
{
"id": "16",
"name": "100000及以上"
}
],
"degree": [
{
"id": "1",
"name": "初中及以下"
},
{
"id": "2",
"name": "高中"
},
{
"id": "4",
"name": "中技/中专"
},
{
"id": "5",
"name": "大专"
},
{
"id": "6",
"name": "本科"
},
{
"id": "7",
"name": "硕士"
},
{
"id": "8",
"name": "博士"
}
],
"company": [
{
"ccity": "上海-浦东新区",
"coid": "4844599",
"name": "前锦网络信息技术(上海)有限公司",
"department": [
{
"cname": "测试部门1",
"divid": "4442537"
},
{
"cname": "新增部门2",
"divid": "4442538"
}
]
},
{
"ccity": "佛山-三水区",
"coid": "10124151",
"name": "佛山市博维环保材料有限公司",
"department": [
{
"cname": "测试部门1",
"divid": "4442501"
},
{
"cname": "新增部门2",
"divid": "4442898"
}
// ... more
]
}
// ... more
]
}
}
Publish Position to Channel
- Method: POST
- Path: /api/partner/v1/job/pub/{position_id}
Payload
{
"channel": 1,
"coid": "125719", // 51job company ID, from `company.coid`
"divid": "d001", // Department ID, from `company.department.divid`
"workarea": "020000", // Work location, from the `city` list
"address": "上海浦东新区张东路1387号", // Company address, max length 200
"functype1": "5206", // Occupation, from the `occupation` list
"workyear": "1", // Work experience (years), from `workyear.id`
"degree": "6", // Minimum education, from `degree.id`
"providesalary": "08", // Monthly salary, from `salary.id`. Optional; you can output a custom range such as 2000-3000. The minimum salary must not be less than 1000, and the maximum salary must not exceed 2 times the minimum salary
"isjobsalaryhide": false, // Hide salary. Optional; if true, `providesalary` must be filled in a custom format such as 2000-3000
"jobemail": "xxxxx@xx.com" // Email, up to 3, separated by semicolons (;)
}
Response
{
"code": "0",
"message": "success",
"data": []
}
Channel - Liepin
Occupation List
- Method: GET
- Path: /api/partner/v1/job/occupation/2/{position_id}
Response
{
"code": "0",
"message": "success",
"data": [
{
"id": "N22",
"name": "供应链/物流/采购/贸易",
"en_name": "Supply Chain/Logistics/Procurement/Trade",
"children": [
{
"id": "N0101",
"name": "贸易/关务",
"en_name": "Trade/Customs",
"children": [
{
"id": "N001001",
"name": "外贸经理/主管",
"en_name": "Foreign Trade Manager/Supervisor",
"children": []
},
{
"id": "N001020",
"name": "关务管理",
"en_name": "Customs Management",
"children": []
},
{
"id": "N001009",
"name": "贸易跟单",
"en_name": "Trade Merchandising",
"children": []
}
]
}
]
}
]
}
Dropdown List
- Method: GET
- Path: /api/partner/v1/job/dropdown/2/{position_id}
Response
{
"code": "0",
"message": "success",
"data": {
"feature": ["班车", "交通补贴", "工会福利"],
"salary_month": [12, 13, 14, 15, 16, 17, 18]
}
}
Publish Position to Channel
- Method: POST
- Path /api/partner/v1/job/pub/{position_id}
Payload
{
"salaryBottom": 30, // Minimum salary 30k
"departmentName": "IT", // Department name
"feature": ["通讯补贴"], // Position benefits/features, from the `feature` options
"salaryTop": 50, // Maximum salary 50k
"salaryMonth": 12, // Number of months salary is paid each year, from the `salary_month` options
"channel": 2, // 2 means the Liepin channel
"occupation": [
// From the `code_other` field of the Liepin occupation API. You can select multiple occupations, but using one is recommended
[
"N14", // Level-1 occupation code
"N0073", // Level-2 occupation code
"N000773" // Level-3 occupation code
]
]
}
Response error 1
{
"code": "0",
"message": "success",
"data": [
{
"id": null,
"channel": 2,
"status": 3, // Publishing error, show the error message (error)
"title": "软件工程师",
"account_id": 0,
"position_id": 20489853,
"error": "java.lang.IllegalArgumentException: 地址不能为空", // Error message; if publishing succeeds, status = 1 and error = ""
"create_time": "2026-08-11 16:13:00"
}
]
}
Response error 2
{
"code": "0",
"message": "success",
"data": [
{
"id": null,
"channel": 2,
"status": 3,
"title": "软件工程师",
"account_id": 0,
"position_id": 20489853,
"error": "职位地址和职位发布城市不一致", // Error message; if publishing succeeds, status = 1 and error = ""
"create_time": "2026-08-11 16:17:53"
}
]
}
Response success
{
"code": "0",
"message": "success",
"data": []
}
Channel - Veryeast
Occupation List
- Method: GET
- Path: /api/partner/v1/job/occupation/6/{position_id}
Response
{
"code": 0,
"message": "success",
"data": [
{
"id": "010000",
"name": "住宿/酒店",
"children": [
{
"id": "010200",
"name": "前厅",
"children": [
{
"id": "010201",
"name": "前厅部经理",
"children": []
},
{
"id": "010202",
"name": "宾客服务经理/大堂副理",
"children": []
},
{
"id": "010203",
"name": "值班经理/夜班经理",
"children": []
},
{
"id": "010204",
"name": "宾客关系经理",
"children": []
},
{
"id": "010206",
"name": "前台主管/领班",
"children": []
}
]
}
]
}
]
}
Dropdown List
- Method: GET
- Path: /api/partner/v1/job/dropdown/6/{position_id}
Response
{
"code": "0",
"message": "success",
"data": {
"language": [
{
"id": "11",
"name": "中国普通话"
},
{
"id": "12",
"name": "粤语"
},
// ...
{
"id": "9",
"name": "葡萄牙语"
},
{
"id": "20",
"name": "客家方言"
},
{
"id": "10",
"name": "意大利语"
}
],
"category": [
{
"id": "126767",
"name": "test042001"
},
{
"id": "83725",
"name": "餐饮部"
},
{
"id": "48243",
"name": "接待部1"
},
// ...
{
"id": "66080",
"name": "质检部"
},
{
"id": "47866",
"name": "咨询"
}
]
}
}
Publish Position to Channel
- Method: POST
- Path: /api/partner/v1/job/pub/{position_id}
Payload
{
"startDate": "2026-07-30", // Recruitment start date
"endDate": "2026-09-30 00:00:00", // Recruitment end date
"salaryBottom": 4, // Minimum salary 4k
"jobClassId": "126767", // Category, from `category.id`
"linkman": "lin", // Contact person name
"linkmanPhone": "", // Contact person phone
"salaryTop": 4, // Maximum salary 4k
"jobOrder": "1", // Optional
"languages": "11", // Language requirement, from `language.id`
"channel": 6, // Represents the Veryeast channel
"occupation": [
// Select a single occupation
"020000", // Level-1 code of the occupation
"020200", // Level-2 code of the occupation
"020241" // Level-3 code of the occupation
]
}
Channel - Shixiseng
Occupation List
- Method: GET
- Path: /api/partner/v1/job/occupation/14/{position_id}
Response
{
"code": 0,
"message": "success",
"data": [
{
"id": 1,
"name": "互联网IT",
"children": [
{
"id": 15,
"name": "产品",
"children": [
{
"id": 86,
"name": "产品"
},
{
"id": 87,
"name": "产品经理"
},
{
"id": 88,
"name": "产品助理"
},
{
"id": 89,
"name": "产品设计"
},
{
"id": 90,
"name": "产品项目管理"
},
{
"id": 91,
"name": "用户研究"
}
]
}
]
}
]
}
Dropdown List
- Method: GET
- Path: /api/partner/v1/job/dropdown/14/{position_id}
Response
{
"code": "0",
"message": "success",
"data": {
"intern": {
"feature": ["班车"],
"chance": ["entry", "noentry", "notsure"],
"day_per_week": [1, 2, 3, 4, 5],
"language": ["english", "chinese", "both", ""],
"month_num": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
},
"is_school": {
"feature": ["班车"],
"language": ["english", "chinese", "both", ""],
"recruitment_target": ["应届生", "毕业1年内"]
}
}
}
Publish Position to Channel
- Method: POST
- Path: /api/partner/v1/job/pub/{position_id}
Payload
{
"isSchool": false, // Whether it is campus recruitment
"features": [
// Position benefits, from the `feature` options
"五险一金"
],
"language": "chinese", // Language requirement, from the `language` options
"dayPerWeek": 5, // Internship days per week, from the `day_per_week` options
"monthNum": 1, // Internship months, from the `month_num` options
"address": "上海市番禺路1028", // Internship address, free text
"chance": "notsure", // Whether there is a chance of becoming a full-time employee, from the `chance` options
"effectiveTime": 1788501755025,
"dailySalaryBottom": "5000", // Minimum salary (yuan)
"dailySalaryTop": "7000", // Maximum salary (yuan)
"channel": 14, // Represents the Shixiseng channel
"occupation": "后端开发" // Occupation, from the occupation list; fill in the value of `name`, not the `id`
}
Response
{
"code": "0",
"message": "success",
"data": [
{
"id": null,
"channel": 14,
"status": 3, // status = 1 means publishing succeeded
"title": "软件工程师",
"account_id": 0,
"position_id": 20489853,
"error": "该职位已发布到第三方", // Error message, shown when status != 1
"create_time": "2026-08-11 16:41:09"
}
]
}
After Publishing to Channels
Publication Records
| status | Description |
|---|---|
| 0 | Not published / Publishing |
| 1 | Published successfully |
| 2 | Channel review |
| 3 | Publishing failed |
| 9 | Channel removed |
- Method: GET
- Path: /api/partner/v1/job/pub/{position_id}
Response
{
"code": "0",
"message": "success",
"data": [
{
"id": 14000,
"channel": 14,
"status": 3,
"title": "软件工程师",
"account_id": 2742,
"position_id": "20489853",
"error": "若您有任何疑问,请联系官方邮箱:sxs@shixiseng.com进行说明,感谢您的理解与支持!",
"create_time": 1785909843000
},
{
"id": 14005,
"channel": 6,
"status": 0,
"title": "软件工程师",
"account_id": 2738,
"position_id": "20489853",
"error": "work_place 职位不允许发布到该地区",
"create_time": 1786073762000
}
]
}
Remove Position
- Method: PATCH
- Path: /api/partner/v1/job/pub/{position_id}
Note:
account_id: the ID returned by the/api/partner/v1/job/account/{position_id}API;- If you use the
Update Position Status: PUT /positions/{id}/statusAPI to "unpublish" a position, the position will be removed from all channels.
Payload case 1
{
"channel": 2, // channel 2 represents Liepin, 6 represents Veryeast, 1 represents 51job, 14 represents Shixiseng
"account_id": 2739
}
Payload case 2
If removing from the WeChat channel, the account_id field is not required
{
"channel": 0 // 0 represents removing the position from the MoSeeker WeChat channel
}
Response
{
"code": 0,
"message": "success"
}