Библиотека для работы с Airtable (open-source)

11.08.24

Интеграция - WEB-интеграция

Новая библиотека в составе Открытого пакета интеграций для работы с Airtable - интересным сервисом управления облачными базами данных и визуализации данных из них

Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Для тех, кто уже знаком с ОПИ, данный раздел можно пропустить.

 
 Что такое Открытый Пакет Интеграций

 

Открытый Пакет Интеграций (ОПИ) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и программы для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.


  • ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.

 

 

 

  • Удобная единая документация. Она расположена на сайте opi.neocities.org и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.

 

 

 

 

  • Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи

 

На момент последнего обновления данной статьи, доступны следующие API:

Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.

 

Airtable - облачная служба, позволяющая легко создавать и использовать реляционные базы данных, информация в которых будет хранится онлайн, на облаке сервиса


Мне лично Airtable очень напоминает Notion: оба сервиса имеют функционал как для создания самих баз данных, так и для организации ввода-вывода информации из них в различных формах, однако, если Notion позиционирует себя скорее как инструмент для ведения заметок и планирования задач, то Airtable делает фокус на хранение и использование данных в виде электронных таблиц. Содержащуюся там информацию, в дальнейшем, можно выводить в диаграммы и графики, что делает рассматриваемый сегодня сервис куда более применимым для нашей, так сказать, 1С-специфики

 

Но прежде чем мы перейдем к обзору работы с Airtable, рассмотрим список методов, которые были добавлены в данном обновлении:

  • Методы работы с базами
    • Получение списка баз
    • Получения списка таблиц базы
    • Создание базы
  • Методы работы с таблицами
    • Создание таблицы
    • Изменение таблицы
  • Методы работы с полями таблиц
    • Создание поля
    • Изменение поля
    • Получение макетов полей: строкового, числового и пр.
  • Методы работы с записями таблиц
    • Получение списка записей таблицы
    • Получение значения полей записи
    • Создание записи
    • Удаление записи
  • Методы работы с комментариями
    • Получение списка комментариев записи
    • Создание комментария к записи
    • Изменение комментария к записи
    • Удаление комментария

 

Может показаться, что в некоторых разделах не хватает действий из стандартного набора создать-получить-изменить-удалить. Мне тоже так показалось, но, по каким-то причинам, их нет и в самой реализации API

 

Работа с сервисом

 

Кратенько рассмотрим принципы работы с Airtable

Основной способ взаимодействия с данным сервисом - веб-интерфейс по адресу airtable.com. Зарегистрировавшись и войдя в аккаунт, первым делом, вы можете создать базу данных и структуру таблиц для хранения информации под свои конкретные нужды.

Слегка плюшевая, но вполне стандартная табличная структура работы с данными: база -> таблица -> поля таблицы и записи. Редактор же напоминает больше интерфейс Google Sheet, нежели какого-нибудь SQL Studio  - этакий компромисс между гибкостью серьезных СУБД и простотой электронных таблиц

 

 

Для организации хранения, в Airtable доступно множество различных типов полей: числовые, строковые, поля вложений, даты, ссылки, выбора варианта и пр. Каждый из них имеет свой особенный способ отображения в конструкторе таблиц, а также набор присущих только ему настраиваемых параметров. Помимо этого, особняком, есть и поля для связи таблиц между собой. В конструкторе по их значениям можно легко переходить для определения отношений двух строк из разных сущностей

Ничего необычного, но главный вопрос: "А зачем вообще хранить информацию в Airtable?"

 

Публикация таблиц

 

Начнем с простого: любую базу, по окончании настройки, можно сделать публично доступной на просмотр. На выбор есть 3 варианта организации доступа: по email, ссылке-приглашеню (и первый и второй вариант - для пользователей Airtbale), а также свободный доступ по публичному URL

 

 

При этом, разместить можно как всю базу целиком, так и лишь какой-нибудь конкретны View - заранее настроенный способ отображения таблицы. Так, можно, например, скрыть какие-нибудь колонки таблицы не для общего показа, настроить сортировку и фильтры данных, сгруппировать строки по определенным признакам и значениям полей

 

 

После публикации таблица выглядит примерно вот так. При внесении изменений в структуру данных или хранимую информацию, информация на публичной форме обновится вслед за ней

 

 

 

Интерфейсы

 

Следующим, после хранения и публикации, является функционал создания интерфейсов и форм. Под "интерфейсами" в Airtable подразумеваются способы визуализации данных: календари, галереи, канбан-доски и всякие другие красивые дашборды:

 

 

Строятся они, как не трудно догадаться, на основе наших заранее созданных таблиц. Сам процесс довольно интуитивный - основа вообще настраивается в мастере, где нужно просто тыкать подходящие варианты в выпадающих списках

 

 

Далее, в основном редакторе интерфейсов, уже можно настроить все более детально. Есть несколько видов диаграмм, также можно выводить табличные и текстовые расшифровки отображаемых данных. Сам же вывод будет динамически обновляться при изменение данных в БД

 

 


 

Формы

 

