Метод работы с табличными ресурсами

Для получения данных табличных ресурсов выполните запрос с помощью API-метода rpc (перед выполнением запроса определите токен пользователя).

В запросе передаются параметры ресурса и указывается заголовок X-Delta, от которого зависит ответ:

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

curl -v '<IP-адрес или DNS-имя сервера>/api/v1/rpc/<название ресурса>/' -H 'Authorization: Bearer <токен пользователя>' --header 'Content-Type: application/json' -d '{"<имя входного параметра>": <значение входного параметра>}'

Пример ответа в формате JSON:

Trying 0.0.0.0...
TCP_NODELAY set
Connected to <IP-адрес или DNS-имя сервера> (0.0.0.0) port 80 (#0)
> POST /api/v1/rpc/<название ресурса>/ HTTP/1.1
> Host: <IP-адрес или DNS-имя сервера>
> User-Agent: curl/7.61.1
> Accept: /
> Authorization: Bearer <токен пользователя>
> Content-Type: application/json
> Content-Length: 12
>
upload completely sent off: 12 out of 12 bytes
< HTTP/1.1 200 OK
< Server: nginx/1.9.11
< Date: <дата>
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Hash-Value: output_table-Hash%3A<хэш-сумма>
< ETag: "<идентификатор ETag>"
< Expires: <дата>
< Last-Modified: <дата>
< Content-Version: <номер версии>
< Vary: Accept, Cookie, Accept-Encoding
< Allow: GET, POST, HEAD, OPTIONS
< X-Frame-Options: SAMEORIGIN
<
[{"name": "<table_name>", "data": [[1, 3, "Данные"]]}]*

curl -v '<IP-адрес или DNS-имя сервера>/api/v1/rpc/<название ресурса>/' -H 'Authorization: Bearer <токен пользователя>' --header 'Content-Type: application/json' --header "X-Delta: v1-last" -d '{"<имя входного параметра>": "<значение входного параметра>"}'

Пример ответа в формате JSON:

< HTTP/ 1.1 200 OK
< Content-Version: "delta v1-v6"
< ...
< [{ "name" : "table_name1" , "insert_rows" : <строки таблицы>, "delete_ids" : [3 , 7 , 10 ]}]

В запросах заголовок Content-Type задает формат ответа:

Входные параметры запроса

Запрос с указанием уникального идентификатора «ETag»

Запрос на загрузку кэша при разрыве соединения

Получение данных источника данных Foresight

Для получения среза данных на мобильном устройстве используйте API-запросы с указанием параметров. Доступ к данным источника данных Foresight зависит от прав доступа пользователя. Аутентификация пользователя выполняется в соответствии с учетными данными продукта «Форсайт. Аналитическая платформа».

В примерах используются названия ресурсов, заданные при импорте в поле «Название для мобильного клиента», например, «Dictionary», «NSI_param», «Cube», «GrCube».

Примеры запросов:

curl -v "http://localhost/api/v1/rpc/Dictionary/" -H "Authorization: Bearer token" -H "Content-Type: application/json" -H "X-Delta: auto" -d "{"param_LEN": "9" , "param_DIAM": "5" ,"param_PROD":"[[33],[34]]" , "group": null, "attributes": [[]]}"

curl -v "http://localhost/api/v1/rpc/NSI_param/" -H "Authorization: Bearer token" -H "Content-Type: application/json" -H "X-Delta: auto" -d "{"param_LEN": "9" , "param_DIAM": "5" ,"param_PROD":"34" , "group": null, "attributes": [[]]}"

Примечание. Для справочников НСИ доступна отметка только одного элемента.

curl -v "http://localhost/api/v1/rpc/Cube/" -H "Authorization: Bearer  token" -H "Content-Type: application/json" -H "X-Delta: auto" -d '{"dim_FACTS": null, "dim_OBJ195219": null, "group": null, "dim_OBJ195221": null, "dim_OBJ195223": null}'

curl -v "http://localhost/api/v1/rpc/Cube/" -H "Authorization: Bearer token" -H "Content-Type: application/json" -H "X-Delta: auto" -d "{"dim_FACTS ": null,  "dim_OBJ195219 ": [[ "1 "],[ "2 "]],  "group ": null,  "dim_OBJ195221 ": null,  "dim_OBJ195223 ": null}"

curl -v "http://locslhost/api/v1/rpc/GrCube/" -H "Authorization: Bearer token" -H "Content-Type: application/json" -H "X-Delta: auto" -d "{"dim_BALANCEINDICATORS_DICT":null, "dim_FACTSBUHBALANSE":null, "dim_REGISTRYSTRUCTURE_DICT":null, "dim_CALENDAR":null, "group": [["","","OBJ173485",""]]}"

См. также:

API сервера | Настройка интеграции с табличными источниками данных