Kaip skaityti BSS API metodus ir jų grąžinamus duomenis

Kaip skaityti BSS API metodus ir jų grąžinamus duomenis

BSS API dokumentacijoje prie kiekvieno metodo pateikiamas techninis užklausos žymėjimas – GET, POST, PUT arba DELETE – ir metodo pavadinimas, paaiškinantis, kokį veiksmą metodas atlieka. Renkantis metodą svarbu vertinti abu. Vien POST žymėjimas nereiškia, kad metodas kuria naują objektą – BSS API POST taip pat naudojamas paieškai, duomenų keitimui, failų įkėlimui, veiksmų inicijavimui ir kitoms operacijoms.

Ką reiškia GET, POST, PUT ir DELETE?

Žymėjimas Ką jis reiškia BSS API? Kokius metodus galite pamatyti?
GET Naudojamas informacijai iš BSS gauti. Gali būti grąžinamas konkretus objektas, objektų sąrašas, susijusi informacija arba failas. Get ..., Get ... list, Download .... GET taip pat naudojamas API pasiekiamumo patikrinimui.
POST Naudojamas duomenims perduoti į BSS arba konkrečiam veiksmui inicijuoti. Jo paskirtį visada reikia nustatyti pagal metodo pavadinimą. Search ..., Create ..., Modify ..., Upload ..., Import ..., Attach ..., Approve ..., Reject ..., Activate ..., Send ... ir kiti veiksmai.
PUT BSS API naudojamas kai kuriems jau egzistuojančių duomenų arba ryšių pakeitimams. Pavyzdžiui, objekto duomenų keitimas arba darbuotojo, grupės ar rolės priskyrimas. Ne visi BSS duomenų pakeitimai atliekami PUT – dalis Modify metodų naudoja POST.
DELETE Naudojamas objektui pašalinti arba konkrečiam pašalinimo / prieigos panaikinimo veiksmui atlikti. Pavyzdžiui, sąskaitos pašalinimas arba atsijungimas ir prieigos tokeno panaikinimas. Tikslų rezultatą visada nurodo konkretaus metodo pavadinimas.

Metodo pavadinimas pasako, ką metodas daro

Po GET, POST, PUT ar DELETE žymėjimo pateikiamas pats metodo pavadinimas. Būtent jis yra svarbiausias renkantis, kokį veiksmą norite atlikti.

Metodo pavadinime Ką tai paprastai reiškia?
Search for ... Surasti objektus pagal pasirinktus paieškos kriterijus.
Get ... Gauti konkretaus objekto informaciją arba sąrašą.
Create ... Sukurti naują objektą arba naują susijusį įrašą.
Modify ... Pakeisti jau egzistuojančio objekto duomenis. Modify metodas gali būti realizuotas tiek per POST, tiek per PUT, todėl vadovaukitės konkrečiu metodo aprašymu.
Upload / Download ... Įkelti failą į BSS arba jį atsisiųsti.
Attach ... Susieti vieną objektą su kitu, pavyzdžiui, dokumentą su sąskaita.
Import ... Importuoti duomenis į BSS.
Approve / Reject ... Patvirtinti arba atmesti konkretų BSS objektą ar operaciją.
Assign ... Priskirti objektui kitą objektą, pavyzdžiui, rolę ar grupę vartotojui.
Activate / Deactivate ... Aktyvuoti arba deaktyvuoti objektą.

Kodėl gali būti keli panašūs GET metodai?

Tam pačiam BSS objektui gali būti keli GET metodai, nes objektą galima surasti pagal skirtingą turimą identifikatorių. Tokiu atveju pasirenkamas tas metodas, kuris atitinka jūsų turimus duomenis. Pavyzdžiui, darbuotojo informaciją galima gauti: pagal employee ID – vidinį BSS darbuotojo identifikatorių, pagal timeboard number – tabelio numerį arba pagal staff code – darbuotojo kortelės numerį. Visais šiais atvejais ieškomas konkretus darbuotojas, tik naudojama skirtinga jį identifikuojanti reikšmė. Tą patį principą galima matyti ir kituose BSS objektuose – pavyzdžiui, dokumentą galima gauti pagal dokumento ID arba dokumento numerį, projektą – pagal projekto ID arba projekto numerį. Todėl renkantis GET metodą pirmiausia pasižiūrėkite, kokį objekto identifikatorių turite.

