API Playground – это интерактивный интерфейс облегчающий написание запросов.
В нем есть автодополнение вводимого текста, а также документация по всем полям и объектам.
В этом разделе вы узнаете как пройти авторизацию, используя API Playground для выполнения запросов,
а также то, как исследовать различные методы API самостоятельно. Подробнее про авторизацию можно почитать здесь
Авторизация с помощью API Playground
Для того чтобы начать работу с API Playground необходимо зарегистрироваться на тестовом стенде.
- Для этого перейдите по ссылке на тестовый стенд и зарегистрируйтесь.
Обязательно укажите почту, так как именно она будет использована для авторизации ниже

- После чего создайте новую организацию в системе, указав реальный ИНН и имя вашей организации:

- Теперь перейдите в API Playground и выполните следующий запрос:
{ authenticatedUser { id name } }
Ответ на запрос показывает от какого пользователя выполняются запросы и авторизованы ли вы в консоли или нет.
Вы должны получить ответ
{ "data": { "authenticatedUser": null } }, что означает,
что вы не прошли авторизацию в консоли.- Выполните запрос на аутентификацию используя указанный при регистрации email и пароль:
mutation { authenticateUserWithPassword(email: "yourmail@example.com", password: "yourpassword") { token item { id name } } }
В ответ вы получите token для доступа к Condo API и информацию о вашем пользователе.

- Установите полученный токен на вкладку
HTTP HEADERSв формате{"Authorization": "Bearer <token>"}и повторно отправьте запрос из шага 3. На данном этапе вы должны получить данные о текущем пользователе, что означает, что вы успешно установили авторизационный токен и можете делать запросы к API используя данный токен.

Просмотр доступных полей с помощью Playground API DOCS
Мы только что получили базовую информацию об идентификаторе (
id) и имени (name) своего пользователя.
Посмотрим, какую еще информацию о себе мы можем получить.
Для этого откроем в Playground API вкладку DOCS и найдем там используемый нами запрос authenticatedUser.
Тут мы можем увидеть, что результатом данного запроса является объект типа
User, имеющий гораздо больше полей,
чем имя и идентификатор.
Давайте попробуем получить дополнительно тип пользователя и его аватарку.
Для этого добавим соответствующие поля в запрос.
Отметим, что обязательные для модели или типа поля обозначаются символом !.
В документации с типами сказано, что поле с аватаром пользователя содержит свой набор подполей,
поэтому для него необходимо указать, какие именно данные нам нужны.
В качестве примера возьмем лишь ссылку на файл (
publicUrl) и выполним запрос повторно.
Теперь помимо имени пользователя мы так же знаем, что его тип - "сотрудник" (
staff).
Помимо сотрудников в системе есть пользователи с типом "житель" (resident), а также сервисные учетные записи (service).Заметим, что поле
avatar в ответе имеет значение null, так как у данного пользователя нет фото профиля.Возврат родительской сущности
avatar: null вместо запрашиваемого набора полей avatar: { publicUrl: null }
является общей моделью поведения Condo API в ситуациях, когда сущности не существует, она была удалена,
или у пользователя нет к ней доступа (В этом случае вместе со значением null в секции data также появится соответсвующее сообщение об ошибке в секции errors)Во вкладке
DOCS также можно посмотреть все аргументы для того или иного запроса. Для этого выбрать интересующий метод в списке API Playground.
Теперь у вас должно быть достаточно знаний для самостоятельного исследования Condo API.
Но мы все же рекомендуем ознакомиться с примерами запросов к основным предметным моделям Condo API :)