Kapcsolódó információk:
Paraméterezési útmutatók

Összehasonlított verziók

Kulcs

  • Beillesztett sor.
  • Törölt sor.
  • Formázás megváltoztatva.

A DbConnector alkalmazáshoz kapcsolódó API felület az alkalmazás néhány funkcióját delegálja intranetes Az API felület a DbConnector alkalmazás Kimenő számlák automatizált készítése funkciót teszi elérhetővé webszolgáltatásként.
A webszolgáltatás XML webszolgáltatás XML alapú REST API kezelési móddal érhető el.

...

hívásokkal működtethető.

Az API a következő belépési ponton érhető el. A szerver név a helyi intranetes környezettől függ.

A REST API hívások általános használata DbConnector REST API oldalon található. A dokumentum angol nyelven is elérhető DbConnector REST API - invoice címen.

Beige


A várólistát egy időzítetten futó feldolgozó üríti ki. A feldolgozás közben várólistába kerülő új elemek a következő feldolgozási periódusba kerülnek.

Panel
bgColorAliceBlue
titleBGColorLightSteelBlue
titlePOST | GET
    

http://server/dbconnector/api/v1

/

Header paraméterek: az API használathoz szükséges pkod, lickod paraméterek.

A számlázási API

Az API hívás

aszinkron működésű. A beküldött kérések várólistába kerülnek. A feldolgozottsági állapot lekérdezésére külön API hívás van. A válaszok XML-ben érkeznek.

Oszlop
width50 %
Panel
bgColor

Tartalom

Tartalomjegyzék
maxLevel1

Minden API híváskor az autentikációs adatokat a HTTP header-ben kell beküldeni.

Header paraméterek
   pkod:SajatSupPartnerKod
   lickod:SajatSupLicKod 

Az adatok a SUP rendszert felhasználó cég számára átadott licence adatlapon találhatók.

  • pkod - SUP partnerkód
  • lickod - SUP licence kód

...

GET | POST 
     http://server/dbconnector/api/v1/test

A hívás célja az API elérhetőségének tesztelése. Az elérhetőség egyszerű tesztelésére bármely böngésző alkalmas. A komplex teszteléséhez pl.: a széles körben elterjedt CURL használható.

Body paraméter (opcionális raw data)
   dummy

Result
   XML - <Success>    :  true | false
   XML - <StatusCode> :  A HTML státuskódhoz hasonló részletesebb információ.

Alapesetben csak az API létezését teszteljük. Ez közel ekvivalens a böngésző címsorból meghívott móddal.

Kódblokk
languagebash
titleHívás minta - API elérhetősége
CURL.EXE    ^
  -X GET    ^
     http://server/dbconnector/api/v1/test

...

Kódblokk
languagebash
titleHívás minta - Authentikációs adatok tesztelése
CURL.EXE 	^
  -X POST   ^
     http://server:8080/dbconnector/api/v1/test	^
	-H pkod:SajatSupPartnerKod	^
	-H lickod:SajatSupLicKod
Kódblokk
languagexml
titleVálasz minta
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DbConnectorResponse>
    <Success>true</Success>
    <StatusCode>200</StatusCode>
    <Message>API build: 1.0.6536M (2018.08.09. 16:07:30) DbConnector DLL: 15.1 (2018.08.01. 8:16:32)</Message>
</DbConnectorResponse>

...


Tartalom

Tartalomjegyzék
maxLevel1

Rögzítés
xmlSzamla
xmlSzamla
Számla beküldése

Panel
bgColorAliceBlue
titleBGColorDarkSalmon
titlePOST

http://server/dbconnector/api/v1/postxml

A hívás célja, hogy a Kimenő számla importálás XML sémával leírt, külső rendszerben előállított számlázási utasítás alapján a SUP rendszer DbConnector modulja, a Kimenő számlák automatizált készítése funkciója

...

bash

API felületen keresztül is elérhető legyen.

Qsboxmegjegyz

A beküldés egy aszinkron feldolgozás, a beküldött XML-ek várólistába kerülnek, a feldolgozottsági állapotot a későbbiekben le kell kérdezni. Megfelelő szerver oldali beállítások esetén a sikeres feldolgozottsági státussal együtt a számla PDF képe is visszaadásra kerül a

