Top.Mail.Ru
Работа с GraphQL
8 800 555-89-02
Документация
CTRL+K
Standalone2307
EOL
SaaS

Работа с GraphQLEOL

В этой статье

Описание GraphQL

В качестве API система Proceset использует технологию GraphQL. GraphQL – это язык запросов для API с открытым исходным кодом, который обеспечивает более эффективную и гибкую альтернативу классическому REST. В то время как типичные API REST требуют загрузки с нескольких URL-адресов, API GraphQL позволяет получить необходимые данные в одном запросе.

Для создания и выполнения GraphQL-запросов можно использовать встроенную браузерную IDE (интегрированную среду разработки) GraphiQL. Чтобы получить к ней доступ, перейдите на страницу системы и в адресной строке введите адрес_системы/graphiql.

Вход в GraphiQL

Когда вы редактируете запрос во встроенной IDE, URL-адрес также обновляется. При этом сохраняются пробелы, комментарии и неверные запросы. Вы можете пересылать URL-ссылки другим коллегам.

Обновление URL-адреса

GraphQL-запросы являются интерактивными. Это означает, что вы можете изменить запрос и увидеть новый результат.

GraphQL API поддерживает автогенерацию документации. Документация всегда в актуальном состоянии. Для ее просмотра откройте вкладку Docs (находится в правом верхнем углу) на странице встроенной IDE. В этом разделе представлены все запросы, которые можно выполнить в Proceset.

Встроенная документация

GraphQL-запросы в системе разделены по типу на три группы:

  • query;
  • mutation;
  • subscription.

Выберите нужную группу и найдите интересующий запрос.

Поиск запроса

В описании каждого запроса представлены список полей и их типы данных.

Поля и типы данных

С дополнительной информацией по работе с GraphQL можно ознакомиться на официальном сайте.

Описание способов аутентификации и способов работы с GraphiQL

Для более удобного формирования и выполнения запросов в систему включена встроенная IDE GraphiQL. Чтобы её использовать:

  • авторизуйтесь в Proceset;
  • перейдите по адресу: адрес_системы/graphiql.

Для выполнения запроса из внешней системы необходимо подготовить ключ API для аутентификации в разделе «Настройки» / «Ключи API». Для подключения внешних систем возможны два режима аутентификации через ключи API:

  • Стандартный ключ API представляет собой последовательность символов, которую должна будет предъявлять внешняя система для аутентификации;
  • SSL-сертификат. Внешняя система для аутентификации сначала предоставляет API-ключ, затем происходит взаимная аутентификация систем на основе SSL-сертификатов.

Создание нового API ключа

Назначьте привилегии созданному ключу API. Подробнее о настройке привилегий ключам API см. Права доступа для ключей API.

Настройка привилегий API ключа

Примеры запросов GraphQL

Далее приведены некоторые GraphQL-запросы, которые могут быть использованы в системе.

Запрос от имени ключа API

Чтобы GraphQL-запрос был от имени ключа API, необходимо в адресной строке ввести ключ.

Пример:

https://automation-dev.preview.infomaximum.com/graphiql?&api_key=ключ

Получение рабочего пространства

Запрос:

{ 
    workspace { 
        workspace (id: 273) { 
            id 
            name 
        } 
    } 
} 

Ответ:

{ 
    “data”: { 
        “workspace”: { 
            “workspace”: { 
            “id”: 273, 
            “name”: “test” 
            } 
        } 
    } 
} 
ПолеОпределение
workspaceРабочее пространство
idИдентификатор рабочего пространства
nameНазвание рабочего пространства

Создание сотрудника

Запрос:

mutation { 
    employee { 
        create ( 
            login: ”test” 
            first_name: “Ivan” 
            second_name: “Ivanov” 
            language: RUSSIAN 
            phone_numbers:12345678901” 
        ){ 
            id 
            login 
            first_name 
            second_name 
            language 
            phone_numbers 
        } 
    } 
} 

Ответ:

{ 
    “data”: { 
        “employee”: { 
            “create” { 
                “id”: 244, 
                “login”: “test”, 
                “first_name”: “Ivan”, 
                “second_name”: “Smirnov”, 
                “language”: “RUSSIAN”, 
                “phone_numbers”: [12345678901] 
            } 
        } 
    } 
} 
ПолеОпределение
employeeСотрудник
createСоздать
idИдентификатор сотрудника
loginЛогин сотрудника
first_nameИмя сотрудника
second_nameФамилия сотрудника
languageЯзык сотрудника
phone_numbersНомер телефона сотрудника

Была ли статья полезна?

Да
Нет
Предыдущая
Роли доступа
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.