Помимо визуализации информации, в Airtbale еще есть инструментарий для создания форм заполнения и получения входных данных. Эти формы, также как и графики, создаются на основе полей таблиц, а принцип действия схож с таковым у любых других сервисов для сбора обратной связи, вроде Google Forms -  заполненные пользователем данные, после подтверждения отправки, сохраняются в учетной системе

 

 

После окончания настройки формы,  как и в случае таблиц/графиков, она может быть бесплатно опубликована по общедоступному адресу. Данные, введенные в нее пользователем, автоматически трансформируются в строки родительской таблицы, на которой форма основана. При необходимости, доступ к заполнению можно ограничивать паролями или по домену

 

 

В итоге у нас получается два основных сценария использования Airtbale (исключая возможность просто хранить там данные, конечно же):

 

  1. Визуализация хранимых данных в виде различных графиков и диаграмм
  2. Сбор данных из онлайн форм для последующего использования

 

При помощи интеграции мы сможем оперировать этими данными прямо из 1С - как на вход, так и на выход. Применение придумать не сложно: онлайн дашборд, как замена отчетам в 1С (с визуальной точки зрения - функционала, сравнимого с СКД, тут нету), дополнительное место для облачного хранения отчетных данных, механизм получения в 1С информации из форм для сбора обратной связи любых видов. Ниже приведено несколько примеров кода на 1С для лучшего понимания:
 

 
 Создание базы с одной таблицей и двумя полями
 
 Создание новой таблицы в существующей базе
 
 Добавление нового поля в существующую таблицу
 
 Добавление двух записей в существующую таблицу
 
 Получение списка строк в таблице
 
 Удаление строк из таблицы

 

Еще больше примеров можно найти в документации

 

В заключении

 

Вот такой интересный сервис. Мы пробежались по верхам, но в Airtable есть еще много чего интересного, а Открытый пакет интеграций обязательно поможет вам организовать простое и удобное с ним взаимодействие.

Напоминаю, что функционал всех библиотек ОПИ, включая и эту, доступен в трех вариантах: расширения для 1С, пакета для OneScript и приложения для командной строки (CLI)

Ну и оцените обновленную страницу репозитория и новый интерфейс документации - по-моему, получилось отлично :)

Спасибо за внимание!

 

 

Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations

Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest

 

Другие статьи про Открытый пакет интеграций на Инфостарт:

 

 

 Мой GitHub:     https://gitub.com/Bayselonarrend 
 Лицензия MIT:   https://mit-license.org

web интеграция обмен api airtable http https saas

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17917    18    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20036    13    17    

17

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14508    42    8    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1564    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Дмитрий74Чел 239 27.05.24 09:57 Сейчас в теме
Шикарно оформлено. Шаблон где-то нашли или полностью свой?
2. bayselonarrend 2131 27.05.24 10:00 Сейчас в теме
(1) Таблица с мебелью? Это демо база от Airtable. Но в целом любая таблица, где есть поля выбора и картинок будет так выглядеть
3. Дмитрий74Чел 239 27.05.24 12:17 Сейчас в теме
(2) Нет, про статью.
Прикрепленные файлы:
4. bayselonarrend 2131 27.05.24 12:32 Сейчас в теме
(3)А, это моё, да) Все статьи про Открытый Пакет интеграций оформляются по такому шаблону
5. CherTolik_26rus 08.11.24 16:26 Сейчас в теме
Здравствуйте. Спасибо за данный инструмент. Подключаю уже второй сервис (начала с календарей, теперь дошел до airtable, в планах еще опробовать гугл диск) и могу отметить достаточно информативную инструкцию, а также простоту внедрения механизма.

Касательно работы с Airtable возник вопрос. А можно ли программно работать с расшаренными таблицами (в ссылке есть id базы и таблицы)? При попытке обращения с использованием своего токена (вообще без токена как понимаю не будет работать) к таблице получил ошибку по правам "Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct."

Бегло пробежался по API(в том числе и ОПИ) Airtable, но не заметил там чего-либо подходящего (в инглицком не силен и пытался через гугл переводчит найти, но предполагаю, что в процессе мог текст исказится, что повлияло на результаты поиска).


Это мой первый опыт с Airtable и всех нюансов не знаю, а потому пробую рассмотреть вариант "костылей". В качестве альтернативного решения проблемы пробую рассмотреть копирование базы себе (команда "Use this data"), и выдачу к ней доступа, но к такому варианту реализации несколько вопросов:
1) Будет ли таблица автоматически обновляться при изменении исходной таблицы
2) Если да, то помешает ли ограничение базовой лицензии на 1000 строк

Параллельно еще попробовал запросить токен с правами на чтение в расшаренной таблице(тут пока не уверен, что дадут :( ).
bayselonarrend; +1 Ответить
6. CherTolik_26rus 08.11.24 16:28 Сейчас в теме
(5) пробовал еще вместо токена передать share id из ссылки, но к сожалению это не помогло
7. bayselonarrend 2131 08.11.24 16:38 Сейчас в теме
(6) Здравствуйте. Насколько я понимаю, если это чужая расшаренная таблица, то, чтобы работать с ней, вас должны добавить в рабочее пространство как соавтора (collaborator)
Оставьте свое сообщение