Kuo skiriasi GET ir SEARCH?

GET naudojamas tada, kai konkretus objektas jau žinomas ir turite jo identifikavimo reikšmę. GET metodas paprastai grąžina gerokai daugiau ir detalesnės objekto informacijos nei SEARCH. Kurį GET metodą pasirinkti, priklauso nuo to, kokią identifikavimo reikšmę turite – pavyzdžiui, ID, numerį ar kodą.

SEARCH dažniausiai naudojamas objektams surasti pagal pasirinktus kriterijus ir gauti jų identifikavimo informaciją – pavyzdžiui, ID, numerį, kodą ar kitą reikšmę, pagal kurią vėliau galima kreiptis į konkretų GET metodą. SEARCH rezultatų struktūra paprastai yra mažesnė ir skirta paieškai bei reikiamo objekto identifikavimui.

Ką metodas gali grąžinti?

Priklausomai nuo metodo, BSS API gali grąžinti vieną objektą, objektų sąrašą, puslapiuotą sąrašą arba tik užklausos rezultatą be papildomų duomenų.

Laukas Ką reiškia?
data Patys metodo grąžinti duomenys. Tai gali būti vienas objektas arba objektų sąrašas.
message Papildoma informacija apie užklausos rezultatą, jei ji pateikiama.
pageSize Kiek įrašų pateikiama viename rezultatų puslapyje.
pageNumber Kurio rezultatų puslapio duomenys grąžinti.
pageCount Kiek iš viso yra rezultatų puslapių.
totalCount Kiek iš viso rasta įrašų visuose puslapiuose.

Laukų tipai ir jų reikšmės

Prie lauko dokumentacijoje nurodytas tipas padeda suprasti, kokio pobūdžio reikšmė gali būti grąžinta. Duomenų tipas pats savaime nepaaiškina lauko verslo prasmės. Pavyzdžiui, sveikasis skaičius gali reikšti kiekį, objekto identifikatorių arba pasirinktą sąrašo reikšmę.

Tipas Ką reiškia? Reikšmės pavyzdys
string Tekstas. Tai gali būti pavadinimas, aprašymas, kodas ar numeris. "Prekė A"
integer Sveikasis skaičius, be trupmeninės dalies. 125
number Skaičius, galintis turėti trupmeninę dalį. 125.50
boolean Loginė reikšmė: taip arba ne. true, false
date Data. JSON atsakyme pateikiama kabutėse. "2026-10-12"
date-time Data su laiku. JSON atsakyme pateikiama kabutėse. "2026-10-12T14:30:00"
object Objektas, sudarytas iš kelių laukų. { "name": "Prekė A" }
array Reikšmių arba objektų rinkinys. [15, 18]

Lentelėje pateikti pavyzdžiai skirti tipams paaiškinti. Konkretaus lauko paskirtį ir galimas reikšmes tikrinkite metodo apraše.

Tekstas ir skaičiai

Tekstas JSON atsakyme rašomas dvigubose kabutėse, o skaičiai – be kabučių. Vien tai, kad reikšmė sudaryta iš skaitmenų, dar nereiškia, kad jos tipas yra skaičius. Pavyzdžiui, kodas "00125" yra tekstinė reikšmė, kurioje svarbūs ir pradžioje esantys nuliai.

Skaičiai gali reikšti sumas, kiekius, procentus, koeficientus ar identifikatorius. Trupmeninė dalis JSON formate atskiriama tašku, pavyzdžiui, 125.50. Matavimo vienetą ir reikšmės paskirtį nustatykite pagal lauko aprašymą bei susijusius laukus.

Loginės reikšmės: true ir false

Loginis laukas pateikia vieną iš dviejų reikšmių: true arba false. Jos rašomos be kabučių. Šias reikšmes skaitykite kartu su lauko pavadinimu ir aprašu. Pavyzdžiui, jei laukas nurodo, ar įrašas ištrintas, true reiškia, kad ištrynimo požymis įjungtas, o false – kad neįjungtas. false yra konkreti reikšmė, o ne tuščias laukas.

