...
3. Siųsti užklausas į DATA CUBE
3.1. Autentifikacija - pirmiausia (authentification)
Pirmiausia reikia užmegzti ryšį su duomenų baze. Užklausos į Filemaker duomenų bazes API reikalauja galiojančio žetono (token). Postman pagalba jį galima gauti išsiunčiant “authentification” užklausą importuotame rinkinyje.
...
Gautame rezultate “code”: “0”, bei “message”: “OK” reiškia sėkmingą žetono sugeneravimą. Jis įrašomas į globaliu globalių kintamųjų reikšmes ir bus naudojamas tolimesnėse užklausose. Žetonas galioja 15 min nuo paskutinės jį naudojusios užklausos. Po to, reikia autentifikuotis iš naujo.
3.2. Įrašų radimas. Visų įrašų vienoje lentelėje gavimas (Get all records)
Užmezgus ryšį tolimesnis galimas žingsnis yra išsitraukti visus duomenis iš nurodytos lentelės. Tai galima padaryti “get all records” užklausos pagalba.
...
Šiai užklausai reikalingas papildomas Layout kintamasis, kuris nurodo iš kurios DATA CUBE vietos imami duomenys. Kintamajam nustatyti pridėtas Pre-request Script kodas:
...
Šiuo metu (2020-08-17) į DATA CUBE įtrauktos 27 lentelės, kurios surašytos pateiktame sąraše:
Code Block | ||
---|---|---|
| ||
const dataArray = [ "Skyriai", "Departamentai", "Rolė", "Poreikiai", "Procedūros", "Sutartys", "Iniciatoriai",
"Preliminarios sutartys", "Teisės", "Tiekėjai", "Pirkimo būdai", "Pirkimai", "Ataskaita",
"Pirkimo planai", "Pirkimo plano derinimai", "Pasiūlymai", "Pasiūlymų dalys",
"Sutarties registravimo procedūros", "Patvirtinti pirkimų planai", "Patvirtinti pirkimų planų pirkimai",
"Pretenzijos", "VPT Pirkimo būdai", "Procedūros dalys", "Pirkimų dalys", "Inicijavimo procedūros",
"Inicijavimo procedūros derinimai", "Vertinimų subetapų pasiūlymų dalys", "BVPŽ kodai"]; |
Norimų duomenų lentelės pavadinimas įvedamas trečioje eilutėje, pvz.:
Code Block |
---|
pm.variables.set("layout", "Rolė"); |
Įvykdžius užklausą gaunamas rezultatas - visi nurodytos lentelės duomenys JSON formatu, pvz.:
Code Block |
---|
{
"response": {
"dataInfo": {
"database": "DATA_CUBE_4_01",
"layout": "Rolė",
"table": "Rolė",
"totalRecordCount": 3,
"foundCount": 3,
"returnedCount": 3
},
"data": [
{
"fieldData": {
"__RolėsKodas": 1,
"Rolės pavadinimas": "Administratorius"
},
"portalData": {},
"recordId": "251",
"modId": "0"
},
{
"fieldData": {
"__RolėsKodas": 2,
"Rolės pavadinimas": "Pirkimo specialistas"
},
"portalData": {},
"recordId": "252",
"modId": "0"
},
{
"fieldData": {
"__RolėsKodas": 3,
"Rolės pavadinimas": "Pirkimo iniciatorius"
},
"portalData": {},
"recordId": "253",
"modId": "0"
}
]
},
"messages": [
{
"code": "0",
"message": "OK"
}
]
} |
cURL užklausa:
Code Block |
---|
curl --location --request GET 'https://demo.ecocost.lt/fmi/data/v1/databases/DATA_CUBE_4_01/layouts/{{layout}}/records' \ --header 'Authorization: Bearer ed77ab8161f546d4f1d47c793221430239254ec9a819ef13c86d' |
...
4. Postman taip pat pateikia galimybę susigeneruoti užklausų kodą kitomis kalbomis:
...
Detali dokumentacija: