Áttekintés
Minden API-kérés HTTPS-en keresztül történik. A JSON kéréseknél használd a Content-Type: application/json fejlécet. A módosító műveletek szervezetszinten izoláltak.
Első kérés
curl -sS \
-H "X-API-KEY: $KEY" \
"https://api.erpflow.hu/v3/organization"
Az API-kulcsot kezeld titokként. Ne tedd böngészőoldali JavaScriptbe, publikus repositoryba vagy kliensalkalmazásba.
Hitelesítés
Az ERPFlow API az X-API-KEY HTTP fejlécet használja. A kulcs a hozzá tartozó szervezethez és jogosultságokhoz kötött.
X-API-KEY: erpf_...
Token jogosultságok
A hitelesített végpontok ténylegesen ellenőrzik a token scope-ját.
| Scope | Műveletek |
|---|
api:read | GET végpontok |
api:write | POST, PUT és DELETE végpontok |
api:read,api:write | Teljes hozzáférés |
A korábbi invoice:read / invoice:write tokenek visszafelé kompatibilisek; az új tokenek már api:* scope-ot kapnak.
HTTP státuszok és hibák
| Kód | Jelentés |
|---|
| 200 | Sikeres kérés |
| 201 | Erőforrás létrehozva |
| 204 | Sikeres művelet választest nélkül |
| 401 | Hiányzó vagy érvénytelen API-kulcs |
| 403 | Nincs megfelelő jogosultság |
| 404 | Az erőforrás nem található |
| 422 | Validációs hiba |
| 429 | Rate limit elérve |
| 500 | Belső szerverhiba |
A rate limit válaszfejlécei: X-RateLimit-Limit, X-RateLimit-Remaining és X-RateLimit-Reset.
Általános
GET/organization
Aktuális szervezet és API-előfizetés adatai.
Scope: api:read
GET/currencies
Devizaátváltási árfolyam lekérése.
Scope: api:read
GET/utils/check-tax-number/{tax_number}
Magyar adószám formátum- és NAV-ellenőrzése.
Scope: api:read
GET/utils/convert-legacy-id/{id}
Korábbi ERPFlow bizonylatazonosító feloldása API v3 azonosítóra.
Scope: api:read
GET/utils/time
ERPFlow API szerveridő lekérdezése.
Scope: api:read
Bizonylattömbök
GET/document-blocks
Bizonylattömbök listázása; type szűrő támogatott.
Scope: api:read
GET/document-blocks/{id}
Egy bizonylattömb lekérése.
Scope: api:read
Bankszámlák
GET/bank-accounts
Bankszámlák listázása.
Scope: api:read
POST/bank-accounts
Új bankszámla létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/bank-accounts/{id}
Bankszámla lekérése.
Scope: api:read
PUT/bank-accounts/{id}
Bankszámla módosítása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
DELETE/bank-accounts/{id}
Bankszámla törlése.
Scope: api:write
Partnerek
GET/partners
Partnerek listázása.
Scope: api:read
POST/partners
Partner létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/partners/{id}
Partner lekérése.
Scope: api:read
PUT/partners/{id}
Partner módosítása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
DELETE/partners/{id}
Partner törlése.
Scope: api:write
Termékek
GET/products
Termékek listázása.
Scope: api:read
POST/products
Termék létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/products/{id}
Termék lekérése.
Scope: api:read
PUT/products/{id}
Termék módosítása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
DELETE/products/{id}
Termék törlése.
Scope: api:write
Bizonylatok
GET/documents
Bizonylatok listázása és szűrése.
Scope: api:read
POST/documents
Bizonylat vagy piszkozat létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/documents/{id}
Bizonylat lekérése.
Scope: api:read
PUT/documents/{id}
Piszkozat véglegesítése.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
DELETE/documents/{id}
Piszkozat törlése.
Scope: api:write
GET/documents/vendor/{vendor_id}
Bizonylat keresése külső azonosító alapján.
Scope: api:read
GET/documents/{id}/download
PDF letöltése.
Scope: api:read
GET/documents/{id}/print/pos
POS nyomtatásra optimalizált PDF; kötelező size=58 vagy size=80.
Scope: api:read
GET/documents/{id}/public-url
Nyilvános dokumentum URL létrehozása/lekérése.
Scope: api:read
POST/documents/{id}/send
Bizonylat elküldése e-mailben.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/documents/{id}/online-szamla
NAV Online Számla állapot.
Scope: api:read
PUT/documents/{id}/archive
Bizonylat archiválása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
POST/documents/{id}/copy
Bizonylat másolása piszkozatként.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
POST/documents/{id}/create-from-proforma
Díjbekérőből számla létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
POST/documents/{id}/create-modification-document
Módosító bizonylat létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
POST/documents/{id}/cancel
Sztornó bizonylat létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/documents/{id}/payments
Fizetési előzmények.
Scope: api:read
PUT/documents/{id}/payments
Fizetési előzmények cseréje.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
DELETE/documents/{id}/payments
Fizetési előzmények törlése.
Scope: api:write
Nyugták
POST/documents/receipt
Nyugta vagy nyugtapiszkozat létrehozása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
PUT/documents/receipt/{id}
Nyugtapiszkozat véglegesítése és kiállítása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
Export
POST/document-export
Dokumentumexport indítása.
Scope: api:write
Kérés: JSON request body az adott erőforrás mezőivel.
GET/document-export/{id}/poll
Export állapotának lekérése.
Scope: api:read
GET/document-export/{id}/download
Elkészült export letöltése.
Scope: api:read
Nyugta példa
Piszkozat létrehozása nyugtatömbbel:
curl -X POST \
-H "X-API-KEY: $KEY" \
-H "Content-Type: application/json" \
"https://api.erpflow.hu/v3/documents/receipt" \
--data '{
"vendor_id": "my-receipt-001",
"block_id": 1000000002,
"type": "draft",
"payment_method": "cash",
"currency": "HUF",
"conversion_rate": 1,
"electronic": false,
"items": [
{"name": "Tétel", "unit_price": 1000, "vat": "27%"}
]
}'