Datos ir laikas

Data pateikiama formatu YYYY-MM-DD: pirmiausia metai, tada mėnuo ir diena. Pavyzdžiui, "2026-10-12" reiškia 2026 m. spalio 12 d. Datos ir laiko reikšmėje abi dalys atskiriamos raide T. Pavyzdžiui, "2026-10-12T14:30:00" nurodo datą ir laiką – 14 val. 30 min. Laiko dalyje gali būti pateikiamos ir sekundės dalys.

Tuščia reikšmė ir nepateiktas laukas

API atsakyme laukas gali turėti tuščią reikšmę arba būti nepateiktas. Tuščios reikšmės nepainiokite su nuliu ar false – jų prasmė skiriasi.

Ką matote atsakyme? Kaip suprasti?
null Laukas pateiktas, tačiau jo reikšmė tuščia.
"" Pateikta tuščia tekstinė eilutė.
0 Pateikta skaitinė reikšmė – nulis.
false Pateikta loginė reikšmė – ne.
[] Pateiktas rinkinys, kuriame nėra elementų.
Lauko nėra Laukas šiame atsakyme nepateiktas.

Objektai ir jų laukai

Objektas yra kelių susijusių laukų grupė. JSON atsakyme jis žymimas riestiniais skliaustais {}. Objekto viduje gali būti tekstinių, skaitinių ir kitų reikšmių, taip pat kitų objektų ar masyvų. Toliau pateiktas iliustracinis pavyzdys:

{
  "data": {
    "name": "Prekė A",
    "price": 125.50,
    "isActive": true
  }
}

Šiame pavyzdyje data yra vienas objektas. Jo viduje pateikti trys laukai: name, price ir isActive. Įdėtinį lauką skaitykite kartu su objektu, kuriam jis priklauso. Vienodai pavadinti laukai skirtinguose objektuose gali turėti skirtingą paskirtį.

Kur rasti konfigūracinio sąrašo reikšmes?

Kai kuriuose API laukuose grąžinamas pasirinkto BSS konfigūracinio sąrašo įrašo identifikatorius. Norint sužinoti, kokią reikšmę jis žymi, reikia gauti atitinkamą sąrašą. Prie tokio lauko dokumentacijoje pateikiama žyma Config index. Pavyzdžiui, Config index: WeightUnit nurodo matavimo vienetų sąrašą.

  • Prie lauko dokumentacijoje raskite Config index.
  • Skiltyje Global pasirinkite metodą Get configuration data by index ir perduokite nurodytą indeksą.
  • Gautame sąraše raskite įrašą, kurio configurationNumber atitinka jūsų lauko reikšmę.

Sąrašo indeksas nurodo, kurį sąrašą gauti, o configurationNumber – konkretų to sąrašo įrašą. Pavyzdžiui, įrašą, kurio name yra Candidate, identifikuoja configurationNumber: 1. Jei API laukas laukia šio sąrašo įrašo identifikatoriaus, perduokite 1, o ne tekstą Candidate. Lauko privalomumą ir naudojimo taisykles tikrinkite konkretaus metodo apraše.

Sąrašo laukas Ką reiškia?
configurationNumber Sąrašo įrašo identifikatorius. Jei API laukas laukia šio sąrašo įrašo identifikatoriaus, naudojama ši reikšmė.
name Sąrašo įrašo pavadinimas, šiame pavyzdyje – Candidate.
description Sąrašo įrašo aprašymas. Šiame pavyzdyje sutampa su pavadinimu.
nameMltKey Pavadinimo vertimo raktas, pavyzdžiui, ERP.Cfg.EmployeeCurrentStatus.Candidate.Name. Tai nėra išverstas pavadinimas.
descriptionMltKey Aprašymo vertimo raktas. Tai nėra išverstas aprašymas.

Trumpai duomenų skaitymo seka tokia: Prie lauko dokumentacijoje raskite Config index → skiltyje Global pasirinkite metodą Get configuration data by index → perduokite sąrašo indeksą → raskite įrašą, kurio configurationNumber atitinka lauko reikšmę → perskaitykite jo name.

