Запросы в базу данных можно отправлять, используя открытый REST API.
Доступ осуществляется напрямую посредством SQL запросов на чтение по адресу:
- http://localhost:7766/selectsql
- или PL/SQL блоков на изменения данных http://localhost:7766/executesql.
Где http://localhost:7766/ — адрес сервера, на котором установлен обработчик с доступом к базе AVA (7766 фиксированный порт).
Для работы по защищенному протоколу https используется порт 7767:
- https://localhost:7767/selectsql,
- https://localhost:7767/executesql.
В Params указывается параметр ?sign=
Значение sign рассчитывается следующим образом:
sign = sha256(TO_UTF8(copy(body,1,1500)+api_salt),
то есть:
первые 1500 символов Body +api_salt в кодировке UTF8 хешированые алгоритмом sha-256
api_salt хранится для selectsql в параметре 50329, для executesql в параметре 50330.
В Body есть всего два раздела в JSON данных:
- «sql» — непосредственно SQL запрос с заданными в тексте параметрами,
- «Params» — тут перечисляете параметры и их значения.
Примеры:
- http://localhost:7766/selectsql?sign=534afa4ce9c9dfa8a4be2e6bbbf8df814894499d13199f1cb98c161f560d8629
{"sql": ["select count(*) cnt from v_e_gdsclss where iCountryid=:Param"], "Params":{"Param":"1"}}
возвращает количество стран с кодом страны = 1 - http://localhost:7766/executesql?sign=f95c12ba64d4e02d9f73e896bf00dd579b12ad45f800587fb9612f7d663a56c7
{"sql": ["update v_e_gdsclss set iCountryid=:Param1 where iCountryId=:Param2"],"Params":{"Param1":"1","Param2":"38"}}
Всем странам, у которых код страны = 38, устанавливается новый код страны = 1
Для отладки запросов скачайте программу AvaLrpRestAPITester.
