Törzsadat-API – végpontok, jogok és tárolás
A partner-, címtörzs-, bankszámlatörzs- és partner-bankszámla végpontok paraméterei, ellenőrzött jogkulcsai, tartalmi hatóköre és az írt táblák.
Áttekintés
A törzsadat-végpontok a catalog company/company és masterdata/bankaccount modelleken át dolgoznak; a bankszámlát mindig a központi normalizáló (dlbtvalidate) hozza kanonikus formára. A partner-végpontok tartalmi hatóköre a kulcs tulajdonosának csoport- és cég-szabályai (getApiScopeGroups(), getApiScopeCompanies()). Minden végpontnak van openapi önleíró darabja.
Végpontok
| Végpont | Működés | Ellenőrzött jog |
|---|---|---|
api/masterdata/company | POST keresés: company_id, tax_number, name, email (formátum), limit (alap 20, max. 100); legalább egy szűrő; találatonként címek és bankszámlák | company/company::list |
company.list | GET lapozott lista: page, limit 1–100, sort, order, tax_number (előtag), name, status | list |
company.get | egy partner: alapadatok, taxpayer_status, címek KSH-hivatkozással, bankszámlák, users (mindig üres); hatókörön kívül vagy nem létező → 403 | list |
company.add | PUT vagy POST: company_name (kötelező, max. 255), rövid név, adószám, cégcsoport, status, opcionális bankaccount; adószám első 8 jegyére duplikáció → 422 a meglévő azonosítóval; bankszámla saveBankaccountForCompany()-val, hibája csak bankaccount_warning; a cégcsoport a hatókörben legyen (422) | company/company::edit |
company.delete | hatókör, majd hivatkozás-számlálás; 0-nál deleteApiCompany() a cím- és bankszámla-kapcsolatokkal; fizikai törlés; hivatkozott cég → 422 darabszámmal | delete |
addressmaster.list / .get | search, status (alapból csak aktív), start, limit 1–200; nem létező → 404; cég-hatókör nincs (megosztott törzs) | masterdata/address::list |
addressmaster.add | irányítószám és település kötelező; azonos sornál a meglévő duplicate:true-val, különben addMaster() | edit |
addressmaster.delete | nem létező → 404; cégekhez kötött → 409 CONFLICT; különben fizikai törlés | delete |
bankaccountmaster.list / .get | search, currency, status (alap aktív), start, limit 1–200; nem létező → 404 | masterdata/bankaccount::list |
bankaccountmaster.add | bankaccount kötelező, currency (alap HUF), név, SWIFT, egyenleg, státusz; normalizálás 24 jegyű account_id-re (érvénytelen → 422); azonosnál a meglévő duplicate:true-val | edit |
bankaccountmaster.delete | nem létező → 404; cégekhez kötött → 422 (error_linked) | delete |
bankaccount.list / .get / .add / .delete | egy partner bankszámlái company_id vagy tax_number alapján; hozzáadás saveBankaccountForCompany()-val (bankaccount_id, linked, normalized); törlés csak a kapcsolatot szünteti meg | csak API-kulcs és cég-hatókör (isCompanyInApiScope), funkciójog nincs |
Adatmodell
A táblanevek a telepítés saját előtagjával állnak az adatbázisban.
company, company_address, address, address_ksh, company_bankaccount, bankaccount, permission_scope.
Ismert korlátok
- Az ellenőrzött jogkulcsok (
company/company::liststb.) nincsenek BASE, SUBSCRIPTION vagy SYSTEM besorolásban; azeditésdeletenincs besorolva a seedekben. - A partner törlése fizikai, nem kukába helyezés.