Последняя версия DataExpress 26.8.17

Изображение Скачать | Изображение Что нового? | Демо

API Доступ

Обсуждаются вопросы удаленного доступа к базе данных.
Аватара пользователя
avk
Интересующийся
Сообщения: 106
Зарегистрирован: 29 окт 2025, 18:24
Благодарил (а): 3 раза
Поблагодарили: 39 раз

API Доступ

Сообщение avk » 25 авг 2026, 13:13

sharovia писал(а):Почему Вы не отвечаете
Он с головой ушёл в разработку, получив от вас "ТЗ". :P
sharovia писал(а):Что бы с другого приложения общались через API и могли добавлять и читать данные с базы DataExpress
Для этого не обязательно что-то писать внутри DataExpress, можно обращаться напрямую к СУБД FireBird, на которой программа крутится. Однако это трудоемкая задача и возможно решение внутри DataExpress было бы более проще реализуемо. Но вы задали абстрактный вопрос. Что за программа? Какие команды выполняет/поддерживает? Какой API имелся ввиду?

Аватара пользователя
cordek
Эксперт
Сообщения: 2553
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 741 раз
Поблагодарили: 607 раз
Контактная информация:

API Доступ

Сообщение cordek » 27 авг 2026, 09:59

Модуль веб-сервиса с безопасностью и фильтрацией, работает через веб-сервер ДатаЭкспресс
1. Обязательно создайте форму apikey.
Добавьте поля key (строка) и form (строка).
В полt key запишите любую последовательность, например ВАШ_КЛЮЧ, в поле form запишите имена форм через точку с запятой, например: api;товары;поступления товаров.
Если пользователь попытается обратиться к форме, которой нет в этом списке, он получит ошибку 403 Access denied.

2. Настройте веб сервер в файле dxwebsrv.cfg:
[test_api]
Database=DEMO_DB_WEB_API.FDB или Database=127.0.0.1:E:\dxwebsrv_win32\DEMO_DB_WEB_API.FDB
Templates=templates
SessionTime=30
ServiceId=73a90acaae2b1ccc0e969709665bc62f

3. Получить все данные:
http://127.0.0.1/test_api/?serviceid=73 ... y=ВАШ_КЛЮЧ

Получить данные с фильтром (синтаксис DataExpress, для дат и времени нужны функции [Дата создания]>CDATE('02.08.2025')):
http://127.0.0.1/test_api/?serviceid=73 ... ЮЧ&filter=[название]=='М'
(Обратите внимание: в URL пробелы и спецсимволы при запросе через браузер кодируются автоматически, например %20 вместо пробела, при работе через сторонние приложения рекомендуется кодировать самим).

HTTP_API_Server_6_web.zip
(3.2 КБ) 22 скачивания

Точно работает Get (чтение)
демо для проверки
DEMO_DB_WEB_API.zip
(197.91 КБ) 23 скачивания

запросы Get:
просто форма для проверки
http://127.0.0.1/test_api/?serviceid=73 ... 3&form=api
с фильтром
http://127.0.0.1/test_api/?serviceid=73 ... 23&filter=[Дата]>CDATE(%2702.08.2026%27)&form=api
фильтр по товарам с букой М в названии
http://127.0.0.1/test_api/?serviceid=73 ... 23&filter=[название]=="М"&form=товары

пример вывода результата запроса:

Код: Выделить всё

{
  "code": 0,
  "count": 3,
  "records": [
    {
      "id": "2",
      "Название": "Мука",
      "Ед. изм.": "3",
      "Группа": "4"
    },
    {
      "id": "13",
      "Название": "Майка",
      "Ед. изм.": "1",
      "Группа": "3"
    },
    {
      "id": "15",
      "Название": "Лампочка",
      "Ед. изм.": "1",
      "Группа": "5"
    }
  ]
}
балуюсь разработкой LIMS JDX
cordek {/а} yandex/ru

Аватара пользователя
cordek
Эксперт
Сообщения: 2553
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 741 раз
Поблагодарили: 607 раз
Контактная информация:

API Доступ

Сообщение cordek » 28 авг 2026, 15:25

методы post и delete теперь тоже работают Универсальный модуль HTTP сервера для API
балуюсь разработкой LIMS JDX
cordek {/а} yandex/ru


Вернуться в «Работа в сети»