Artykuły w tej sekcji

Uruchomienie raportu z użyciem ogólnego api

Aktualizowano:

Jeśli chcemy mieć wpływ na parametry wykonania raportu, to należy wykonać pełną sekwencję metod  API systemu Kofios. Poniżej opisano wybrane metody api, a ich wywołanie przedstawiono w postaci zapytań Postman.

Pełen scenariusz uruchomienia raportu zawiera kroki:

  1. Zalogowanie użytkownika i uzyskanie zwrotnie token integracyjny
  2. Pobranie skrótów dla sesji
  3. Pobranie formularza uruchomieniowego danego skrótu
  4. Aktualizacja dat danego skrótu
  5. Pobranie zestawu danych dla danego skrótu - wynik raportu wraz z układem tabeli przestawnej
  6. Zakończenie sesji użytkownika

Domenę test-api.kofios.pl należy zastąpić domeną własnego serwera KOFIOS.

Logowanie

POST: https://test-api.kofios.pl/Api/Bso/AuthenticationService/Login

Body

{
    "Name": "powerbi",
    "Code": "001111",
    "Method": 1
}

Response

{
    "UserName": "powerbi",
    "UserID": 166,
    [...]
    "IntegrationToken": "KFS SzZLM0hLMkzVTbQwTtY1SUtL000ySUvStbCwME0xNk0zsjQyAwA=",
    "ExceptionDetails": null,
    "Msg": 0,
    "MsgDescription": "Ok",
    "WarningMsg": null
}

Odpowiedź poprawnego zalogowania zawiera:

  • Msg = 0
  • MsgDesription = "Ok"
  • IntegrationToken  - token sesyjny

W przypadku wywołania kolejnych metod api, należy do request dodać nagłówek autoryzacyjny, który zawiera wartość tokenu sesyjnego (IntegrationToken).

  • Key = Autorization
  • Value = KFS SzZLM0hLMkzVTbQwTtY1SUtL000ySUvStbCwME0xNk0zsjQyAwA=

Pobranie raportów / skrótów dla sesji

GET: https://test-api.kofios.pl/Api/Xsb/RptService/DTMGetDesktop

Headers

Response

Tablica Items zawiera wszystkie skróty dostępne dla danego użytkownika, należy uzyskać ID skrótu, który chcemy uruchomić.