Kaip suprasti atributo reikšmę?

Atributai leidžia prie BSS objektų saugoti papildomą informaciją. Atributo reikšmė gali būti tekstas, skaičius, data, loginė reikšmė, pasirinkimas iš sąrašo arba nuoroda į sistemos objektą. Atributo aprašas ir konkrečiam objektui priskirta atributo reikšmė yra skirtingi dalykai. Aprašas paaiškina, koks tai atributas ir kokio tipo jo reikšmė. Objekto atributų duomenys pateikia tam objektui priskirtą reikšmę.

Atributo apraše laukas attributeDataTypeCfgNr nurodo jo reikšmės tipą. Šį kodą susiekite su sąrašo AttributeValueType lauku configurationNumber. Lauke name pateikiamas tipo pavadinimas. Tai BSS atributų tipai, todėl jų nepainiokite su bendrais JSON duomenų tipais.

Tipo kodas Pavadinimas API Atributo tipas Kaip skaityti reikšmę?
1 Number Sveikasis skaičius value reiškia sveikąjį skaičių nuo -2147483648 iki 2147483647.
2 Decimal Dešimtainis skaičius value reiškia skaičių, galintį turėti trupmeninę dalį. Tipo apraše nurodyta iki 38 skaitmenų; leidžiamas trupmeninės dalies tikslumas čia nenurodytas.
3 String Tekstas value reiškia tekstinę informaciją. Net jei tekstą sudaro tik skaitmenys, jį vertinkite kaip tekstą.
4 List Sąrašas value nurodo pasirinktą sąrašo įrašą. Pagal atributo configurationIndexName gaukite sąrašą ir raskite įrašą, kurio configurationNumber atitinka value.
5 Date Data value interpretuokite kaip datą, pavyzdžiui, 2026-10-12.
6 Boolean Taip / ne value reiškia vieną iš dviejų loginių būsenų. Jos prasmę vertinkite pagal atributo paskirtį.
7 UNumber Sveikasis skaičius be ženklo value reiškia neneigiamą sveikąjį skaičių. Didžiausia leidžiama reikšmė šiame tipo apraše nenurodyta.
8 Money Piniginė suma value interpretuokite kaip piniginę sumą. Vien tipo pavadinimas nenurodo valiutos ar apvalinimo taisyklių.
9 Percent Procentas value interpretuokite kaip procentinę reikšmę.
10 SystemObject Sistemos objektas Reikšmė susieja atributą su kitu BSS objektu. referencedPrimaryKeyNr nurodo susieto objekto identifikatorių, o value – jo pavadinimą. Objekto tipą nustatykite pagal atributo aprašą.
11 DateTime Data ir laikas value interpretuokite kaip datą su laiku. Jei pateikta laiko juosta, įvertinkite ją skaitydami reikšmę.
12 Time Laikas value interpretuokite kaip laiką, pavyzdžiui, 14:30:00.

Atributo tipo kodas nurodo, kaip suprasti reikšmę, o ne pačią atributo reikšmę. Pavyzdžiui, attributeDataTypeCfgNr: 4 reiškia, kad atributas yra sąrašo tipo, tačiau pasirinktą sąrašo įrašą nurodo jo value.

Trumpai duomenų skaitymo seka tokia: Gaukite konkretaus objekto atributų reikšmes → pasiimkite attributeNr → metodu GetAttribute (Attributes/{AttributeNr}) gaukite atributo aprašą → pagal attributeDataTypeCfgNr nustatykite tipą → pagal šį tipą interpretuokite atributo reikšmę.

Sąrašo tipo atributai

Sąrašo tipo atributo value nurodo pasirinktą sąrašo įrašą. Norint sužinoti jo pavadinimą, pirmiausia reikia išsiaiškinti, su kuriuo sąrašu atributas susietas. attributeDataTypeCfgNr: 4 reiškia sąrašo tipą. Atributo apraše pateiktas configurationIndexName nurodo reikalingą sąrašą.

  • Iš objekto atributo duomenų pasiimkite attributeNr ir value.
  • Pagal attributeNr gaukite atributo aprašą.
  • Iš aprašo pasiimkite configurationIndexName.
  • Skiltyje Global metodu Get configuration data by index pagal šį indeksą gaukite konfigūracinį sąrašą.
  • Jame raskite įrašą, kurio configurationNumber atitinka atributo value. Pasirinkto įrašo pavadinimą perskaitykite iš name.