hivóhoz

hívóhoz.

Paraméter (kötelező)
   XML : A számázási utasítás XML (az esetleges számla csatolmányokat előzetesen kell feltölteni)

Result
   XML - <Token> : Sikeres beküldés esetén a kapott adatot meg kell őrizni. A feldolgozás eredménye ezzel az azonosítóval kérhető le.

Kódblokk
language
java
titleHívás minta
CURL.EXE    ^
  -X POST   ^
     http://server:8080/dbconnector/api/v1/postxml ^
  -H pkod:SajatSupPartnerKod  ^
  -H lickod:SajatSupLicKod    ^
  -H "Content-Type: text/html; charset=UTF-8" ^
  --data-ascii @testUpload.xml
Kódblokk
languagexml
titleVálasz minta
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DbConnectorResponse>
    <Success>true</Success>
    <StatusCode>200</StatusCode>
    <Token>7085BEEC-93B0-4FE1-88BB-F531EDAC38D6</Token>
</DbConnectorResponse>
Qsboxmegjegyz

File-ként létrehozott XML esetén figyelni kell arra, hogy BOM nélküli XML-t kell feltölteni.

Rögzítés
upload
upload
Számla csatolmány feltöltése

Panel
bgColorAliceBlue
titleBGColorDarkSalmon
titlePOST

...

http://server/dbconnector/api/v1/upload

A számlához opcionálisan csatolmányként tárolt melléklet tölthető fel. Feltölthető file formátum: JPG, PDF. Amennyiben az elkészült számla is PDF formátumú, a mellékletek beágyazódnak a számla PDF-be.
A csatolmányokat a számlázási utasítás XML

...

beküldést megelőzően kell feltölteni a szerverre. A válaszként kapott azonosítókat (tokenek) egy vesszővel felsorolt listában el kell helyezni

...

bash

a számlázási XML-ben, a <Elojegyzett_Szamlak><Szamlak><Szamla><Csatolmanyok> adattagban.

Kódblokk
language
java
titleHívás minta
CURL.EXE    ^
  -X POST   ^
     http://server:8080/dbconnector/api/v1/upload ^
  -H pkod:SajatSupPartnerKod  ^
  -H lickod:SajatSupLicKod    ^
  -F file=@testupload.jpg
Kódblokk
languagexml
titleVálasz minta
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DbConnectorResponse>
    <Success>true</Success>
    <StatusCode>200</StatusCode>
    <Message>File feltöltés sikeres</Message>
    <Token>74cc7200-b9fc-4fd8-a1cf-8942c09afc35</Token>
</DbConnectorResponse>



Rögzítés
getStatus
getStatus
Feldolgozottsági állapot lekérdezése

Panel
bgColorAliceBlue
titleBGColorLightSteelBlue
titleGET

...

http://server/dbconnector/api/v1/getstatus

A hívás célja a korábban a feldolgozási várólistába beküldött XML dokumentum feldolgozottsági státusának lekérdezése. A kérés azonosításához az XML beküldéskor válaszként kapott tokent kell használni.

Sikeres feldolgozás esetén válaszként visszaadja a számát a SUP rendszerben azonosító adatot (napló | számlaszám)

...

. Megfelelő beállítások esetén a számla PDF

...

kép is lekérdezhető -

...

base64 enkódolt formában.

...

Paraméter (kötelező)
   token : Az XML beküldéskor kapott token.

Result
   XML - <BizonylatAzon> :

...

Az elkészült

...

bizonylat azonosítója a SUP rendszerben (napló |

...

számlaszám).
   XML -

...

bashHívás

 <DocumentType>, <DocumentData> : Az elkészült számla PDF számlaképe (megfelelő SUP beállítás esetén).

Kódblokk
language
java
title
Kérés minta
CURL.EXE    ^
  -X GET    ^
     http://server:8080/dbconnector/api/v1/getstatus?token=
B03D8188
7085BEEC-
2159
93B0-
4174
4FE1-
A866
88BB-
E214988DFB2A
F531EDAC38D6 
^
 ^
  -H pkod:SajatSupPartnerKod   ^
  -H lickod:SajatSupLicKod