{
"IsCompressed": false,
"Stream": null,
"DateFilterFields": null,
"Items": [
{
"ReqFields": null,
"ReqFKeys": null,
"ShortCutName": "POWERBI01",
"StyleName": "Domyślny",
"HasStyle": true,
"Name": "Raport akceptacji kosztów",
[...]
"ID": 5548,
[...]
}
],
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

 

Pobranie formularza uruchomieniowego danego skrótu

GET: https://test-api.kofios.pl/Api/Xsb/RptService/DTMGetShortCutDates/5548

Headers

Response

Otrzymany obiekt jest formularzem dat wykonania raportu. 

Każdy wiersz formularza, to pojedynczy obiekt w tablicy Controls

Nazwę możemy zidentyfikować według atrybutu Caption, którego daty są pokazane tym samym kolorem.

Obiekt ItemData pozwala przestawić wartość filtra dat:

  • w zakresie: 0
  • poza zakresem: 1
{
"PrefixControlEnable": true,
"SufixControlEnable": false,
"DialogMsg": null,
"DialogMsgForeColor": 0,
"ID": 0,
"SizeType": 0,
"FormHeight": 0,
"Text": "Kryteria daty",
"Controls": [
{
"PrefixEnable": true,
"Enable": true,
"SufixEnable": true,
"AllowNull": false,
"MinSize": "0, 0",
"Type": 10,
"PrefixType": 10,
"SufixType": 0,
"Values": [],
"PrefixValues": [],
"SufixValues": [],
"LinkValues": [],
"PrefixLinkValues": [],
"SufixLinkValues": [],
"Texts": [
{
"Value": "Wartość/Zakres",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixTexts": [
{
"Value": "Porównanie",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"SufixTexts": [],
"Caption": "",
"Requied": false,
"Info": null,
"Msg": null,
"ID": -1
},
{
"PrefixEnable": true,
"Enable": true,
"SufixEnable": true,
"AllowNull": false,
"MinSize": "0, 0",
"Type": 3,
"PrefixType": 2,
"SufixType": 0,
"Values": [
{
"Value": "01.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
},
{
"Value": "19.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixValues": [
{
"Value": null,
"ItemData": "0",
"Selected": false,
"SubValues": []
}
],
"SufixValues": [],
"LinkValues": [
{
"Value": "01.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
},
{
"Value": "19.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixLinkValues": [
{
"Value": null,
"ItemData": "0",
"Selected": false,
"SubValues": []
}
],
"SufixLinkValues": [],
"Texts": [],
"PrefixTexts": [
{
"Value": "w zakresie",
"ItemData": " between '[0]' and '[1]'",
"Selected": false,
"SubValues": []
},
{
"Value": "poza zakresem",
"ItemData": " not between '[0] and '[1]'",
"Selected": false,
"SubValues": []
}
],
"SufixTexts": [],
"Caption": "Data otrzymania",
"Requied": false,
"Info": "",
"Msg": null,
"ID": 7773
}
],
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

Aktualizacja dat danego skrótu

POST: https://test-api.kofios.pl/Api/Xsb/RptService/DTMSetShortCutDates/5548

Headers

Body

Zmodyfikowany obiekt uzyskany w poprzedniej metodzie

{
"PrefixControlEnable": true,
"SufixControlEnable": false,
"DialogMsg": null,
"DialogMsgForeColor": 0,
"ID": 0,
"SizeType": 0,
"FormHeight": 0,
"Text": "Kryteria daty",
"Controls": [
{
"PrefixEnable": true,
"Enable": true,
"SufixEnable": true,
"AllowNull": false,
"MinSize": "0, 0",
"Type": 10,
"PrefixType": 10,
"SufixType": 0,
"Values": [],
"PrefixValues": [],
"SufixValues": [],
"LinkValues": [],
"PrefixLinkValues": [],
"SufixLinkValues": [],
"Texts": [
{
"Value": "Wartość/Zakres",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixTexts": [
{
"Value": "Porównanie",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"SufixTexts": [],
"Caption": "",
"Requied": false,
"Info": null,
"Msg": null,
"ID": -1
},
{
"PrefixEnable": true,
"Enable": true,
"SufixEnable": true,
"AllowNull": false,
"MinSize": "0, 0",
"Type": 3,
"PrefixType": 2,
"SufixType": 0,
"Values": [
{
"Value": "01.01.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
},
{
"Value": "31.12.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixValues": [
{
"Value": "w zakresie",
"ItemData": " between '[0]' and '[1]'",
"Selected": false,
"SubValues": []
}
],
"SufixValues": [],
"LinkValues": [
{
"Value": "01.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
},
{
"Value": "19.03.2025 00:00:00",
"ItemData": null,
"Selected": false,
"SubValues": []
}
],
"PrefixLinkValues": [
{
"Value": null,
"ItemData": "0",
"Selected": false,
"SubValues": []
}
],
"SufixLinkValues": [],
"Texts": [],
"PrefixTexts": [
{
"Value": "w zakresie",
"ItemData": " between '[0]' and '[1]'",
"Selected": false,
"SubValues": []
},
{
"Value": "poza zakresem",
"ItemData": " not between '[0] and '[1]'",
"Selected": false,
"SubValues": []
}
],
"SufixTexts": [],
"Caption": "Data otrzymania",
"Requied": false,
"Info": "",
"Msg": null,
"ID": 7636
}
],
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

Response

 

{
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

Pobranie zestawu danych dla danego skrótu

GET: https://test-api.kofios.pl/Api/Xsb/RptService/DTMGetData/5548

Headers

Response

  • Styles - zawiera projekt tabeli przestawnej, tj. wymiary poszczególnych obszarów oraz ich formaty
  • Filters - zawiera informację, jakie filtry zostały zastosowane przy wykonaniu raportu
  • ReturnTable - zawiera zestaw danych raportu
{
"RunID": 0,
"PubID": 0,
"Caption": null,
"Styles": [ ... ],
"Filters": [
{
"Value": "Data otrzymania: w zakresie",
"ItemData": null,
"Selected": false,
"SubValues": [
{
"Value": "2025/01/01",
"ItemData": "01.01.2025",
"Selected": false,
"SubValues": []
},
{
"Value": "2025/03/19",
"ItemData": "19.03.2025",
"Selected": false,
"SubValues": []
}
]
}
],
"Tools": [],
"DataSet": {
"ReturnTable": [
{
"Identyfikator": "FK/0001/01/25",
"Numer": "ZAL 1",
"Nazwa kontrahenta": " Pol-Market Schody Drewniane Dariusz Kutera",
"Status dokumentu": "ZAPŁACONE",
"Wartość netto dokumentu": 5000.0100,
"Wartość brutto dokumentu": 6150.0100,
"Data otrzymania": "2025-01-08T00:00:00",
"Kategoria": "FAKTURA ZALICZKOWA",
"Kod budżetu": "0701",
"Budżet": "KOFIOS",
"Status akceptacji": "ZAAKCEPTOWANO",
"Status zadania akceptacji": "ZAAKCEPTOWANO",
"Akceptujący": "Jakub Szostek",
"Zaakceptowana wartość": 5000.0100,
"Kod kosztów": "R",
"Kategoria kosztów": "TEST1",
"Zadanie zaakceptowane": 1,
"Termin płatności": null,
"Forma płatności": "przelew"
},
{
"Identyfikator": "FK/0005/02/25",
"Numer": "FK 0602",
"Nazwa kontrahenta": " Pol-Market Schody Drewniane Dariusz Kutera",
"Status dokumentu": "ZAAKCEPTOWANY",
"Wartość netto dokumentu": 500.0000,
"Wartość brutto dokumentu": 615.0000,
"Data otrzymania": "2025-02-06T00:00:00",
"Kategoria": "FAKTURA KOSZTOWA",
"Kod budżetu": "01",
"Budżet": "BUDOWA 1",
"Status akceptacji": "ZAAKCEPTOWANO",
"Status zadania akceptacji": "ZAAKCEPTOWANO",
"Akceptujący": "Jakub Szostek",
"Zaakceptowana wartość": 500.0000,
"Kod kosztów": "R",
"Kategoria kosztów": "TEST1",
"Zadanie zaakceptowane": 1,
"Termin płatności": null,
"Forma płatności": "przelew"
},
[...]
{
"Identyfikator": "TMP5000/638779888051393961",
"Numer": "192921",
"Nazwa kontrahenta": "\"AIFO GROUP\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"Status dokumentu": "W AKCEPTACJI",
"Wartość netto dokumentu": 0.0000,
"Wartość brutto dokumentu": 0.0000,
"Data otrzymania": "2025-03-19T00:00:00",
"Kategoria": "FAKTURA KOSZTOWA",
"Kod budżetu": "KOFIO 1",
"Budżet": "KOFIO 1",
"Status akceptacji": "W AKCEPTACJI",
"Status zadania akceptacji": "W AKCEPTACJI",
"Akceptujący": null,
"Zaakceptowana wartość": 0.0000,
"Kod kosztów": null,
"Kategoria kosztów": null,
"Zadanie zaakceptowane": 0,
"Termin płatności": null,
"Forma płatności": null
}
]
},
"IsCompressed": false,
"Stream": null,
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

Zakończenie sesji - logout

GET: https://test-api.kofios.pl/Api/Bso/AuthenticationService/Logout

Headers

Response

{
"ExceptionDetails": null,
"Msg": 0,
"MsgDescription": "Ok",
"WarningMsg": null
}

 

 

Odmowa dostępu
Odmowa dostępu