Talent Management System Documentation¶
Swagger Rest : https://app.swaggerhub.com/apis/Codex-by-Telkom/TalentManagementSystem/1.0.0#/
link graphQL development: http://tms-api-dev.vsan-apps.playcourt.id/graphQL
Setting Before Login:
Add api-key in HTTP HEADERS():: .. note:
{
"x-api-key": "ynFV0UIdfrBMPipO"
}
Setting After Login:
Add token in HTTP HEADERS(): .. note:
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjZTM3ZjMwYmYxNzJlMDAyYzAwN2YzYyIsInRhbGVudElkIjpudWxsLCJlbWFpbCI6ImVrYUBjb2RleC53b3JrcyIsInBob25lTnVtYmVyIjoiKzYyODY1NDMzMzMzMzMiLCJmdWxsTmFtZSI6ImVrYSIsInJvbGVJZCI6eyJfaWQiOiI1YzFjYWFhNWZiNmZjMDBlZWU4NDQyMWQiLCJ0aXRsZSI6IlN1cGVyIEFkbWluIiwibGV2ZWwiOjksInN0YXRlIjoiU1VQRVJfQURNSU4ifSwidXNlclR5cGVJZCI6eyJfaWQiOiI1YzE5YmVlZTVhMTY2NWY2MDczYzBjYjUiLCJ0aXRsZSI6IlRNIE1lbWJlciIsInN0YXRlIjoiVE0iLCJfX3YiOjB9LCJpYXQiOjE1NjQ2MzMyNDMsImV4cCI6MTU2NTA2NTI0M30.Se-kkDIX-2_2WwEwqXtV9Y03OIW4FY7c_VorvAGzZcM"
}
Log in¶
Name | LoginUser |
Description | This API is used to user log in |
Content-Type | application/json |
Parameter Input:
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
string | 1 | 50 | must contain email corporate | eka@codex.works | |
password | string | 8 | 50 | combine, must contain at least 1 character (upper/lowercase) and 1 number | eka12345 |
mutation for LoginUser
:
mutation LoginUser {
login(input: {
email: "eka@codex.works"
password: "eka12345"
}) {
token
roleId {
_id
title
state
}
userTypeId {
_id
title
state
}
}
}
Response:
{
"data": {
"login": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjMjRjZjVlNTFiYjg5OTMyOWExYjY3NSIsImVtYWlsIjoiYWxiYXJpcWlAY29kZXgud29ya3MiLCJwaG9uZU51bWJlciI6IjA4MjE0MjU4OTYxMCIsImZuYW1lIjoiQWxiYXJpcWkiLCJsbmFtZSI6IlJhaG1hdCIsInJvbGVJZCI6eyJfaWQiOiI1YzFjYWFhNWZiNmZjMDBlZWU4NDQyMWQiLCJ0aXRsZSI6IlN1cGVyIEFkbWluIiwibGV2ZWwiOjksInN0YXRlIjoiU1VQRVJfQURNSU4ifSwidXNlclR5cGVJZCI6eyJfaWQiOiI1YzE5YmVlZTVhMTY2NWY2MDczYzBjYjUiLCJ0aXRsZSI6IlRNIE1lbWJlciIsInN0YXRlIjoiVE0iLCJfX3YiOjB9LCJpYXQiOjE1NTA0NTk4MTQsImV4cCI6MTU1MDU0NjIxNH0.PbwVguB3E-o6yTFpN6aLFE66gj6VPvKmMld2aVubx_I",
"roleId": {
"_id": "5c1caaa5fb6fc00eee84421d",
"title": "Super Admin",
"state": "SUPER_ADMIN"
},
"userTypeId": {
"_id": "5c19beee5a1665f6073c0cb5",
"title": "TM Member",
"state": "TM"
}
}
},
"extensions": {}
}
Reset Password¶
1. Request Reset Password By Email¶
Name | RequestResetPasswordByEmail |
Description | This API is used by user to request reset password by email |
Content-Type | application/json |
Parameter Input:
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
string | 1 | 50 | must contain email corporate | eka@codex.works |
mutation for RequestResetPasswordByEmail
:
mutation RequestResetPasswordByEmail{
requestResetPassword(input: {
email: "eka@codex.works"
}) {
status
isOtp
userId
}
}
Response:
{
"data": {
"requestResetPassword": {
"status": "success",
"isOtp": false,
"userId": "5c2c6dbddd41992341ad441f"
}
},
"extensions": {}
}
2. Request Reset Password By Phone Number¶
Name | RequestResetPasswordByPhone |
Description | This API is used by user to request reset password by phone number |
Content-Type | application/json |
Parameter Input:
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
phoneNumber | string | 10 | 15 | starting with ‘+’ | +6281314074950 |
mutation for RequestResetPasswordByPhone
:
mutation RequestResetPasswordByPhone{
requestResetPassword(input: {
phoneNumber: "+6281314074950"
}) {
status
isOtp
userId
}
}
Response:
{
"data": {
"requestResetPassword": {
"status": "success",
"isOtp": true,
"userId": "5c2c6dbddd41992341ad441f"
}
},
"extensions": {}
}
3. Confirm OTP¶
Name | ConfirmOTP |
Description | This API is used by user to confirm OPT that will get |
Content-Type | application/json |
Parameter Input:
Parameter | Type Data | Min | Max | Description |
---|---|---|---|---|
OTP | number | 6 | 6 | Sent by system ramdomly |
mutation for ConfirmOtp
:
mutation ConfirmOTP {
confirmOtp(input: {
userId: "5c2c6dbddd41992341ad441f"
otpstr: "882707"
})
}
Response:
{
"data": {
"confirmOtp": "766fa640-3d74-11e9-8c9a-9122baaef8f8"
},
"extensions": {}
}
4. Confirm Reset Password¶
Name | ConfirmResetPassword |
Description | This API is used by user to create new password |
Content-Type | application/json |
Parameter Input:
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
password | string | 8 | 50 | combine, must contain at least 1 character (upper/lowercase) and 1 number | eka12345 |
mutation for ConfirmResetPassword
:
mutation ConfirmResetPassword {
ConfirmResetPassword(input: {
token: "5766fa640-3d74-11e9-8c9a-9122baaef8f8"
password: "eka12345"
})
}
Response:
{
"data": {
"ConfirmResetPassword": true
},
"extensions": {}
}
5. Verify Reset Password Token¶
Name | VerifyResetPasswordToken |
Description | This API is used in reset password for get token |
Content-Type | application/json |
query for VerifyResetPasswordToken
:
query VerifyResetPasswordToken {
verifyResetPasswordToken(input: {
token: "4afc3320-08d1-11e9-aeaa-a14fdc7d18f1"
})
}
Response:
{
"data": {
"VerifyResetPasswordToken": true
},
"extensions": {}
}
Roles¶
Name | GetRoles |
Description | This API is used to get roles user |
Content-Type | application/json |
query for GetRoles
:
query GetRoles{
getRoles{
_id
title
level
state
}
}
Response:
{
"data": {
"getRoles": [
{
"_id": "5c1c6d16a3fba470ca1846fa",
"title": "Assessor",
"level": 6,
"state": "ASSESSOR"
},
{
"_id": "5c1caa8afb6fc00eee844219",
"title": "Admin",
"level": 8,
"state": "ADMIN"
},
{
"_id": "5c1caaa5fb6fc00eee84421d",
"title": "Super Admin",
"level": 9,
"state": "SUPER_ADMIN"
},
{
"_id": "5c1caac7fb6fc00eee84422c",
"title": "User",
"level": 3,
"state": "USER"
},
{
"_id": "5c2503ef52834355b1440677",
"title": "Partner",
"level": 6,
"state": "PARTNER"
}
]
}
}
Job Levels¶
Name | GetJobLevels |
Description | This API is used to get level user |
Content-Type | application/json |
query for GetJobLevels
:
query GetJobLevels{
getJobLevels{
data{
_id
title
state
}
count
}
}
Response:
{
"data": {
"getJobLevels": {
"data": [
{
"_id": "5c1befc6df07570377f999ed",
"title": "Junior",
"state": "JUNIOR"
},
{
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
{
"_id": "5c1befea8b316703ab7f6710",
"title": "Senior",
"state": "SENIOR"
}
],
"count": 3
}
}
}
Funnels¶
Name | GetFunnels |
Description | This API is used to get funnels talent |
Content-Type | application/json |
query for GetFunnels
:
query GetFunnels{
getFunnels{
_id
title
state
}
}
Response:
{
"data": {
"getFunnels": [
{
"_id": "5c24bcf85108408debf4d065",
"title": "lead",
"state": "LEAD"
},
{
"_id": "5c24bd1a5108408debf4d066",
"title": "shortlist",
"state": "SHORTLIST"
}
]
}
}
User Type¶
Name | GetUserTypes |
Description | This API is used to get user type |
Content-Type | application/json |
query for GetUserTypes
:
query UserTypes{
getUserTypes{
_id
title
state
}
}
Response:
{
"data": {
"getUserTypes": [
{
"_id": "5c19beaf5a1665f6073c0cb2",
"title": "Talent",
"state": "TALENT"
},
{
"_id": "5c19becc5a1665f6073c0cb3",
"title": "Assessor",
"state": "ASSESSOR"
},
{
"_id": "5c19bed35a1665f6073c0cb4",
"title": "Partner",
"state": "PARTNER"
},
{
"_id": "5c19beee5a1665f6073c0cb5",
"title": "TM Member",
"state": "TM"
}
]
}
}
Source¶
Name | createSource |
Description | This API is used to create new soure |
Content-Type | application/json |
1. Add Source¶
mutation for createSource
:
mutation CreateSource {
createSource(input: {
title: "Pak Gatot (DEV)"
}) {
_id
title
state
}
}
Response:
{
"data": {
"createSource": {
"_id": "5d4d2349e2f634002c0f8e36",
"title": "Pak Way"
"state": "PAK_WAY"
}
}
}
2. Get Source¶
query for createSource
:
query GetSources {
getSources(search: {
title: "pak"
}) {
data {
_id
title
state
}
count
}
}
Response:
{
"data": {
"getSources": {
"data": [
{
"_id": "5d4d13496306876c1091b7ab",
"title": "Pak Gatot (DEV)",
"state": "PAK_WAY"
}
],
"count": 1
}
}
}
Pool-List of Candidate¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
NIK | string | 16 | 16 | required | 1671900090933037 |
fullName | string | 10 | 50 | required | Eka Afrianti |
string | 10 | 50 | required, not validation | ekaafrianti01@gmail.com | |
phoneNumber | string | 10 | 15 | required, starting with ‘+’, not validation | +6281399000090 |
source | string | 1 | 50 | required, | Tech In Asia |
Job Role | string | 10 | 15 | required, | Technical Documentation Engineer |
Job Level | string | 1 | 50 | required, | Tech In Asia |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Candidate Name | string | Name of candidate | Eka Afrianti |
Date Process | string | Date Process Latest Talent | 01/08/2019 |
Source | string | NIK corporate assessor if he/she have | Tech In Asia |
Number of Exam | string | Job Role talent | 3 |
1. Add New Data Candidate¶
Name | createCandidate |
Description | This API is used to create data new candidate |
Content-Type | application/json |
mutation for createCandidate
:
mutation CreateCandidate {
createCandidateHistory(input: {
fullName: "Bayu Saputra"
email: "bayu@mailinator.com"
phoneNumber: "+6282812341234"
source: {
type: "program"
title: "Rekrutmen BUMN"
}
nik: "1234512345121456"
skill: {
jobLevelId: "5c1befe06450f803866801db"
jobRoleId: "5cb40a8cb607ed0028f841fe"
}
}) {
_id
}
}
Response:
{
"data": {
"createCandidateHistory": {
"_id": "5d5cb4c586d7ad002c1378d7"
}
}
}
2. Search Candidate¶
Name | getCandidates |
Description | This API is used to search data candidate (search by name) |
Content-Type | application/json |
query for SearchCandidates
:
query SearchCandidates {
getCandidates (search: {
fullName: "Bayu Saputra"
}) {
data {
_id
nik
latestHistory{
_id
fullName
email
phoneNumber
isActive
source{
type
title
}
activityLog{
_id
title
timestamp
}
skill{
jobRoleId {
_id
title
state
}
jobLevelId{
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
}
}
funnelId{
_id
title
state
}
history {
_id
fullName
email
phoneNumber
isActive
source {
type
title
}
activityLog {
_id
title
timestamp
}
skill{
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
}
}
createdAt
updatedAt
}
count
}
}
Response:
{
"data": {
"getCandidates": {
"data": [
{
"_id": "5d53c7840658a50f219f63e5",
"nik": null,
"latestHistory": {
"_id": "5d394c863f337e52bf7b1034",
"fullName": "BAYU SAPUTRA",
"email": "babasaputra06@gmail.com",
"phoneNumber": null,
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d394c873f337e52bf7b1039",
"title": "Send an Email",
"timestamp": "1564036231183"
},
{
"_id": "5d394c883f337e52bf7b1043",
"title": "Email Sent",
"timestamp": "1564036232446"
},
{
"_id": "5d394c883f337e52bf7b1044",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564036232524"
},
{
"_id": "5d4079a52f01eb002c63280c",
"title": "Not Interested",
"timestamp": "1564506533819"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a3bb607ed0028f841fb",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
"funnelId": {
"_id": "5c24bcf85108408debf4d065",
"title": null,
"state": null
},
"history": [
{
"_id": "5d394c863f337e52bf7b1034",
"fullName": "BAYU SAPUTRA",
"email": "babasaputra06@gmail.com",
"phoneNumber": null,
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d394c873f337e52bf7b1039",
"title": "Send an Email",
"timestamp": "1564036231183"
},
{
"_id": "5d394c883f337e52bf7b1043",
"title": "Email Sent",
"timestamp": "1564036232446"
},
{
"_id": "5d394c883f337e52bf7b1044",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564036232524"
},
{
"_id": "5d4079a52f01eb002c63280c",
"title": "Not Interested",
"timestamp": "1564506533819"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a3bb607ed0028f841fb",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
}
],
"createdAt": null,
"updatedAt": null
},
{
"_id": "5d5cb4c586d7ad002c1378d8",
"nik": "1234512345121456",
"latestHistory": {
"_id": "5d5cb4c586d7ad002c1378d7",
"fullName": "Bayu Saputra",
"email": "bayu@mailinator.com",
"phoneNumber": "+6282812341234",
"isActive": false,
"source": {
"type": "program",
"title": "Rekrutmen BUMN"
},
"activityLog": [
{
"_id": "5d5cb4c586d7ad002c1378d9",
"title": "Send an Email",
"timestamp": "1566356677698"
},
{
"_id": "5d5cb4c686d7ad002c1378da",
"title": "Email Sent",
"timestamp": "1566356678198"
},
{
"_id": "5d5cb4c686d7ad002c1378db",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566356678252"
},
{
"_id": "5d5d08b7d3f31f002ca27019",
"title": "Completed Data Profile & Grit Test",
"timestamp": "1566378167448"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
"funnelId": {
"_id": null,
"title": "lead",
"state": "LEAD"
},
"history": [
{
"_id": "5d5cb4c586d7ad002c1378d7",
"fullName": "Bayu Saputra",
"email": "bayu@mailinator.com",
"phoneNumber": "+6282812341234",
"isActive": false,
"source": {
"type": "program",
"title": "Rekrutmen BUMN"
},
"activityLog": [
{
"_id": "5d5cb4c586d7ad002c1378d9",
"title": "Send an Email",
"timestamp": "1566356677698"
},
{
"_id": "5d5cb4c686d7ad002c1378da",
"title": "Email Sent",
"timestamp": "1566356678198"
},
{
"_id": "5d5cb4c686d7ad002c1378db",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566356678252"
},
{
"_id": "5d5d08b7d3f31f002ca27019",
"title": "Completed Data Profile & Grit Test",
"timestamp": "1566378167448"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
}
],
"createdAt": "1566356677645",
"updatedAt": "1566378452902"
},
{
"_id": "5d53c78a0658a50f219f7919",
"nik": null,
"latestHistory": {
"_id": "5d398a78f80a5d0cd4d69191",
"fullName": "KEVIN BAYU SAPUTRA",
"email": "kevinzbayu08@gmail.com",
"phoneNumber": "+6289604979304",
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d398a78f80a5d0cd4d69196",
"title": "Send an Email",
"timestamp": "1564052088770"
},
{
"_id": "5d398a79f80a5d0cd4d69197",
"title": "Email Sent",
"timestamp": "1564052089206"
},
{
"_id": "5d398a79f80a5d0cd4d69198",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564052089259"
},
{
"_id": "5d40815e2f01eb002c633260",
"title": "Not Interested",
"timestamp": "1564508510464"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb409d2b607ed0028f841f8",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": "http://www.linkedin.com/in/kevinbayu/",
"cvUrl": "https://api.codex.works/media/1564368598762230_5b118f62da62d869d2169abca4a6b428.pdf",
"portfolioUrl": "https://api.codex.works/media/1564368598817276_c580eb9c693a0d821c383add73372401.pdf",
"portfolioLinkUrl": null,
"stackIds": [
{
"_id": "5d38227a19e95d002badb19b",
"title": null,
"state": null
}
],
"assessments": [
{
"_id": "5d3e5ed7c6abce002c403859"
},
{
"_id": "5d3e5ed7c6abce002c4038d3"
}
]
},
"funnelId": {
"_id": "5c24bcf85108408debf4d065",
"title": null,
"state": null
},
"history": [
{
"_id": "5d398a78f80a5d0cd4d69191",
"fullName": "KEVIN BAYU SAPUTRA",
"email": "kevinzbayu08@gmail.com",
"phoneNumber": "+6289604979304",
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d398a78f80a5d0cd4d69196",
"title": "Send an Email",
"timestamp": "1564052088770"
},
{
"_id": "5d398a79f80a5d0cd4d69197",
"title": "Email Sent",
"timestamp": "1564052089206"
},
{
"_id": "5d398a79f80a5d0cd4d69198",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564052089259"
},
{
"_id": "5d40815e2f01eb002c633260",
"title": "Not Interested",
"timestamp": "1564508510464"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb409d2b607ed0028f841f8",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": "http://www.linkedin.com/in/kevinbayu/",
"cvUrl": "https://api.codex.works/media/1564368598762230_5b118f62da62d869d2169abca4a6b428.pdf",
"portfolioUrl": "https://api.codex.works/media/1564368598817276_c580eb9c693a0d821c383add73372401.pdf",
"portfolioLinkUrl": null,
"stackIds": [
{
"_id": "5d38227a19e95d002badb19b",
"title": null,
"state": null
}
],
"assessments": [
{
"_id": "5d3e5ed7c6abce002c403859"
},
{
"_id": "5d3e5ed7c6abce002c4038d3"
}
]
}
],
"createdAt": null,
"updatedAt": null
}
],
"count": 3
}
}
}
3. Filter Candidates¶
Name | getCandidates |
Description | This API is used to filter data candidate |
Content-Type | application/json |
query for filterCandidates
:
query filterCandidates{
getCandidates(filter:{
jobRoleId: "5cb40a8cb607ed0028f841fe"
#jobLevelId: "5cb40a8cb607ed0028f841fe"
#source: {
# type: ""
# title: ""
#}
#activityLog: ""
#sort:
#skip:
#limit:
#score: {
# low: 1
# high: 10
# }
#date: {
# start: ""
# end: ""
#}
#isRecruit: "false"
}){
{
data {
_id
nik
latestHistory{
_id
fullName
email
phoneNumber
isActive
source{
type
title
}
activityLog{
_id
title
timestamp
}
skill{
jobRoleId {
_id
title
state
}
jobLevelId{
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
}
}
funnelId{
_id
title
state
}
history {
_id
fullName
email
phoneNumber
isActive
source {
type
title
}
activityLog {
_id
title
timestamp
}
skill{
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
}
}
createdAt
updatedAt
}
count
}
}
Response:
{
"data": {
"getCandidates": {
"data": [
{
"_id": "5d53c7840658a50f219f63e5",
"nik": null,
"latestHistory": {
"_id": "5d394c863f337e52bf7b1034",
"fullName": "BAYU SAPUTRA",
"email": "babasaputra06@gmail.com",
"phoneNumber": null,
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d394c873f337e52bf7b1039",
"title": "Send an Email",
"timestamp": "1564036231183"
},
{
"_id": "5d394c883f337e52bf7b1043",
"title": "Email Sent",
"timestamp": "1564036232446"
},
{
"_id": "5d394c883f337e52bf7b1044",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564036232524"
},
{
"_id": "5d4079a52f01eb002c63280c",
"title": "Not Interested",
"timestamp": "1564506533819"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a3bb607ed0028f841fb",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
"funnelId": {
"_id": "5c24bcf85108408debf4d065",
"title": null,
"state": null
},
"history": [
{
"_id": "5d394c863f337e52bf7b1034",
"fullName": "BAYU SAPUTRA",
"email": "babasaputra06@gmail.com",
"phoneNumber": null,
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d394c873f337e52bf7b1039",
"title": "Send an Email",
"timestamp": "1564036231183"
},
{
"_id": "5d394c883f337e52bf7b1043",
"title": "Email Sent",
"timestamp": "1564036232446"
},
{
"_id": "5d394c883f337e52bf7b1044",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564036232524"
},
{
"_id": "5d4079a52f01eb002c63280c",
"title": "Not Interested",
"timestamp": "1564506533819"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a3bb607ed0028f841fb",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
}
],
"createdAt": null,
"updatedAt": null
},
{
"_id": "5d5cb4c586d7ad002c1378d8",
"nik": "1234512345121456",
"latestHistory": {
"_id": "5d5cb4c586d7ad002c1378d7",
"fullName": "Bayu Saputra",
"email": "bayu@mailinator.com",
"phoneNumber": "+6282812341234",
"isActive": false,
"source": {
"type": "program",
"title": "Rekrutmen BUMN"
},
"activityLog": [
{
"_id": "5d5cb4c586d7ad002c1378d9",
"title": "Send an Email",
"timestamp": "1566356677698"
},
{
"_id": "5d5cb4c686d7ad002c1378da",
"title": "Email Sent",
"timestamp": "1566356678198"
},
{
"_id": "5d5cb4c686d7ad002c1378db",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566356678252"
},
{
"_id": "5d5d08b7d3f31f002ca27019",
"title": "Completed Data Profile & Grit Test",
"timestamp": "1566378167448"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
"funnelId": {
"_id": null,
"title": "lead",
"state": "LEAD"
},
"history": [
{
"_id": "5d5cb4c586d7ad002c1378d7",
"fullName": "Bayu Saputra",
"email": "bayu@mailinator.com",
"phoneNumber": "+6282812341234",
"isActive": false,
"source": {
"type": "program",
"title": "Rekrutmen BUMN"
},
"activityLog": [
{
"_id": "5d5cb4c586d7ad002c1378d9",
"title": "Send an Email",
"timestamp": "1566356677698"
},
{
"_id": "5d5cb4c686d7ad002c1378da",
"title": "Email Sent",
"timestamp": "1566356678198"
},
{
"_id": "5d5cb4c686d7ad002c1378db",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566356678252"
},
{
"_id": "5d5d08b7d3f31f002ca27019",
"title": "Completed Data Profile & Grit Test",
"timestamp": "1566378167448"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
}
],
"createdAt": "1566356677645",
"updatedAt": "1566378452902"
},
{
"_id": "5d53c78a0658a50f219f7919",
"nik": null,
"latestHistory": {
"_id": "5d398a78f80a5d0cd4d69191",
"fullName": "KEVIN BAYU SAPUTRA",
"email": "kevinzbayu08@gmail.com",
"phoneNumber": "+6289604979304",
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d398a78f80a5d0cd4d69196",
"title": "Send an Email",
"timestamp": "1564052088770"
},
{
"_id": "5d398a79f80a5d0cd4d69197",
"title": "Email Sent",
"timestamp": "1564052089206"
},
{
"_id": "5d398a79f80a5d0cd4d69198",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564052089259"
},
{
"_id": "5d40815e2f01eb002c633260",
"title": "Not Interested",
"timestamp": "1564508510464"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb409d2b607ed0028f841f8",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": "http://www.linkedin.com/in/kevinbayu/",
"cvUrl": "https://api.codex.works/media/1564368598762230_5b118f62da62d869d2169abca4a6b428.pdf",
"portfolioUrl": "https://api.codex.works/media/1564368598817276_c580eb9c693a0d821c383add73372401.pdf",
"portfolioLinkUrl": null,
"stackIds": [
{
"_id": "5d38227a19e95d002badb19b",
"title": null,
"state": null
}
],
"assessments": [
{
"_id": "5d3e5ed7c6abce002c403859"
},
{
"_id": "5d3e5ed7c6abce002c4038d3"
}
]
},
"funnelId": {
"_id": "5c24bcf85108408debf4d065",
"title": null,
"state": null
},
"history": [
{
"_id": "5d398a78f80a5d0cd4d69191",
"fullName": "KEVIN BAYU SAPUTRA",
"email": "kevinzbayu08@gmail.com",
"phoneNumber": "+6289604979304",
"isActive": false,
"source": {
"type": "program",
"title": "Recruitment Prohire Batch I 2019"
},
"activityLog": [
{
"_id": "5d398a78f80a5d0cd4d69196",
"title": "Send an Email",
"timestamp": "1564052088770"
},
{
"_id": "5d398a79f80a5d0cd4d69197",
"title": "Email Sent",
"timestamp": "1564052089206"
},
{
"_id": "5d398a79f80a5d0cd4d69198",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1564052089259"
},
{
"_id": "5d40815e2f01eb002c633260",
"title": "Not Interested",
"timestamp": "1564508510464"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb409d2b607ed0028f841f8",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": "http://www.linkedin.com/in/kevinbayu/",
"cvUrl": "https://api.codex.works/media/1564368598762230_5b118f62da62d869d2169abca4a6b428.pdf",
"portfolioUrl": "https://api.codex.works/media/1564368598817276_c580eb9c693a0d821c383add73372401.pdf",
"portfolioLinkUrl": null,
"stackIds": [
{
"_id": "5d38227a19e95d002badb19b",
"title": null,
"state": null
}
],
"assessments": [
{
"_id": "5d3e5ed7c6abce002c403859"
},
{
"_id": "5d3e5ed7c6abce002c4038d3"
}
]
}
],
"createdAt": null,
"updatedAt": null
}
],
"count": 3
}
}
}
4. View Detail Candidate¶
Name | getCandidate |
Description | This API is used to view detail data candidate |
Content-Type | application/json |
query for getCandidate
:
query getCandidate {
getCandidate(filter: {
candidateId: "5d53c95ca83fa5fbcfeab928"
}) {
_id
nik
latestHistory{
_id
fullName
email
phoneNumber
isActive
source{
type
title
}
activityLog{
_id
title
timestamp
}
skill{
jobRoleId {
_id
title
state
}
jobLevelId{
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
}
}
funnelId {
_id
title
state
}
history {
_id
email
phoneNumber
source {
type
title
}
activityLog {
title
timestamp
_id
}
skill {
jobRoleId{
_id
title
state
}
jobLevelId {
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds {
_id
title
state}
assessments{
_id
result {
pass
failed
score
}
candidateHistoryId
questions {
liveCoding{
mainFunction{
paramsType
outputType
generate
}
testCase{
params
output
}
answerCode
results
}
title
answer{
correctIndexes
selectedIndexes
score
list{
title
}
}
isMarked
isVisited
type
}
timeSpent
startTime
endTime
isStart
isSubmit
type
}
}
}
}
Response:
{
"data": {
"getCandidate": {
"_id": "5d53c95ca83fa5fbcfeab928",
"nik": "1231231231231231",
"latestHistory": {
"_id": "5d5ca4c58c66f9002ceb74e6",
"fullName": "Temennya Tito",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"isActive": true,
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [
{
"_id": "5d5ca4c58c66f9002ceb74e7",
"title": "Send an Email",
"timestamp": "1566352581094"
},
{
"_id": "5d5ca4c68c66f9002ceb74e8",
"title": "Email Sent",
"timestamp": "1566352582041"
},
{
"_id": "5d5ca4c68c66f9002ceb74e9",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566352582091"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
"funnelId": {
"_id": null,
"title": "lead",
"state": "LEAD"
},
"history": [
{
"_id": "5d53c95ca83fa5fbcfeab927",
"email": "emailupdate@gmail.update",
"phoneNumber": "+6281280742772",
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [
{
"title": "kencing-ashiap",
"timestamp": "1565853166770",
"_id": "5d5505eed85a0487ef90f9ec"
},
{
"title": "kencing-ashiap-yiha",
"timestamp": "1565853342730",
"_id": "5d55069e135b3e883b5db873"
},
{
"title": "kencing-ashiap-yih-anjasmara",
"timestamp": "1565853371036",
"_id": "5d5506bb135b3e883b5db874"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": null
},
{
"_id": "5d53ca06a0aba9fc1b971e1d",
"email": "testi3gd4s3d3@mailinator.com",
"phoneNumber": "+6281280839282",
"source": null,
"activityLog": [],
"skill": {
"jobRoleId": {
"_id": null,
"title": null,
"state": null
},
"jobLevelId": {
"_id": null,
"title": null,
"state": null
},
"experience": "10"
},
"linkedInUrl": "http://kucing.com",
"cvUrl": "http://tms-api.apps.playcourt.id/media/1565859050426192_bc375600766136c9a724c47a252c0285.pdf",
"portfolioUrl": "http://tms-api.apps.playcourt.id/media/1565859051917719_6e81385a4a1a5247ca75ec06ea23e018.pdf",
"portfolioLinkUrl": "http://kucing.com",
"stackIds": [
{
"_id": "5c3c51a034d8633278e730e8",
"title": null,
"state": null
},
{
"_id": "5c3c51a034d8633278e730e9",
"title": null,
"state": null
}
],
"assessments": null
},
{
"_id": "5d53ca29ce2e5afc4a98e726",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": null
},
{
"_id": "5d54dac02f125308aa3e3c19",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [
{
"title": "kencing-ashiap-yih-anjasmara-merpati",
"timestamp": "1565853401204",
"_id": "5d5506d9135b3e883b5db875"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": null
},
{
"_id": "5d5b6df71f3f54002c8e902d",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
{
"_id": "5d5b6ecd1f3f54002c8e902e",
"email": "ayubi@mailinator.com",
"phoneNumber": "+628098999888888",
"source": {
"type": "program",
"title": "aku yahudi"
},
"activityLog": [],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
{
"_id": "5d5ba015ee05e037a6b32c6a",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"source": {
"type": "program",
"title": "Tito Handoko"
},
"activityLog": [
{
"title": "Send an Email",
"timestamp": "1566285845902",
"_id": "5d5ba015ee05e037a6b32c6b"
},
{
"title": "Email Sent",
"timestamp": "1566285846742",
"_id": "5d5ba016ee05e037a6b32c6c"
},
{
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566285846848",
"_id": "5d5ba016ee05e037a6b32c6d"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
},
{
"_id": "5d5ca4c58c66f9002ceb74e6",
"email": "kucing@kucing.com",
"phoneNumber": "+6282873637387",
"source": {
"type": "program",
"title": "RUmah Tito"
},
"activityLog": [
{
"title": "Send an Email",
"timestamp": "1566352581094",
"_id": "5d5ca4c58c66f9002ceb74e7"
},
{
"title": "Email Sent",
"timestamp": "1566352582041",
"_id": "5d5ca4c68c66f9002ceb74e8"
},
{
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566352582091",
"_id": "5d5ca4c68c66f9002ceb74e9"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": []
}
]
}
}
}
5. Get Candidate History¶
Name | getCandidateHistory |
Description | This API is used to get history of candidate |
Content-Type | application/json |
query for getCandidateHistory
:
query getCandidateHistory {
getCandidateHistory(candidateHistoryId: "5d53c95ca83fa5fbcfeab927")
{
_id
fullName
email
phoneNumber
isActive
source{
type
title
}
activityLog{
_id
title
timestamp
}
skill{
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
result{
pass
failed
score
}
candidateHistoryId
questions {
liveCoding{
mainFunction{
paramsType
outputType
generate
}
testCase{
params
output
}
answerCode
results
}
answer{
correctIndexes
selectedIndexes
score
list{
title
}
}
isMarked
isVisited
title
type
}
timeSpent
startTime
endTime
isStart
isSubmit
type
}
}
}
Response:
{
"data": {
"getCandidateHistory": {
"_id": "5d53c95ca83fa5fbcfeab927",
"fullName": "fullName Update",
"email": "emailupdate@gmail.update",
"phoneNumber": "+6281280742772",
"isActive": false,
"source": {
"type": "refferal",
"title": "RUmah Tito"
},
"activityLog": [
{
"_id": "5d5505eed85a0487ef90f9ec",
"title": "kencing-ashiap",
"timestamp": "1565853166770"
},
{
"_id": "5d55069e135b3e883b5db873",
"title": "kencing-ashiap-yiha",
"timestamp": "1565853342730"
},
{
"_id": "5d5506bb135b3e883b5db874",
"title": "kencing-ashiap-yih-anjasmara",
"timestamp": "1565853371036"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a8cb607ed0028f841fe",
"title": "Full Stack Engineer",
"state": "FULL_STACK_ENGINEER"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"experience": null
},
"linkedInUrl": null,
"cvUrl": null,
"portfolioUrl": null,
"portfolioLinkUrl": null,
"stackIds": [],
"assessments": null
}
}
}
6. Update Candidate History¶
Name | updateCandidateHistory |
Description | This API is used to update history of candidate |
Content-Type | application/json |
mutation for updateCandidateHistory
:
mutation UpdateCandidateHistory {
updateCandidateHistory(
candidateHistoryId: "5d5cb4c586d7ad002c1378d7"
input: {
nik: "1234512345121456"
fullName: "Bayu Saputra"
email: "bayu@mailinator.com"
phoneNumber: "+6282812341234"
}
) {
_id
}
}
Response :
{
"data": {
"updateCandidateHistory": {
"_id": "5d5cb4c586d7ad002c1378d7"
}
}
}
7. Update Candidate History Status (Recruiting Status)¶
Name | updateCandidateHistoryStatus |
Description | This API is used to update recruiting status candidate |
Content-Type | application/json |
mutation for updateCandidateHistoryStatus
:
mutation UpdateCandidateHistoryStatus{
updateCandidateHistoryStatus(
candidateHistoryId: "5d5cb4c586d7ad002c1378d7"
input: {
activityLog: "Completed Data Profile & Grit Test"
}
) {
_id
}
}
Response:
{
"data": {
"updateCandidateHistoryStatus": {
"_id": "5d5cb4c586d7ad002c1378d7"
}
}
}
8. Update Candidate Status¶
Name | toggleCandidateHistoryIsActive |
Description | This API is update status Candidate |
Content-Type | application/json |
mutation for toggleCandidateHistoryIsActive
:
mutation toggleCandidateHistoryIsActive{
toggleCandidateHistoryIsActive(
candidateHistoryId: "5d5cb4c586d7ad002c1378d7"
)
{
_id
}
}
Response:
{
"data": {
"toggleCandidateHistoryIsActive": {
"_id": "5d5cb4c586d7ad002c1378d7"
}
}
}
9. Send Email Invitation to Candidate¶
Name | EmailCandidateInvite |
Description | This API is used to send email invitation to candidate |
Content-Type | application/json |
mutation for emailCandidateInvite
:
mutation EmailCandidateInvite {
emailCandidateInvite
(candidateHistoryId: "5cfec0f6d50883f7e3e2456f")
}
Response:
{
"data": {
"emailCandidateInvite": "success"
}
}
10. Send Email Invitation Assessment to Candidate¶
Name | EmailCandidateInvite |
Description | This API is used to send email invitation to candidate |
Content-Type | application/json |
mutation for emailCandidateAssessmentLog
:
mutation emailCandidateAssessmentLog {
emailCandidateAssessmentLog
(candidateHistoryId: "5cfec0f6d50883f7e3e2456f")
}
Response:
{
"data": {
"emailCandidateAssessmentLog": "success"
}
}
11. Download Report Candidate Base on Current Active Filter¶
query for getCandidatesReport
:
query getCandidatesReport{
getCandidatesReport(filter: {
# isLatest: true
}){
fullName
nik
jobRoleTitle
jobLevelTitle
skillTestScore
skillTestTime
gritTestScore
gritTestTime
cvUrl
linkedInUrl
portfolioUrl
portfolioLinkUrl
stacks
}
}
Response:
Pool-List of Talent¶
1. Add New Data Talent¶
Name | createTalent |
Description | This API is used to create data talent |
Content-Type | application/json |
mutation for createTalent
:
mutation createTalent{
createTalent(input: {
fullName: "Eka Afrianti"
email: "ekaafrianti01@gmail.com"
phoneNumber: "+6281399000090"
source: {
type: "referral",
title: "Hafiz Joundy Syafie"
}
skills: [
{
jobLevelId: "5c1befe06450f803866801db",
jobRoleId: "5cb40ab2b607ed0028f841ff"
}
]
}){
_id
}
}
Response:
{
"data": {
"createTalent": {
"_id": "5c9898689fdf4b0028c8ade8"
}
},
"extensions": {}
}
2. View List Data Talent¶
Name | getTalents |
Description | This API is used to get data talent |
Content-Type | application/json |
query for getTalents
:
query GetListTalents {
getTalents {
data {
_id
fullName
telkomId
email
phoneNumber
nik
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
telkomId
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
source {
title
type
}
projects {
tribe
title
squad
}
candidateId{
_id
nik
}
createdAt
updatedAt
}
count
}
}
Response:
{
"data": {
"getTalents": {
"data": [
{
"_id": "5d5b83789d7d66346da34752",
"fullName": "Tito Kun",
"telkomId": "T.2019.08.A.053",
"email": "tito@tito.com",
"phoneNumber": "+62123328292029",
"nik": "3302192905820001",
"linkedInUrl": "https://www.linkedin.com/in/cacahan",
"cvUrl": "https://www.linkedin.com/in/cacahan",
"portfolioUrl": "https://www.linkedin.com/",
"portfolioLinkUrl": null,
"jobRoleId": {
"_id": "5cb4099090bb020028450e7a",
"title": "Data Scientist",
"state": "DATA_SCIENTIST"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"source": {
"title": "BPJS",
"type": "program"
},
"projects": [
{
"tribe": "TDS",
"title": "TDS - Assurance",
"squad": "Squad TDS 1"
},
{
"tribe": "TDS",
"title": "TDS - Bank",
"squad": "Squad TDS 2"
}
],
"candidateId": {
"_id": "5d53c7820658a50f219f5744",
"nik": null
},
"createdAt": "1566278520915",
"updatedAt": "1566376570724"
}
],
"count": 8
}
}
}
3. View Data Talent Detail¶
Name | getTalent |
Description | This API is used to get data talent detail |
Content-Type | application/json |
query for getTalent
:
query getTalentDetail{
getTalent(talentId: "5d5b83789d7d66346da34752"){
_id
fullName
telkomId
email
phoneNumber
nik
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
source{
type
title
}
isActive
projects{
tribe
title
squad
}
candidateId{
_id
nik
latestFullName
latestPhoneNumber
latestActivityLog {
_id
title
timestamp
}
latestEmail
funnelId {
_id
title
state
}
history {
_id
fullName
email
phoneNumber
source {
type
title
}
isActive
activityLog{
_id
title
timestamp
}
skill{
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
experience
}
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
stackIds{
_id
title
state
}
assessments{
_id
result{
pass
failed
score
}
questions{
liveCoding{
mainFunction{
paramsType
outputType
generate
}
testCase{
params
output
}
answerCode
results
}
answer{
correctIndexes
selectedIndexes
score
list{
title
}
}
isMarked
isVisited
title
type
}
timeSpent
startTime
endTime
isStart
isSubmit
type
}
}
createdAt
updatedAt
}
createdAt
updatedAt
}
}
Response:
{
"data": {
"getTalent": {
"_id": "5d5b83789d7d66346da34752",
"fullName": "Tito Wijaya",
"telkomId": "T.2019.08.A.053",
"email": "tito@tito.com",
"phoneNumber": "+62123328292029",
"nik": "3302192905820001",
"linkedInUrl": "https://www.linkedin.com/in/cacahan",
"cvUrl": "https://www.linkedin.com/in/cacahan",
"portfolioUrl": "https://www.linkedin.com/",
"portfolioLinkUrl": null,
"jobRoleId": {
"_id": "5cb4099090bb020028450e7a",
"title": "Data Scientist",
"state": "DATA_SCIENTIST"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"source": {
"type": "program",
"title": "BPJS"
},
"isActive": true,
"projects": [
{
"tribe": "TDS",
"title": "TDS - Assurance",
"squad": "Squad TDS 1"
},
{
"tribe": "TDS",
"title": "TDS - Bank",
"squad": "Squad TDS 2"
}
],
"candidateId": {
"_id": "5d53c7820658a50f219f5744",
"nik": null,
"latestFullName": "Tito Handoko dongs dongs",
"latestPhoneNumber": "20833223239",
"latestActivityLog": {
"_id": "5d5b5569d99b7e284828e80a",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566266729674"
},
"latestEmail": "jodfd323ss2@mailinator.com",
"funnelId": {
"_id": "5c24bcf85108408debf4d065",
"title": null,
"state": null
},
"history": [
{
"_id": "5cfec0f6d50883f7e3e2456f",
"fullName": "Tito Handoko dongs dongs",
"email": "jodfd323ss2@mailinator.com",
"phoneNumber": "20833223239",
"source": {
"type": "refferal',
"title": "dilo"
},
"isActive": true,
"activityLog": [
{
"_id": "5cfec0f6d50883f7e3e24571",
"title": "Send an Email",
"timestamp": "1560199414579"
},
{
"_id": "5cfec0fad50883f7e3e24572",
"title": "Email Sent",
"timestamp": "1560199418499"
},
{
"_id": "5cfec0fad50883f7e3e24573",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1560199418655"
},
{
"_id": "5d3934d685ab2131c483d157",
"title": "Completed Skill Test",
"timestamp": "1564030166257"
},
{
"_id": "5d5b552fb084492830465759",
"title": "Send an Email",
"timestamp": "1566266671184"
},
{
"_id": "5d5b5567d99b7e284828e808",
"title": "Send an Email",
"timestamp": "1566266727872"
},
{
"_id": "5d5b5569d99b7e284828e809",
"title": "Email Sent",
"timestamp": "1566266729647"
},
{
"_id": "5d5b5569d99b7e284828e80a",
"title": "Incomplete Data Profile & Grit Test",
"timestamp": "1566266729674"
}
],
"skill": {
"jobRoleId": {
"_id": "5cb40a3bb607ed0028f841fb",
"title": null,
"state": null
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": null,
"state": null
},
"experience": null
},
"linkedInUrl": "http://kucing.com",
"cvUrl": "http://tms-api.apps.playcourt.id/media/1560199751832874_91311716a147c896787290658f862768.pdf",
"portfolioUrl": null,
"portfolioLinkUrl": "http://kucing.com",
"stackIds": [
{
"_id": "5c3c51a034d8633278e730e8",
"title": null,
"state": null
},
{
"_id": "5c3c51a034d8633278e730e9",
"title": null,
"state": null
}
],
"assessments": [
{
"_id": "5cfec249f57fcdf9c72d7238",
"result": {
"pass": 2,
"failed": 4,
"score": 33.33
},
"questions": [
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [
1
],
"selectedIndexes": [
1
],
"score": [],
"list": [
{
"title": "123"
},
{
"title": "123123"
},
{
"title": "123"
},
{
"title": "123"
}
]
},
"isMarked": true,
"isVisited": true,
"title": "<p>123</p>",
"type": "mcq"
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [
1
],
"selectedIndexes": [],
"score": [],
"list": [
{
"title": "1"
},
{
"title": "1"
},
{
"title": "1"
},
{
"title": "1"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "<p>1234</p>",
"type": "mcq"
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [
1
],
"selectedIndexes": [],
"score": [],
"list": [
{
"title": "False"
},
{
"title": "True"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "<p>1234</p>",
"type": "tf"
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [
0
],
"selectedIndexes": [],
"score": [],
"list": [
{
"title": "<br>"
},
{
"title": "<newline>"
},
{
"title": "<span> 123"
},
{
"title": "<break>"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "<p>ewffw11111</p>",
"type": "mcq"
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [
1
],
"selectedIndexes": [],
"score": [],
"list": [
{
"title": "1231"
},
{
"title": "1234"
},
{
"title": "1222"
},
{
"title": "12212"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "<p>12345</p>",
"type": "mcq"
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [
"number",
"number"
],
"outputType": "number",
"generate": "const main = function(inp1, inp2) {\n\n }"
},
"testCase": [
{
"params": [
"5",
"3"
],
"output": "8"
},
{
"params": [
"1",
"2"
],
"output": "3"
},
{
"params": [
"-3",
"-3"
],
"output": "-6"
}
],
"answerCode": "const main = (a, b) => {\n return a+b\n\n}",
"results": [
true,
true,
true
]
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [],
"list": []
},
"isMarked": true,
"isVisited": true,
"title": "<p>Sum 2 input variables <em>A </em>& <em>B</em></p><p></p><p><em>Example:</em> </p><p>A -> 5</p><p>B -> 3</p><p>Expected Output -> 8</p>",
"type": "lc"
}
],
"timeSpent": "7200",
"startTime": "1563293494057",
"endTime": "1563300694057",
"isStart": true,
"isSubmit": true,
"type": "exam"
},
{
"_id": "5cfec249f57fcdf9c72d7254",
"result": {
"pass": 0,
"failed": 0,
"score": 3
},
"questions": [
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
1,
2,
3,
4,
5
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": true,
"title": "I have difficulty maintaining my focus on projects that take more than a few months to complete.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
5,
4,
3,
2,
1
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I am diligent. I never give up.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
1,
2,
3,
4,
5
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "New ideas and projects sometimes distract me from previous ones.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
1,
2,
3,
4,
5
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "My interests change from year to year.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
1,
2,
3,
4,
5
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I often set a goal but later choose to pursue a different one.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
1,
2,
3,
4,
5
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I have been obsessed with a certain idea or project for a short time but later lost interest.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
5,
4,
3,
2,
1
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I finish whatever I begin",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
5,
4,
3,
2,
1
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "Setbacks don’t discourage me. I don’t give up easily.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
5,
4,
3,
2,
1
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I have overcome setbacks to conquer an important challenge.",
"type": null
},
{
"liveCoding": {
"mainFunction": {
"paramsType": [],
"outputType": null,
"generate": null
},
"testCase": [],
"answerCode": null,
"results": []
},
"answer": {
"correctIndexes": [],
"selectedIndexes": [],
"score": [
5,
4,
3,
2,
1
],
"list": [
{
"title": "Very much like me"
},
{
"title": "Mostly like me"
},
{
"title": "Somewhat like me"
},
{
"title": "Not much like me"
},
{
"title": "Not like me at all"
}
]
},
"isMarked": false,
"isVisited": false,
"title": "I am a hard worker.",
"type": null
}
],
"timeSpent": "73",
"startTime": "1560199787255",
"endTime": "9999999999999",
"isStart": true,
"isSubmit": true,
"type": "grit"
}
]
}
],
"createdAt": null,
"updatedAt": "1566266729675"
},
"createdAt": "1566278520915",
"updatedAt": "1566454234600"
}
}
}
4. Filter Data Talent¶
Name | filterTalents |
Description | This API is used to get data talent by filter |
Content-Type | application/json |
query for filterTalents
:
query FilterTalents {
getTalents(filter: {
jobRoleId: "5cb4099090bb020028450e7a"
jobLevelId: "5c1befe06450f803866801db"
#source: {
# type: "program"
# title: "BPJS"
#}
#date: {
# start: ""
# end: ""
#}
#isActive: true
#sort: ""
#skip: 0
#limit: 0
}) {
data {
_id
fullName
telkomId
email
phoneNumber
nik
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
telkomId
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
source {
title
type
}
projects {
tribe
title
squad
}
candidateId{
_id
nik
}
createdAt
updatedAt
}
count
}
}
Response:
{
"data": {
"getTalents": {
"data": [
{
"_id": "5d5b83789d7d66346da34752",
"fullName": "Tito Kun",
"telkomId": "T.2019.08.A.053",
"email": "tito@tito.com",
"phoneNumber": "+62123328292029",
"nik": "3302192905820001",
"linkedInUrl": "https://www.linkedin.com/in/cacahan",
"cvUrl": "https://www.linkedin.com/in/cacahan",
"portfolioUrl": "https://www.linkedin.com/",
"portfolioLinkUrl": null,
"jobRoleId": {
"_id": "5cb4099090bb020028450e7a",
"title": "Data Scientist",
"state": "DATA_SCIENTIST"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"source": {
"title": "BPJS",
"type": "program"
},
"projects": [
{
"tribe": "TDS",
"title": "TDS - Assurance",
"squad": "Squad TDS 1"
},
{
"tribe": "TDS",
"title": "TDS - Bank",
"squad": "Squad TDS 2"
}
],
"candidateId": {
"_id": "5d53c7820658a50f219f5744",
"nik": null
},
"createdAt": "1566278520915",
"updatedAt": "1566376570724"
}
],
"count": 8
}
}
}
5. Search Data Talent¶
Name | searchTalents |
Description | This API is used to get data talent by name talent |
Content-Type | application/json |
query for searchTalents
:
query GetTalents {
getTalents(search: {
fullName: "Tito"
}) {
data {
_id
fullName
telkomId
email
phoneNumber
nik
linkedInUrl
cvUrl
portfolioUrl
portfolioLinkUrl
telkomId
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
source {
title
type
}
projects {
tribe
title
squad
}
candidateId{
_id
nik
}
createdAt
updatedAt
}
count
}
}
Response:
{
"data": {
"getTalents": {
"data": [
{
"_id": "5d5b83789d7d66346da34752",
"fullName": "Tito Kun",
"telkomId": "T.2019.08.A.053",
"email": "tito@tito.com",
"phoneNumber": "+62123328292029",
"nik": "3302192905820001",
"linkedInUrl": "https://www.linkedin.com/in/cacahan",
"cvUrl": "https://www.linkedin.com/in/cacahan",
"portfolioUrl": "https://www.linkedin.com/",
"portfolioLinkUrl": null,
"jobRoleId": {
"_id": "5cb4099090bb020028450e7a",
"title": "Data Scientist",
"state": "DATA_SCIENTIST"
},
"jobLevelId": {
"_id": "5c1befe06450f803866801db",
"title": "Medium",
"state": "MEDIUM"
},
"source": {
"title": "BPJS",
"type": "program"
},
"projects": [
{
"tribe": "TDS",
"title": "TDS - Assurance",
"squad": "Squad TDS 1"
},
{
"tribe": "TDS",
"title": "TDS - Bank",
"squad": "Squad TDS 2"
}
],
"candidateId": {
"_id": "5d53c7820658a50f219f5744",
"nik": null
},
"createdAt": "1566278520915",
"updatedAt": "1566376570724"
}
],
"count": 8
}
}
}
6. Send Email Invitation to talent¶
Name | EmailTalentInvite |
Description | This API is used to send email invitation to talent |
Content-Type | application/json |
mutation for EmailTalentInvite
:
mutation EmailTalentInvite {
emailTalentInvite(input: {
email: "tito@gmail.com"
})
}
Response:
{
"data": {
"emailTalentInvite": "success"
}
}
7. Send Email Reminder to talent¶
Name | EmailTalentReminder |
Description | This API is used to send email reminder to talent |
Content-Type | application/json |
mutation for EmailTalentReminder
:
mutation EmailTalentReminder {
emailTalentReminder(input: {
email: "ekaafrianti01@gmail.com"
})
}
Response:
{
"data": {
"emailTalentReminder": "success"
},
"extensions": {}
}
8. Edit Data Talent¶
Name | updateTalent |
Description | This API is used to update data talent |
Content-Type | application/json |
mutation for updateTalent
:
mutation UpdateTalent {
updateTalent(talentId: "5d5b83789d7d66346da34752" input: {
fullName: "Tito Wijaya"
email: "tito@tito.com"
phoneNumber: "+62123328292029"
}) {
_id
}
}
Response:
{
"data": {
"updateTalent": {
"_id": "5d5b83789d7d66346da34752"
}
}
}
9. Change Recruiting Status Talent¶
Name | updateTalentStatus |
Description | This API is used to update recruiting status talent |
Content-Type | application/json |
mutation for UpdateTalentStatus
:
mutation UpdateTalentStatus {
updateTalentStatus(input: {
talentId: "5c25db88623b1dc767cd52b1"
activityLog: "Send an Email"
}) {
_id
}
}
Response :
{
"data": {
"updateTalentStatus": {
"_id": "5c25db88623b1dc767cd52b1"
}
},
"extensions": {}
}
10. Send Email Assessment to talent¶
Name | emailTalentAssessmentLog |
Description | This API is used to send email assessment to talent |
Content-Type | application/json |
mutation for emailCandidateInvite
:
mutation emailTalentAssessmentLog {
emailTalentAssessmentLog(input:
{
email: "tito@tito.com"
})
}
Response:
{
"data": {
"emailTalentAssessmentLog": "success"
}
}
Assessment¶
1. Generate Assessment Log¶
mutation for GenerateAssessmentLog
:
mutation GenerateAssessmentLog {
generateAssessmentLog(candidateHistoryId: "5d5b83789d7d66346da34752")
}
Response:
{
"data": {
"generateAssessmentLog": "success"
}
}
2. Submit AssessmentLog¶
mutation for submitAssessmentLog
:
mutation SubmitAssessmentLog {
submitAssessmentLog(
candidateHistoryId: "5d5b83789d7d66346da34752"
assessmentLogId: "5cfec249f57fcdf9c72d7238"
)
}
Response:
{
"data": {
"submitAssessmentLog": "success"
}
}
3. update AssessmentLog Question¶
mutation for updateAssessmentLogQuestion
:
mutation updateAssessmentLogQuestion{
updateAssessmentLogQuestion(
candidateHistoryId: "5d5b83789d7d66346da34752"
assessmentLogId:"5cfec249f57fcdf9c72d7238"
questionId: "5c98767e9fdf4b0028c8adb5"
input: {
answerIndex: 4
isMarked: true
}){
_id
}
}
Response:
{
"data": {
"updateAssessmentLogQuestion": {
"_id": "5d5b83789d7d66346da34752"
}
}
}
4. Auto Submit Assessment¶
mutation for bulkSubmitAssessmentLog
:
mutation bulkSubmitAssessmentLog{
bulkSubmitAssessmentLog
}
Response:
{
"data": {
"bulkSubmitAssessmentLog": "success"
}
}
Pool-Assessors¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
fullName | string | 10 | 50 | required | Bramasta Dwi Saka |
string | 10 | 50 | required, must be contains email corporate | bramasta@codex.works | |
phoneNumber | string | 10 | 15 | required, starting with ‘+’ | +6281399889989 |
nik | string | 6 | 6 | optional | 123456 |
skills | Array of object | required | |||
jobLevelId | objectId | required | Senior | ||
jobRoleId | objectId | required | JUser Interface |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Assessor Name | string | Name of assessor | Bramasta Dwi Saka |
string | Email corporate assessor | bramasta@codex.works | |
Phone Number | string | phone number assessor | +6281399889989 |
NIK | string | NIK corporate assessor if he/she have | 123456 |
Assessor for | string | assess role and assess level assessor | Senior User Interface |
Invitation Status | string | Invitation Status | Confirm |
Status | boolean | Status assessor in dashboard | Active |
1. Add New Data Assessor¶
Name | createAssessor |
Description | This API is used to add New Data Assessor |
Content-Type | application/json |
mutation for createAssessor
:
mutation createAssessor{
createAssessor(input:
{
fullName: "Bramasta Dwi Saka"
email: "bramasta@codex.works"
phoneNumber: "+6281234512399"
nik: "123456"
skills: [
{
jobLevelId: "5c1befea8b316703ab7f6710"
jobRoleId: "5c1f85f8c315bb5bd1d628cf"
}
]
})
{
_id
}
}
Response:
{
"data": {
"createAssessor": {
"_id": "5c7d1f7cadec6200288959a8"
}
},
"extensions": {}
}
2. View Data Assessor¶
Name | getAssessors |
Description | This API is used to get Data Assessor |
Content-Type | application/json |
query for getAssessors
:
query GetAssessors{
getAssessors{
data{
_id
status
userId{
_id
email
phoneNumber
fullName
nik
roleId{
_id
title
state
level
}
userTypeId{
_id
title
state
}
isActive
lastLoggedIn
lastResetPassword{
email
phoneNumber
}
}
}
}
}
Response:
{
"data": {
"getAssessors": {
"data": [
{
"_id": "5d47e48afda436002ce3b95e",
"status": "WAITING_FOR_CONFIRMATION",
"userId": {
"_id": "5d47e48afda436002ce3b95d",
"email": "assessor@codex.works",
"phoneNumber": "+62813982928392",
"fullName": "assessor Test",
"nik": "112373",
"roleId": {
"_id": "5c1c6d16a3fba470ca1846fa",
"title": null,
"state": null,
"level": null
},
"userTypeId": {
"_id": "5c19becc5a1665f6073c0cb3",
"title": null,
"state": null
},
"isActive": false,
"lastLoggedIn": null,
"lastResetPassword": null
}
}
]
}
}
}
3. Update Data Assessor¶
Name | updateAssessor |
Description | This API is used to update Data Assessor |
Content-Type | application/json |
mutation for updateAssessor
:
mutation updateAssessor{
updateAssessor(assessorId: "5c7d1f7cadec6200288959a8" input: {
name: "Bramasta"
email: "bramasta@codex.works"
phoneNumber: "+6281234512399"
nik: "123426"
skills: [
{
jobLevelId: "5c1befea8b316703ab7f6710"
jobRoleId: "5c1f85f8c315bb5bd1d628cf"
}
]
}){
_id
}
}
Response:
{
"data": {
"updateAssessor": {
"_id": "5c7d1f7cadec6200288959a8"
}
},
"extensions": {}
}
4. Active-Inactive Assessor¶
Name | toggleActiveAssessor |
Description | This API is used to update status assessor |
Content-Type | application/json |
mutation for toggleActiveAssessor
:
mutation toggleActiveAssessor{
toggleActiveAssessor(assessorId: "5c7d1f7cadec6200288959a8")
{
_id
}
}
Response:
{
"data": {
"toggleActiveAssessor": {
"_id": "5c7d1f7cadec6200288959a8"
}
},
"extensions": {}
}
5. Filter Data Assessor¶
Name | FilterAssessors |
Description | This API is used to get Data Assessor by filter |
Content-Type | application/json |
query for FilterAssessors
:
query FilterAssessors{
getAssessors(filter: {
jobRoleId: "5c1f85f8c315bb5bd1d628cf"
jobLevelId: "5c1befea8b316703ab7f6710"
isActive: true
status: "WAITING_FOR_CONFIRMATION"
skip: 1
limit: 1
sort: ""
})
{ data{
_id
status
userId{
_id
email
phoneNumber
fullName
nik
roleId{
_id
title
state
level
}
userTypeId{
_id
title
state
}
isActive
lastLoggedIn
lastResetPassword{
email
phoneNumber
}
}
}
count
}
}
Response:
{
"data": {
"getAssessors": {
"data": [
{
"_id": "5d47e48afda436002ce3b95e",
"status": "WAITING_FOR_CONFIRMATION",
"userId": {
"_id": "5d47e48afda436002ce3b95d",
"email": "assessor@codex.works",
"phoneNumber": "+62813982928392",
"fullName": "assessor Test",
"nik": "112373",
"roleId": {
"_id": "5c1c6d16a3fba470ca1846fa",
"title": null,
"state": null,
"level": null
},
"userTypeId": {
"_id": "5c19becc5a1665f6073c0cb3",
"title": null,
"state": null
},
"isActive": false,
"lastLoggedIn": null,
"lastResetPassword": null
}
}
],
"count": 16
}
}
}
6. Search Data Assessor¶
Name | SearchAssessors |
Description | This API is used to get Data Assessor by search |
Content-Type | application/json |
query for SearchAssessors
:
query SearchAssessors{
getAssessors(search: {
fullName: "Bramasta"
}){
data{
_id
status
userId {
email
phoneNumber
nik
fullName
isActive
}
skills {
jobRoleId {
_id
title
state
}
jobLevelId {
_id
title
state
}
}
}
count
}
}
Response:
{
"data": {
"getAssessors": {
"data": [
{
"_id": "5c7d1f7cadec6200288959a8",
"status": "WAITING_FOR_CONFIRMATION",
"userId": {
"email": "bramasta@codex.works",
"phoneNumber": "+6281234512399",
"nik": "123456",
"fullName": "Bramasta Dwi Saka",
"isActive": true
},
"skills": [
{
"jobRoleId": {
"_id": "5c1f85f8c315bb5bd1d628cf",
"title": "User Interface",
"state": "USER_INTERFACE"
},
"jobLevelId": {
"_id": "5c1befea8b316703ab7f6710",
"title": "Senior",
"state": "SENIOR"
}
}
]
}
],
"count": 3
}
},
"extensions": {}
}
Pool-Partners¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
CompanyName | string | 1 | 50 | required | PT. Solusi Konvergen Indonesia |
PIC | string | 1 | 50 | required | Dewi Rosalia |
string | 1 | 50 | required, must contains email corporate | dewi@ski.id | |
phoneNumber | string | 10 | 15 | required, starting with ‘+’ | +6281308998879 |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Company Name | string | Company name that our partner | PT. Solusi Konvergen Indonesia |
PIC Name | string | PIC Name in the company | Dewi Rosalia |
string | email corporate of PIC | dewi@ski.id | |
Phone Number | string | phone number of PIC | +6281308998879 |
Number of Talent | string | number of talents under the partner | 45 |
Count | number | count of company | 10 |
1. Add New Data Partner¶
Name | createPartner |
Description | This API is used to add new data Partner |
Content-Type | application/json |
mutation for createPartner
:
mutation createPartner {
createPartner(input: {
companyName: "PT. Solusi Konvergen Indonesia"
PIC: "Dewi Rosalia"
email: "dewi@ski.id"
phoneNumber: "+6281308998879"
}){
_id
}
}
Response:
{
"data": {
"createPartner": {
"_id": "5c7e3258c158450028217091"
}
},
"extensions": {}
}
2. View Data Partners¶
Name | getPartners |
Description | This API is used to get data partner |
Content-Type | application/json |
query for getPartners
:
query getPartners {
getPartners(filter: {
# isActive: true
# sort: 1
# skip: 1
# sort: "-email"
}){
data{
_id
companyName
PIC
email
phoneNumber
count
isActive
}
count
}
}
Response:
{
"data": {
"getPartners": {
"data": [
{
"_id": "5c268141945652c6b80da941",
"companyName": "PT. Solusi Konvergensi Indonesia",
"PIC": "Dewi Rosalia",
"email": "dewi@ski.id",
"phoneNumber": "+6281308998879",
"count": "8",
"isActive": true
}
],
"count": 10
}
},
"extensions": {}
}
3. Update Data Partner¶
Name | updatePartner |
Description | This API is used to update data partner |
Content-Type | application/json |
query for updatePartner
:
mutation updatePartner {
updatePartner(partnerId: "5c268141945652c6b80da941" input: {
companyName: "PT. Solusi Konvergensi Indonesia"
PIC: "Dewi Rosalia"
email: "dewi@ski.id"
phoneNumber: "+6281308998879"
}){
_id
}
}
Response:
{
"data": {
"updatePartner": {
"_id": "5c268141945652c6b80da941"
}
},
"extensions": {}
}
4. Active-Inactive Partner¶
Name | toggleActivePartner |
Description | This API is used to update status partner |
Content-Type | application/json |
mutation for toggleActivePartner
:
mutation toggleActivePartner{
toggleActiveAssessor(partnerId: "5c268141945652c6b80da941")
{
_id
}
}
Response:
{
"data": {
"toggleActivePartner": {
"_id": "c268141945652c6b80da941"
}
},
"extensions": {}
}
5. Filter Data Partners¶
Name | FilterPartners |
Description | This API is used to get Data Partners by filter |
Content-Type | application/json |
query for FilterPatners
:
query FilterPatners {
getPartners(filter: {
isActive: true
sort: 1
skip: 1
sort: "-email"
}){
data{
_id
companyName
PIC
email
phoneNumber
count
isActive
}
count
}
}
Response:
{
"data": {
"getPartners": {
"data": [
{
"_id": "5c268141945652c6b80da941",
"companyName": "PT. Solusi Konvergensi Indonesia",
"PIC": "Dewi Rosalia",
"email": "dewi@ski.id",
"phoneNumber": "+6281308998879",
"count": "8",
"isActive": true
}
],
"count": 10
}
},
"extensions": {}
}
6. Search Data Partners¶
Name | SearchPartners |
Description | This API is used to get Data Partners by search |
Content-Type | application/json |
query for SearchPartners
:
query SearchPartners {
getPartners(search: {
companyName: "Solusi"
}){
data{
_id
companyName
PIC
email
phoneNumber
count
isActive
}
count
}
}
Response:
{
"data": {
"getPartners": {
"data": [
{
"_id": "5c268141945652c6b80da941",
"companyName": "PT. Solusi Konvergensi Indonesia",
"PIC": "Dewi Rosalia",
"email": "dewi@ski.id",
"phoneNumber": "+6281308998879",
"count": "8",
"isActive": true
}
],
"count": 1
}
},
"extensions": {}
}
Pool-TM Members¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
fullName | string | 1 | 50 | required | Facnia Dwi Zettira |
string | 1 | 50 | required, must be contains email corporate | facnia@codex.works | |
phoneNumber | string | 10 | 15 | required, starting with ‘+’ | +6281309090808 |
nik | string | 6 | 6 | optional | 090900 |
roleId | objectId | required | Super Admin |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
TM Member Name | string | TM member name | Facnia Dwi Zettira |
string | email corporate of tm member | fachnia@codex.works | |
Phone Number | string | phone number of tm member | +6281383162787 |
NIK | string | NIK of TM member if he/she have | 090900 |
Role | string | Role TM member in dashboard | Super Admin |
Invitation Status | string | Invitation status for TM member | Confirm |
Status | boolean | Status TM member in dashboard | Active |
1. Add New Data TM Member¶
Name | createTmMember |
Description | This API is used to add new data TM Member |
Content-Type | application/json |
mutation for createTmMember
:
mutation CreateTmMember {
createTmMember(input: {
fullName: "Facnia Dwi Zettira",
email: "facnia@codex.works",
phoneNumber: "+6281383162787",
roleId: "5c1caaa5fb6fc00eee84421d"
})
{
_id
}
}
Response:
{
"data": {
"createTmMember": {
"_id": "5c9358879fdf4b0028c8ad8c"
}
},
"extensions": {}
}
2. View Data TM Member¶
Name | GetTmMembers |
Description | This API is used to get data TM Member |
Content-Type | application/json |
query for GetTmMembers
:
query GetTmMembers {
getTmMembers {
data {
_id
email
phoneNumber
fullName
userTypeId {
_id
title
}
roleId {
_id
title
}
isActive
}
count
}
}
Response:
{
"data": {
"getTmMembers": {
"data": [
{
"_id": "5c9358879fdf4b0028c8ad8c",
"email": "fachnia@codex.works",
"phoneNumber": "+6281383162787",
"fullName": "Facnia Dwi Zettira",
"userTypeId": {
"_id": "5c19beee5a1665f6073c0cb5",
"title": "TM Member"
},
"roleId": {
"_id": "5c1caaa5fb6fc00eee84421d",
"title": "Super Admin"
},
"isActive": false
}
],
"count" : 7
}
},
"extensions" : {}
}
3. Update Data TM Member¶
Name | UpdateTmMember |
Description | This API is used to update data TM Member |
Content-Type | application/json |
mutation for updateTmMember
:
mutation UpdateTmMember {
updateTmMember(userId: "5c9358879fdf4b0028c8ad8c", input: {
fullName: "Facnia Dwi Zettira"
email: "fachnia@codex.works"
phoneNumber: "+6281383162787"
roleId: "5c1caaa5fb6fc00eee84421d"
}) {
_id
}
}
Response:
{
"data": {
"updateTmMember": {
"_id": "5c9358879fdf4b0028c8ad8c"
}
},
"extensions": {}
}
4. Active-Inactive TM Member¶
Name | toggleActiveTmMember |
Description | This API is used to update status TM Member |
Content-Type | application/json |
mutation for toggleActiveTmMember
:
mutation toggleActiveTmMember{
toggleActiveTmMember(userId: "5c9358879fdf4b0028c8ad8c")
{
_id
}
}
Response:
{
"data": {
"toggleActiveTmMember": {
"_id": "5c9358879fdf4b0028c8ad8c"
}
},
"extensions": {}
}
5. Filter Data TM Members¶
Name | FilterTmMember |
Description | This API is used to get Data TM Member by filter |
Content-Type | application/json |
query for FilterTmMember
:
query FilterTmMember {
getTmMembers(filter: {
roleId: "5c1caaa5fb6fc00eee84421d"
isActive: true
skip: 1
limit: 1
sort: ""
}) {
data {
_id
email
phoneNumber
fullName
userTypeId {
_id
title
}
roleId {
_id
title
}
isActive
}
count
}
}
Response:
{
"data": {
"getTmMembers": {
"data": [
{
"_id": "5c9358879fdf4b0028c8ad8c",
"email": "fachnia@codex.works",
"phoneNumber": "+6281383162787",
"fullName": "Facnia Dwi Zettira",
"userTypeId": {
"_id": "5c19beee5a1665f6073c0cb5",
"title": "TM Member"
},
"roleId": {
"_id": "5c1caaa5fb6fc00eee84421d",
"title": "Super Admin"
},
"isActive": true
}
],
"count" : 7
}
},
"extensions" : {}
}
6. Search Data TM Members¶
Name | SearchTmMember |
Description | This API is used to get Data TM Member by search |
Content-Type | application/json |
query for SearchTmMember
:
query SearchTmMember {
getTmMembers(search: {
fullName: "Fachnia"
}) {
data {
_id
email
phoneNumber
fullName
userTypeId {
_id
title
}
roleId {
_id
title
}
isActive
}
count
}
}
Response:
{
"data": {
"getTmMembers": {
"data": [
{
"_id": "5c9358879fdf4b0028c8ad8c",
"email": "fachnia@codex.works",
"phoneNumber": "+6281383162787",
"fullName": "Fachnia Dwi Zettira",
"userTypeId": {
"_id": "5c19beee5a1665f6073c0cb5",
"title": "TM Member"
},
"roleId": {
"_id": "5c1caaa5fb6fc00eee84421d",
"title": "Super Admin"
},
"isActive": false
}
],
"count" : 7
}
},
"extensions" : {}
}
Assessment-Job Roles¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
title | string | 1 | 50 | required, name of job role | Document Engineer |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Job Role | string | job role | Document Engineer |
Count | number | count of job role | 4 |
1. Add New Data Job Role¶
Name | createJobRole |
Description | This API is used to add new Job Role |
Content-Type | application/json |
mutation for createJobRole
:
mutation createJobRole {
createJobRole(input:{
title: "Document Engineer"
})
{
_id
}
}
Response:
{
"data": {
"createJobRole":
{
"_id": "5c935f9d9fdf4b0028c8ad90"
}
},
"extensions": {}
}
2. View all Data Job Roles¶
Name | GetJobRoles |
Description | This API is used to get job roles |
Content-Type | application/json |
query for GetJobRoles
:
query GetJobRoles{
getJobRoles{
data{
_id
title
state
}
count
}
}
Response:
{
"data": {
"getJobRoles": {
"data": [
{
"_id": "5cb4099090bb020028450e7a",
"title": "Data Scientist",
"state": "DATA_SCIENTIST"
}
],
"count": 29
}
}
}
3. Update Data Job Role¶
Name | UpdateJobRoles |
Description | This API is used to update job roles |
Content-Type | application/json |
mutation for UpdateJobRoles
:
mutation UpdateJobRole {
updateJobRole(jobRoleId: "55c935f9d9fdf4b0028c8ad90", input: {
title: "Document Engineer"
}) {
_id
title
state
}
}
Response:
{
"data": {
"updateJobRole": {
"_id": "5c3d9df996e74b0028d0ec5e",
"title": "Document Engineer",
"state": "DOCUMENT_ENGINEER"
}
},
"extensions": {}
}
4. Delete Data Job Role¶
Name | DeleteJobRole |
Description | This API is used to delete job roles |
Content-Type | application/json |
mutation for DeleteJobRole
:
mutation DeleteJobRole {
deleteJobRole(jobRoleId: "5c3d8beb7f89c60028129bf8")
{
_id
}
}
Response:
{
"data": {
"deleteJobRole": {
"_id": "5c3e933b9c21d900281cf728"
}
},
"extensions": {}
}
5. Search Data Job Role¶
Name | SearchJobRoles |
Description | This API is used to search job roles |
Content-Type | application/json |
mutation for SearchJobRoles
:
query SearchJobRoles{
getJobRoles(search: {
title: "Document"
}) {
data {
_id
title
state
}
count
}
}
Response:
{
"data": {
"getJobRoles": {
"data": [
{
"_id": "5c935f9d9fdf4b0028c8ad90",
"title": "Document Engineer",
"state": "DOCUMENT_ENGINEER"
}
],
"count": 2
}
},
"extensions": {}
}
Assessment-Stacks¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
title | string | 1 | 50 | required, name of stack | NodeJs |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Stack | string | Stack or skill of job role | NodeJs |
Count | number | count of stack | 4 |
1. Add New Data Stack¶
Name | createStack |
Description | This API is used to add new Stack |
Content-Type | application/json |
mutation for createStack
:
mutation createStack {
createStack(input:{
title: "NodeJs"
}) {
_id
}
}
Response:
{
"data": {
"createJobRole":
{
"_id": "5c3c51a034d8633278e730e8"
}
},
"extensions": {}
}
2. View all Data Stacks¶
Name | GetStacks |
Description | This API is used to get job roles |
Content-Type | application/json |
query for GetStacks
:
query GetStacks {
getStacks {
data {
_id
title
state
}
count
}
}
Response:
{
"data": {
"getStacks": {
"data": [
{
"_id": "5c3c51a034d8633278e730e8",
"title": "NodeJS",
"state": "NODEJS"
}
],
"count": 2,
}
},
"extensions": {}
}
3. Update Data Stack¶
Name | UpdateStack |
Description | This API is used to update stack |
Content-Type | application/json |
query for UpdateStack
:
mutation UpdateStack {
updateStack(stackId: "5c3c51a034d8633278e730e8" input: {
title: "NodeJs"
})
{
_id
}
}
Response:
{
"data": {
"updateStack": {
"_id": "5c3c51a034d8633278e730e8"
}
},
"extensions": {}
}
4. Delete Data Stack¶
Name | DeleteStack |
Description | This API is used to delete stack |
Content-Type | application/json |
query for DeleteStack
:
mutation DeleteStack {
deleteStack(stackId: "5c3c51a034d8633278e730ee")
{
_id
}
}
Response:
{
"data": {
"deleteStack": {
"_id": "5c3c51a034d8633278e730ee"
}
},
"extensions": {}
}
5. Search Data Stacks¶
Name | SearchStacks |
Description | This API is used to search stacks |
Content-Type | application/json |
mutation for SearchStacks
:
query SearchStack {
getStacks(search: {
title: "Node"
}) {
data {
_id
title
state
}
count
}
}
Response:
{
"data": {
"getStacks": {
"data": [
{
"_id": "5c3c51a034d8633278e730e8",
"title": "NodeJS",
"state": "NODEJS"
}
],
"count": 1
}
},
"extensions": {}
}
Assessment-Exams¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
title | string | 1 | 50 | Exam name | Senior Backend Engineer Skill Test |
duration | number | 1 | 86400000 | required | 01:00:00 |
numberOfQuestion | number | 1 | 100 | required | 75 |
passingGrade | number | 10 | 100 | required | 80 |
jobRoleId | objectId | required | 5c3e933b9c21d900281cf728 | ||
jobLevelId | objectId | required | 5c1befc6df07570377f999ed | ||
hasLiveCoding | boolean | opsional | true |
Output:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Exam Name | string | required, Exam name | Senior Backend Engineer Skill Test |
Job Role | string | required, job role for exam | Backend Engineer |
Job Level | string | required, job level for exam | Senior |
Time Duration | number | required, time duration for exam | 01:00:00 |
No. of Questions | number | required, number of question for exam | 75 |
Passing Grade | number | required, passing for exam | 80 |
Status Live Coding | string | optional, status live coding for exam | Available |
1. Add New Exam¶
Name | createExam |
Description | This API is used to create exam |
Content-Type | application/json |
mutation for createExam
:
mutation createExam {
createExam(input: {
title: "Senior Backend Engineer Skill Test"
duration: 3600
numberOfQuestions: 44
passingGrade: 78
jobRoleId: "5c1bf01cc6e58403dabafb00"
jobLevelId: "5c1befc6df07570377f999ed"
hasLiveCoding: true
}) {
_id
}
}
Response:
{
"data": {
"createExam": {
"_id": "5c94a6889fdf4b0028c8ad91"
}
},
"extensions": {}
}
2. View Data Exam¶
Name | getExams |
Description | This API is used to get data exam |
Content-Type | application/json |
query for getExam
:
query getExams {
getExams {
data{
_id
title
duration
numberOfQuestions
passingGrade
jobRoleId{
_id
title
}
jobLevelId{
_id
title
}
hasLiveCoding
}
count
}
}
Response:
{
"data": {
"getExams": {
"data": [
{
"_id": "5c6fb906d448943cb5b4cf9c",
"title": "Senior Backend Engineer Skill Test",
"duration": 3600,
"numberOfQuestions": 75,
"passingGrade": 80,
"jobRoleId": {
"_id": "5c1f85f8c315bb5bd1d628cf",
"title": "Backend Engineer"
},
"jobLevelId": {
"_id": "5c1befc6df07570377f999ed",
"title": "Senior"
},
"hasLiveCoding": true
}
],
"count": 6
}
},
"extensions": {}
}
3. Update Data Exam¶
Name | updateExam |
Description | This API is used to update data exam |
Content-Type | application/json |
mutation for updateExam
:
mutation updateExam {
updateExam(examId: "5c6fb906d448943cb5b4cf9c" input: {
title: "Senior Backend Engineer Skill Test",
duration: 3600,
numberOfQuestions: 75,
passingGrade: 80,
jobRoleId: "5c1f85f8c315bb5bd1d628cf",
jobLevelId: "5c1befc6df07570377f999ed",
hasLiveCoding: true
}){
_id
}
}
Response:
{
"data": {
"updateExam": {
"_id": "5c6fb906d448943cb5b4cf9c"
}
},
"extensions": {}
}
4. Delete Exam¶
Name | deleteExam |
Description | This API is used to delete data exam |
Content-Type | application/json |
mutation for DeleteJobRole
:
mutation DeleteJobRole {
deleteJobRole(jobRoleId: "5c3e933b9c21d900281cf728") {
_id
}
}
Response:
{
"data": {
"deleteExam": {
"_id": "5c3e933b9c21d900281cf728"
}
},
"extensions": {}
}
5. Filter Data Exams¶
Name | FilterExams |
Description | This API is used to filter exams |
Content-Type | application/json |
query for FilterExams
:
query FilterExams {
getExams (filter: {
jobRoleId: "5c1f85f8c315bb5bd1d628cf"
jobLevelId: "5c1befc6df07570377f999ed"
hasLiveCoding: true
}) {
data{
_id
title
duration
numberOfQuestions
passingGrade
jobRoleId{
_id
title
}
jobLevelId{
_id
title
}
hasLiveCoding
}
count
}
Response:
{
"data": {
"getExams": {
"data": [
{
"_id": "5c6fb906d448943cb5b4cf9c",
"title": "Senior Backend Engineer Skill Test",
"duration": 3600,
"numberOfQuestions": 75,
"passingGrade": 80,
"jobRoleId": {
"_id": "5c1f85f8c315bb5bd1d628cf",
"title": "Backend Engineer"
},
"jobLevelId": {
"_id": "5c1befc6df07570377f999ed",
"title": "Senior"
},
"hasLiveCoding": true
}
],
"count": 6
}
},
"extensions": {}
}
6. Search Data Exams¶
Name | SearchExams |
Description | This API is used to search exams |
Content-Type | application/json |
query for SearchExams
:
query SearchExams {
getExams(search: {
title: "Senior Backend"
}
) {
data{
_id
title
duration
numberOfQuestions
passingGrade
jobRoleId{
_id
title
}
jobLevelId{
_id
title
}
hasLiveCoding
}
count
}
}
Response:
{
"data": {
"getExams": {
"data": [
{
"_id": "5c6fb906d448943cb5b4cf9c",
"title": "Senior Backend Engineer Skill Test",
"duration": 3600,
"numberOfQuestions": 75,
"passingGrade": 80,
"jobRoleId": {
"_id": "5c1f85f8c315bb5bd1d628cf",
"title": "Backend Engineer"
},
"jobLevelId": {
"_id": "5c1befc6df07570377f999ed",
"title": "Senior"
},
"hasLiveCoding": true
}
],
"count": 6
}
},
"extensions": {}
}
Assessment-Questions¶
Parameter Input:¶
Parameter | Type Data | Min | Max | Description | Example |
---|---|---|---|---|---|
jobRoleId | objectId | required, | 5c3e933b9c21d900281cf728 | ||
jobLevelId | objectId | required, | 5c1befc6df07570377f999ed | ||
title | string | 1 | 2000 | required, question | Apa nama diagram yang menggambarkan hubungan sistem dan user? |
type | objectId | required, type of question | Multiple Choice | ||
image | object | 1 | 500 | opsional, image for question or answer | null | ||
answer | object,array | required, answer of question | Activity Diagram, ERD, DFD, Sequence Diagram | ||
liveCoding | object,array | for type of question: live coding | null |
Output in list table:¶
Parameter | Type Data | Description | Example |
---|---|---|---|
Type Of Question | string | required, type of question | Multiple Choice |
Job Role | string | required, job role for exam | Document Engineer |
Job Level | string | required, job level for exam | Junior |
Question | string | required, time duration for exam | Apa nama diagram yang menggambarkan hubungan sistem dan user? |
1. Add Question for Multiple Choice type:¶
Name | createQuestion |
Description | This API is used to create data question |
Content-Type | application/json |
mutation for createQuestionMultipleChoice
:
mutation createQuestionMultipleChoice {
createQuestion(input: {
jobRoleId: "5c52ac3bab444000281b1b80"
jobLevelId: "5c1befea8b316703ab7f6710"
type: "mcq"
title: "Apa nama diagram yang menggambarkan hubungan sistem dan user?"
answer: {
correctIndexes: [0]
list: [
{
title: "Activity Diagram"
},
{
title: "ERD"
},
{
title: "DFD"
},
{
title: "Sequence Diagram"
}
]
}
category: "teori"
}){
_id
}
}
Response:
{
"data": {
"createQuestion": {
"_id": "5c98767e9fdf4b0028c8adb5"
}
},
"extensions": {}
}
2. Add Question for live Coding type:¶
mutation for createQuestionLiveCoding
:
mutation createQuestionLiveCoding{
createQuestion(input: {
jobRoleId: "5c52ac3bab444000281b1b80"
jobLevelId: "5c1befea8b316703ab7f6710"
title: "jika a+b maka..."
liveCoding: {
mainFunction: {
paramsType: ["string", "number", "boolean"]
outputType: "boolean"
}
testCase: [
{
params: ["q", "3", "true"]
output: "true"
},
{
params: ["r", "23", "true"]
output: "false"
}
]
}
type: "liveCoding"
category: "tools"
}){
_id
}
}
Response:
{
"data": {
"createQuestion": {
"_id": "5c98767e9fdf4b0028c8adb5"
}
},
"extensions": {}
}
3. View Question¶
Name | getQuestions |
Description | This API is used to get data question |
Content-Type | application/json |
query for getQuestion
:
query getQuestions{
getQuestions{
data{
_id
title
image{
path
coordinate{
x
y
width
height
}
}
answer{
list{
title
image{
path
coordinate{
x
y
height
width
}
}
}
correctIndexes
}
liveCoding {
mainFunction {
paramsType
outputType
}
testCase{
params
output
}
}
type
category
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
}
count
}
}
Response:
{
"data": {
"getQuestions": {
"data": [
{
"_id": "5c7e197311acebb626ac8475",
"title": "question 1 update update",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767921735291_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"width": 121,
"height": 45
}
},
"answer": {
"list": [
{
"title": "title1 satu",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767922910666_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"height": 45,
"width": 121
}
}
}
],
"correctIndexes": [
1,
2,
3
]
}
],
"count": 51
}
},
"extensions": {}
}
4. Update Question¶
Name | updateQuestion |
Description | This API is used to update data question |
Content-Type | application/json |
mutation for updateQuestion
:
Response:
{
"data": {
"updateQuestion": {
"_id": "5c7e197311acebb626ac8475"
}
},
"extensions": {}
}
5. Delete Question¶
Name | deleteQuestion |
Description | This API is used to delete data question |
Content-Type | application/json |
mutation for deleteQuestion
:
mutation deleteQuestion{
deleteQuestion(questionId: "5c7eb7121e26e20028d71296")
{
_id
}
}
Response:
{
"data": {
"deleteQuestion": {
"_id": "5c7eb7121e26e20028d71296"
}
},
"extensions": {}
}
6. Filter Data Questions¶
Name | FilterQuestions |
Description | This API is used to filter questions |
Content-Type | application/json |
query for FilterQuestions
:
query FilterQuestions {
getExams (filter: {
typeOfQuestions: "mcq"
jobRoleId: "5c1f85f8c315bb5bd1d628cf"
jobLevelId: "5c1befc6df07570377f999ed"
}) {
data{
_id
title
image{
path
coordinate{
x
y
width
height
}
}
answer{
list{
title
image{
path
coordinate{
x
y
height
width
}
}
}
correctIndexes
}
liveCoding {
mainFunction {
paramsType
outputType
}
testCase{
params
output
}
}
type
category
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
}
count
}
}
Response:
{
"data": {
"getQuestions": {
"data": [
{
"_id": "5c7e197311acebb626ac8475",
"title": "question 1 update update",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767921735291_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"width": 121,
"height": 45
}
},
"answer": {
"list": [
{
"title": "title1 satu",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767922910666_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"height": 45,
"width": 121
}
}
}
],
"correctIndexes": [
1,
2,
3
]
}
],
"count": 51
}
},
"extensions": {}
}
7. Search Data Questions¶
Name | SearchQuestions |
Description | This API is used to search questions |
Content-Type | application/json |
query for SearchQuestions
:
query SearchQuestions {
getQuestions (search: {
title: "questions"
}) {
data{
_id
title
image{
path
coordinate{
x
y
width
height
}
}
answer{
list{
title
image{
path
coordinate{
x
y
height
width
}
}
}
correctIndexes
}
liveCoding {
mainFunction {
paramsType
outputType
}
testCase{
params
output
}
}
type
category
jobRoleId{
_id
title
state
}
jobLevelId{
_id
title
state
}
}
count
}
}
Response:
{
"data": {
"getQuestions": {
"data": [
{
"_id": "5c7e197311acebb626ac8475",
"title": "question 1 update update",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767921735291_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"width": 121,
"height": 45
}
},
"answer": {
"list": [
{
"title": "title1 satu",
"image": {
"path": "http://tms-api.apps.playcourt.id/media/1551767922910666_alexander-putter-1352873-unsplash.jpg",
"coordinate": {
"x": 12,
"y": 12,
"height": 45,
"width": 121
}
}
}
],
"correctIndexes": [
1,
2,
3
]
}
],
"count": 51
}
},
"extensions": {}
}