Kódblokk
languagexml
titleVálasz minta #1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DbConnectorResponse>
    <Success>false</Success>
    <StatusCode>290</StatusCode>
    <Message>A tetel feldolgozasra var</Message>
</DbConnectorResponse>
Kódblokk
languagexml
titleVálasz minta #2
 <
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DbConnectorResponse>
    <Success>true</Success>
    <StatusCode>200</StatusCode>
    
<BizonylatAzon>499
<BizonylatAzon>411|
DBC0001
KI-0001/
18<
22</BizonylatAzon>
</DbConnectorResponse>

Válasz XML

Az API hívásra adott válasz XML egy <DbConnectorResponse> séma alapján jön létre.
Adattagok

SuccessSikeres feldolgozás esetén true, egyéb esetben false
StatusCodeSikertelen feldolgozás esetén további, részletesebb információkat közöl. Megegyezik a http statuskóddal, de a hívás sikerességének ellenőzéséhez a nem ezt, hanem a http statuskódot kell használni.
MessageSikertelen feldolgozás esetén szöveges információk a problémáról, összhangban a StatusCode válasszal
TokenKérés beküldés esetén a várólistából ezzel az azonosítóval lehet majd a status információkat lekérni
BizonylatAzon

Számlázási utasítás beküldés és sikeres feldolgozás esetén, a SUP rendszerben a megadott azonosítón található meg a számla.

Qsboxmegjegyz

A feldolgozás során a BizonylatAzon információ akkor is visszajön, ha a teljes folyamat nem volt sikeres (pl. nem sikerült hitelesíteni az e-számlát), de a számla bizonylat létrehozása sikeres volt.

DocumentType
PdfDocument
DocumentData

Számlázási utasítás beküldés és sikeres feldolgozás esetén, az elkészült számla PDF képe base64 enkódolt formában. A számla PDF kép visszaadáshoz a szerver oldalon további beállítások szükségesek. Ha ez nincs, akkor csak a BizonylatAzon információ jön vissza

...

  • 200 OK
  • 290 Not yet processed
  • 401 Unauthorized
  • 404 Not Found
  • 490 Auth param missing
  • 491 Body or param missing
  • 492 XML ERROR
  • 493 Already exist
  • 494 Too long time not processed
  • 495 Error on processing
  • 499 Other error
  • 590 INI error
  • 591 Database connect error
  • 592 Other Exception

Kliens implementáció

A kliens implementáció első lépése az API működésének tesztelése. A tesztelés két üzemmódban lehetséges.

  • API url elérhetőségének ellenőrzése
  • API teljeskörű tesztelése

A működés teszteléséhez a a széles körben elterjedt CURL használható. Szintén használhatók a különböző böngészőkhöz készített bővítmények.

Intraneten kívüli használat

Bár az API alapvetően intranetes felhasználásra készült, nincs akadály annak, hogy megfelelő biztonsági feltételek megteremtésével az internet irányából is használható legyen.

A QSoft Kft. az API kipróbálásához webes teszt-felületet hozott létre, mely elérhető: http://dbconnector-apitest.sup.hu helyen.
A teszt API szintén elérhető az internetről is: http://dbconnector-apitest.sup.hu/api címen. 
A használathoz, teszteléshez szűkséges azonosító kódok előzetes egyeztetés után lesznek létrehozva.

Hibakezelés

API elérhetőség hiba

Authentikációs hiba

Qsboxmegjegyz

A PDF számlakép lekérdezés csak az XML-ben levő AutoNyomtatas=True bekapcsolása esetén lehetséges. A számla késleltetett, kézi véglegesítése esetén, a REST API - iktatási tétel lekérdezés híváson keresztül lehet a számlaképet lekérni.

Rögzítés
statusKodok
statusKodok
Hibakezelés - hibakódok

Az XML result-ban visszaadott státuszkódok megegyeznek a HTTP hívás státuszkódjaival. A fejlesztés során inkább a HTTP státuszkódokkal érdemes dolgozni,, mert előfordulhat olyan eset (pl.: time out), hogy a HTTP kérés válaszban nem az elvárt XML üzenet jön, hanem csak egy hibakód.
A témában további információk a DbConnector REST API általános dokumentációban.