attributeNr identifikuoja patį atributą, o jo value – tam objektui pasirinktą sąrašo reikšmę. Įprastam API laukui reikalingą sąrašą nurodo dokumentacijos žyma Config index, o sąrašo tipo atributui – atributo aprašo laukas configurationIndexName.

Trumpai duomenų skaitymo seka tokia: Pasiimkite atributo attributeNr ir value → metodu GetAttribute gaukite aprašą → patikrinkite attributeDataTypeCfgNr: 4 ir pasiimkite configurationIndexName → metodu Get configuration data by index gaukite šį sąrašą → raskite įrašą, kurio configurationNumber atitinka atributo value → perskaitykite jo name.

Sistemos objekto tipo atributai

Sistemos objekto tipo atributo reikšmė yra nuoroda į konkretų BSS įrašą, pavyzdžiui, projektą, padalinį ir pan. Norint suprasti šią reikšmę, reikia nustatyti du dalykus: kokios srities objektas pasirinktas ir kuris tos srities įrašas nurodytas.

Pavyzdžiui, gavote tokią atributo reikšmę:

{
  "attributeNr": 172,
  "attributeValuePrimaryKeyNr": 5,
  "ownerNr": 236,
  "referencedPrimaryKeyNr": 140,
  "value": "Kamanių avilys"
}

Čia attributeNr: 172 nurodo atributą, referencedPrimaryKeyNr: 140 – pasirinktą BSS įrašą, o value – jo pavadinimą. Iš šio atsakymo vieno dar negalima nustatyti, ar pasirinktas projektas, padalinys ar kitas objektas.

Pagal attributeNr gaukite atributo aprašą. Naudokite metodą GetAttribute (Attributes/{AttributeNr}), šiame pavyzdyje nurodydami 172. Gautame apraše patikrinkite laukus attributeDataTypeCfgNr ir referencedTableCfgNr. Toliau pateikta aktuali atsakymo dalis:

{
  "attributeNr": 172,
  "attributeCategoryName": "EmployeContract",
  "name": "Projektų pasirinkimas",
  "attributeDataTypeCfgNr": 10,
  "referencedTableCfgNr": 12
}

attributeDataTypeCfgNr: 10 reiškia, kad atributo tipas yra SystemObject. Laukas referencedTableCfgNr: 12 nurodo pasirinkto objekto srities kodą.

Išsiaiškinkite, ką reiškia objekto srities kodas. Dokumentacijos skiltyje Global naudokite metodą Get configuration data by index ir kaip indeksą nurodykite GlobalScopes. Gautame configurationItems sąraše raskite įrašą, kurio configurationNumber sutampa su atributo referencedTableCfgNr. Šiame pavyzdyje ieškome reikšmės 12:

{
  "configurationNumber": 12,
  "name": "Project_Project",
  "description": "Project"
}

Šis įrašas parodo, kad kodas 12 reiškia projektų sritį. Todėl pradiniame atributo reikšmės atsakyme referencedPrimaryKeyNr: 140 yra projekto ID, o value: "Kamanių avilys" – pasirinkto projekto pavadinimas.

Jei reikia daugiau pasirinkto objekto duomenų, kreipkitės į jo GET metodą. Šiame pavyzdyje dokumentacijos skiltyje Projects pasirinkite projekto gavimo pagal ID metodą ir perduokite 140. Kitų sistemos objektų atveju pasirinkite nustatytai sričiai skirtą metodą, jei jis pateiktas API dokumentacijoje.

referencedTableCfgNr pasako, kokios srities objekto ieškoti, o referencedPrimaryKeyNr – kurį konkretų tos srities įrašą gauti. Objekto tipo nenustatinėkite vien pagal atributo ar jo reikšmės pavadinimą.