GraphQL API
Cервер предлагает возможность использовать GraphQL API и REST API. Для большинства запросов подойдет GraphQL API благодаря его гибкости и простоты использования. При работе с загрузкой и скачиванием объектов сервера лучше подойдет REST API
GraphQL Explorer
Для того чтобы разобраться с API сервера, Вы можете воспользоваться проводником, который устанавливается вместе с сервером. Перейдите на https://Ваш_URL/explorer или на https://app.cimbox.ru/explorer , и в меню справа Вы сможете увидеть справку и схемы API. После входа в систему Вы сможете выполнять запросы и изменения как вошедший в систему пользователь.
Любые запросы и изменения, которые Вы выполняете, будут использовать реальные данные с сервера — будьте внимательны!
Классический GraphQL
Альтернативный вариант — классический GraphQL https://Ваш_URL/graphql или https://app.cimbox.ru/graphql
Но для отправки запросов Вам необходимо будет передать персональный токен доступа в заголовке авторизации:
Более подробная информация о токенах доступа
Примеры запросов
Запрос параметров Revit (семейство, категория и т. д.) для определенного объекта (d6e134723405e2a6c6fa28fe6a310201), в определенном проекте (c79525726f):
query($myQuery:[JSONObject!]){
project(id:"c79525726f"){
object(id:"d6e134723405e2a6c6fa28fe6a310201"){
totalChildrenCount
children(query: $myQuery select:["parameters", "type", "family", "category"]){
totalCount
cursor
objects{
id
data
}
}
}
}
}
Где переменная «myQuery»:
{
"myQuery": [
{
"field":"applicationId",
"value":"6cbabf1d-e8d0-47f0-ac4d-9a7923128d37-0006fb07",
"operator":"="
}
]
}
Возврат объектов при запросе по определенному значению параметра. Здесь возвращаются только объекты со значением параметра больше 5.
query($myQuery:[JSONObject!]){
project(id:"c79525726f"){
object(id:"d6e134723405e2a6c6fa28fe6a310201"){
totalChildrenCount
children(query: $myQuery select:["parameters[0]"]){
totalCount
cursor
objects{
id
data
}
}
}
}
}
Где переменная «myQuery»:
{
"myQuery": [
{
"field":"parameters[0].value",
"value":5,
"operator":"<"
}
]
}