Привет! Меня зовут Андрей Шмиг, я разработчик платформы DataHub, платформа для совместной работы над данными - своего рода GitHub для данных. В этой статье покажу, каким образом можно организовать доступ для внешних пользователей к репозиториям данных через Predefined Queries. Полный список связанных статей: DataHub: как делиться структурированными данными и получать за них донаты? DataHub: репозитории данных коммерческого типа. Как зарабатывать на доступе к данным? Из прошлых статей у нас сохранился демо-репозиторий с данными списка стран доступный по этой ссылке - база стран всего мира (демо). В этом демо-репозитории создана одна единственная таблица countries: Содержащая три записи: На основе этих данных я и продемонстрирую, каким образом использовать Predefined Queries для предоставления доступов к данным стороннему пользователю. Predefined Queries - это заранее подготовленные запросы владельцем репозитория к хранилищам данных. Запросы могут быть как на чтение, так и на запись. Могут быть приватными, а могут быть публичными. Основная задача predefined queries предоставить контролируемый и гибкий доступ к данным всем заинтересованным сторонам. Predefined Queries в PRIVATE режиме могут быть использованы разработчиками ботов, мобильных приложений или игр для реализации MVP продуктов. Для создания первого predefined-запроса переходим в режим редактирования репозитория данных и переключаемся на вкладку SQI (Storage Query Interface): Нажимаем на кнопку "+ Query": Настраиваемые значения: HTTP Method: по-умолчанию на текущий момент всегда GET. HTTP метод для выполнения запроса доступа к данным по сгенерированному endpoint (URL). Название: публичное название метода (например: Получение информации о пользователе по уникальному идентификатору). Тип запроса: PRIVATE (приватный) или PUBLIC (публичный). Storage: хранилище данных к которому относится создаваемый запрос. Predefined Query: текст запроса (язык запроса зависит от типа выбранного хранилища - MySQL, MongoDB, прочие). HTTP Query Alias: имя (url alias) для predefined query. Сокращенное название метода (endpoint), например, user_by_id или total_users. Пишем наш первый predefined запрос - получение информации о стране по коду (двух-трёх буквенному коду): Приведенный в примере запрос является простейшим и служит лишь для демонстрации работы predefined queries. Фактические запросы могут быть любой сложности - хранилище данных MySQL поддерживает практически все возможности одноименной базы данных (триггеры, процедуры, функции, события, индексы и пр). Обратите внимание, что в запрос мы подставляем переменную :alias, которая будет извлекаться из GET запроса query-строки. Формат подставляемых переменных  :[name], например:  :id :user_name :nick10 Сохраняем наш запрос: У репозитория стал доступен SQI метод country_by_code по ссылке (без параметров данный метод будет возвращать сообщение об ошибке) Чтобы выполнить этот запрос необходимо передать параметр alias в GET запросе: Результаты выполнения запроса: Параметры ответа:  status: true или false, был ли выполнен запрос удачно. price: стоимость запроса (при типе репозитория данных FREE и SPONSORED значение будет равно нулю, при типе COMMERCIAL - стоимости выборки данных); payload: результат выполнения запроса. Поддерживаемые форматы ответа на текущий момент: application/json; Надеюсь, что возможности DataHub позволят вам делиться, монетизировать и работать с данными эффективно! В следующих статьях рассмотрим возможности веб-редактора хранилища MySQL - редактора, который перенимает лучший опыт взаимодействия и работы с данными у MySQL Workbench. Если вам понравилась статья — ставьте лайк и оставляйте комментарий. Подписывайтесь на мой блог про DataHub на Хабре, а так же на Телеграм канал поддержки сервиса. Мой публичный профиль на DataHub — @aashmig. Буду рад ответить на ваши вопросы и дополнить статью.  ML & JS <3