Операции
Query
Используется для получения данных, хранимых на сервере (семантический аналог GET для REST). В запросе указываются поля корневой сущности, которые сервер должен вернуть в ответе на запрос.
- graphql
- cURL
query Me {
me {
id
firstName
lastName
middleName
email
}
}
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 Me {\\n me {\\n id\\n firstName\\n lastName\\n middleName\\n email\\n }\\n}\"}"
Mutation
Тип операций предназначен для изменения данных на сервере (семантический аналог PUT/POST/DELETE для REST). Мутация принимает данные в качестве аргументов, в ответе возвращает объект типа union, представляющий изменяемую сущность либо ошибку (для мутации утверждения заявки, представленной в примере ниже, будет возвращен объект типа HiringRequestApproved).
- graphql
- cURL
mutation ApproveHiringRequest {
approveHiringRequest(hiringRequestId: 5005, vacancyOwnerManagerId: 1001) {
... on HiringRequestItem {
id
}
... on HiringRequestApproveError {
errorType
}
}
}
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\":\"mutation ApproveHiringRequest {\\n approveHiringRequest(hiringRequestId: 5005, vacancyOwnerManagerId: 1001) {\\n ... on HiringRequestItem {\\n id\\n }\\n ... on HiringRequestApproveError {\\n errorType\\n }\\n }\\n}\"}"
Передаваемые аргументы могут быть параметризованы с помощью специального синтаксиса объявления переменных graphQL
mutation ApproveHiringRequestWithVariables($hiringRequestId: Int!, $vacancyOwnerManagerId: Int) {
approveHiringRequest(hiringRequestId: $hiringRequestId, vacancyOwnerManagerId: $vacancyOwnerManagerId) {
... on HiringRequestItem {
id
}
}
}
Указанные переменные должны быть переданы в поле variables
запроса
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\":\"mutation ApproveHiringRequestWithVariables($hiringRequestId: Int!, $vacancyOwnerManagerId: Int) {\\n approveHiringRequest(\\n hiringRequestId: $hiringRequestId\\n vacancyOwnerManagerId: $vacancyOwnerManagerId\\n ) {\\n ... on HiringRequestItem {\\n id\\n }\\n }\\n}\", \
\"variables\": {\"hiringRequestId\": 1, \"vacancyOwnerManagerId\": 999} \
}"
Список существующих мутаций доступен по ссылке