Перейти к основному содержимому

Операции

Query

Используется для получения данных, хранимых на сервере (семантический аналог GET для REST). В запросе указываются поля корневой сущности, которые сервер должен вернуть в ответе на запрос.

query Me {
me {
id
firstName
lastName
middleName
email
}
}

Посмотреть в playground

Mutation

Тип операций предназначен для изменения данных на сервере (семантический аналог PUT/POST/DELETE для REST). Мутация принимает данные в качестве аргументов, в ответе возвращает объект типа union, представляющий изменяемую сущность либо ошибку (для мутации утверждения заявки, представленной в примере ниже, будет возвращен объект типа HiringRequestApproved).

mutation ApproveHiringRequest {
approveHiringRequest(hiringRequestId: 5005, vacancyOwnerManagerId: 1001) {
... on HiringRequestItem {
id
}
... on HiringRequestApproveError {
errorType
}
}
}

Посмотреть в playground

подсказка

Передаваемые аргументы могут быть параметризованы с помощью специального синтаксиса объявления переменных 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} \
}"
примечание

Список существующих мутаций доступен по ссылке