Кандидаты на этапе вакансии
GraphQL запросы на примере работы со списком кандидатов на этапе вакансии.
Получение списка кандидатов на этапе вакансии
- graphql
- cURL
query VacancyWorkflowStatusResponses {
workflowStatus(id: 1) {
... on WorkflowStatusItem {
responses(filter: {}) {
items {
person {
id
firstName
lastName
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyWorkflowStatusResponses {\\n workflowStatus(id: 1) {\\n ... on WorkflowStatusItem {\\n responses(filter: {}) {\\n items {\\n person {\\n id\\n firstName\\n lastName\\n }\\n }\\n pageInfo {\\n hasNextPage\\n endCursor\\n }\\n }\\n }\\n }\\n}\"}"
Результат запроса
{
"data": {
"workflowStatus": {
"responses": {
"items": [
{
"person": {
"id": 8057081,
"firstName": "Иван",
"lastName": "Иванов"
}
},
{
"person": {
"id": 7945761,
"firstName": "Петр",
"lastName": "Петров"
}
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "7945761|1594997389175535000"
}
}
}
}
}
id этапов вакансии, необходимые для выполнения запроса, можно получить следующим образом
- graphql
- cURL
query VacancyWorkflowStatusIds {
vacancy(id: 1) {
... on VacancyItem {
workflowStatuses {
items {
id
}
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyWorkflowStatusIds {\\n vacancy(id: 1) {\\n ... on VacancyItem {\\n workflowStatuses {\\n items {\\n id\\n }\\n }\\n }\\n }\\n}\"}"
В поле pageInfo возвращается информация, которую необходимо использовать для дальнейшего постраничного обхода списка (подробное описание пагинации приводится здесь). Таким образом, следующую страницу кандидатов можно получить, выполнив запрос
- graphql
- cURL
query VacancyWorkflowStatusResponsesNextPage {
workflowStatus(id: 1) {
... on WorkflowStatusItem {
responses(filter: {}, after: "7945761|1594997389175535000") {
items {
person {
id
firstName
lastName
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyWorkflowStatusResponsesNextPage {\\n workflowStatus(id: 1) {\\n ... on WorkflowStatusItem {\\n responses(filter: {}, after: \\\"7945761|1594997389175535000\\\") {\\n items {\\n person {\\n id\\n firstName\\n lastName\\n }\\n }\\n pageInfo {\\n hasNextPage\\n endCursor\\n }\\n }\\n }\\n }\\n}\"}"
Фильтрация списка кандидатов на этапе вакансии
Для фильтрации кандидатов на этапе вакансии по различным полям используется аргумент filter
в запросе responses.
Для фильтрации кандидатов по гражданству и уровню образования необходимо выполнить запрос:
- graphql
- cURL
query VacancyWorkflowStatusResponseFilter {
workflowStatus(id: 1) {
... on WorkflowStatusItem {
responses(filter: {citizenshipId: "1", educationLevelId: higher}) {
items {
person {
id
firstName
lastName
citizenships {
items {
id
name
}
}
}
}
}
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query VacancyWorkflowStatusResponseFilter {\\n workflowStatus(id: 1) {\\n ... on WorkflowStatusItem {\\n responses(filter: {citizenshipId: \\\"1\\\", educationLevelId: higher}) {\\n items {\\n person {\\n id\\n firstName\\n lastName\\n citizenships {\\n items {\\n id\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"}"
ResponseFilterInput - подробное описание аргумента filter
Результат запроса
{
"data": {
"workflowStatus": {
"responses": {
"items": [
{
"person": {
"id": 2938503,
"firstName": "Валентин",
"lastName": "Павлов",
"citizenships": {
"items": [
{
"id": "1",
"name": "Россия"
}
]
}
}
},
{
"person": {
"id": 2938488,
"firstName": "Роман",
"lastName": "Давыдов",
"citizenships": {
"items": [
{
"id": "1",
"name": "Россия"
}
]
}
}
}
]
}
}
}
}
В примере запроса используются фильтры по гражданству и уровню образования.
Список доступных id регионов для фильтра по гражданству можно получить с помощью запроса areas. Обратите внимание, что для гражданства подходят только регионы с parentId: null
.
Список доступных значений уровня образования - в разделе EducationLevelEnum.