Rendszer célja
Az összetett rendszer végső feladata, hogy az állásközvetítő cégektől érkező MER számára releváns adatokat elemezhetővé tegye.
A működés rövid összefoglalása
A MER által az állásközvetítőkről és az álláskölcsönzőkről egy központi törzsadat karbantartó és forgalom riportoló rendszerben kell a MER számára kezelhetővé tenni. Ezen törzsadatokból azokat az elemeket, amelyek az Állásközvetítők működésében vagy az adatszolgáltatásban szerepet játszanak egy API technologián alapuló interfészen szükséges publikálni az Állásközvetítők rendszerei számára. Az állásközvetítők ugyanezen az API-n keresztül az állásajánlók tételes adatait szükséges fogadni és negyedéves szintű összegzést adni a MER központi rendszer számára.
A rendszer elemei
- A rendszer külső elemei és az elemek funkciói:
a. MER felhasználó: A MER megbízott felhasználója, aki a MER rendszeréből riportokat kér le és az esetleges központi törzsadatok változásait elvégzi - A rendszer belső elemei és az elemek funkciói:
MER központi törzsadat karbantartó és riportoló rendszer: A MER az állásközvetítőkkel kapcsolatos bizonyos, a kommunikációban és a riportolásban szerepet játszó törzsadatait és a riportok futtatására alkalmas rendszer.
A kezelt statikus törzsadatok és bejövő adatok a következőek:
MER központi törzsadat karbantartó rendszerben tárolt, illetve onnan származó adatok:
• FEOR számok
• Megyék
• Vállalkozás típusai
MER kommunikációs interface-en keresztül az állásközvetítő szoftveréből származó adatok:
• Nyitott állás pozíciók
b. Webszerver: Webszerver, amely az állásközvetítő egységek szoftvere és a MER központi törzsadat karbantartó és riportoló rendszer közötti kommunikáció külső rétegét biztosítja. A kommunikációnak API Kulcs - Token alapú azonosítással és https protokollon keresztül kell megvalósulnia.
c. Kommunikációs szolgáltatás: Az állásközvetítő egységek állásközvetítő szoftvere és a MER központi törzsadat karbantartó és riportoló rendszer közötti kommunikációt biztosító szolgáltatás. A szolgáltatás egyrészt lekérdezéseket végez a MER által karbantartott törzsadatokból. Másrészt a kommunikációs szolgáltatás az egyes kiskereskedelmi szoftverektől kapott forgalmi adatokat rögzíti a MER riportoló rendszerbe.
Az adatcsere részletei és a kommunikációs szolgáltatás specifikációja
Alapvető integrációs sajátosságok és elvárások:
Az állásközvetítőknél működő kereskedelmi szoftverek az aktuális és lejárt státuszú állásokat tartja nyilván. A MER központi törzsadat és karbantartó rendszer ezeket az adatokat negyedéves időszakban fogadja.
API Specifikáció:
A kommunikációs szolgáltatást egy API technológián alapuló szerviz valósítja meg. Az API-n keresztüli kommunikációt a MER állásközvetítők profilkezelésében található API kulccsal valósítható meg.
Az API kommunikációs interface-eket a következő szervízek implementálják. Minden szervíznek kötelező paramétere az API kulcs (token), amely az állásközvetítő cég egyedi azonosítója. Minden kérés header-jében szerepelnie kell az API kulcsnak.
Interfész leírás
Interfész neve: MER állásközvetítő és álláskölcsönző interfész
Interfész célja: Szabványos webes API biztosítása az állásközvetítő és álláskölcsönző cégektől érkező adatok fogadására.
Interfészek (WEB API Endpoints
• MEGYEK: Megyék lekérdezését biztosító interfész
• FEOROK: A MER rendszerében nyilvántartott FEOR számok listája
• VALLALKOZAS_TIPUSOK: A MER rendszerében nyilvántartott Vállalkozás típusok listája
• ALLAS (GET): Az adott időszakban felküldött adatok listája
• ALLAS (POST): Létrehozza a paraméterben kapott állás adatokat
Megyék
Megyék lekérdezését biztosító interfész
API ENDPOINT
URL | [BASE URL]/adatszolgaltatas/adatszotar/megyek |
HTTP method | GET |
Protocol | HTTPS |
Port | 443 |
AUTHORIZATION
No auth
HEADER
Key | Value |
X-API-Key | [API Key] |
Accept-Language | hu-HU (Default) |
Content-Type | application/json |
Cache-Control | no-cache |
REQUEST BODY
{}
EXAMPLES
POSTMAN CLIENT
Request:
{
"info": {
"_postman_id": "bb1004f9-0b51-4961-b598-72a4cb544ae2",
"name": "AdatSzotar",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Megyek",
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"user-agent": true,
"accept": true,
"accept-encoding": true,
"connection": true
}
},
"request": {
"auth": {
"type": "apikey",
"apikey": [
{
"key": "value",
"value": "{{ApiKeyValue}}",
"type": "string"
},
{
"key": "key",
"value": "{{ApiKeyName}}",
"type": "string"
},
{
"key": "in",
"value": "header",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{BaseUrl}}/adatszolgaltatas/adatszotar/megyek",
"host": [
"{{BaseUrl}}"
],
"path": [
"adatszolgaltatas",
"adatszotar",
"megyek"
]
}
},
"response": []
}
],
"auth": {
"type": "apikey",
"apikey": [
{
"key": "key",
"value": "4A17D7EC-896F-4685-BA26-DBEC10AB3DFF",
"type": "string"
},
{
"key": "value",
"value": "teszt.newid",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
}
RESULTS
[MegyeListDto {
id integer($int32)
nev string nullable: true
}]
[
{
"id": 1,
"nev": "Bács-Kiskun"
},
{
"id": 2,
"nev": "Baranya"
},
{
"id": 3,
"nev": "Békés"
},
{
"id": 4,
"nev": "Borsod-Abaúj-Zemplén"
},
{
"id": 5,
"nev": "Budapest"
},
{
"id": 6,
"nev": "Csongrád"
},
{
"id": 7,
"nev": "Fejér"
},
{
"id": 8,
"nev": "Győr-Moson-Sopron"
},
{
"id": 9,
"nev": "Hajdú-Bihar"
},
{
"id": 10,
"nev": "Heves"
},
{
"id": 11,
"nev": "Jász-Nagykun-Szolnok"
},
{
"id": 12,
"nev": "Komárom-Esztergom"
},
{
"id": 13,
"nev": "Nógrád"
},
{
"id": 14,
"nev": "Pest"
},
{
"id": 15,
"nev": "Somogy"
},
{
"id": 16,
"nev": "Szabolcs-Szatmár-Bereg"
},
{
"id": 17,
"nev": "Tolna"
},
{
"id": 18,
"nev": "Vas"
},
{
"id": 19,
"nev": "Veszprém"
},
{
"id": 20,
"nev": "Zala"
}
]
FEOROK
Feorok lekérdezését biztosító interfész
API endpoint
URL | [BASE URL]/adatszolgaltatas/adatszotar/feorok |
HTTP method | GET |
Protocol | HTTPS |
Port | 443 |
Authorization
No auth
Header
Key | Value |
X-API-Key | [API Key] |
Accept-Language | hu-HU (Default) |
Content-Type | application/json |
Cache-Control | no-cache |
REQUEST Body
{}
Examples
Postman clientRequest:
{
"info": {
"_postman_id": "bb1004f9-0b51-4961-b598-72a4cb544ae2",
"name": "AdatSzotar",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Feorok",
"request": {
"auth": {
"type": "apikey",
"apikey": [
{
"key": "value",
"value": "{{ApiKeyValue}}",
"type": "string"
},
{
"key": "key",
"value": "{{ApiKeyName}}",
"type": "string"
},
{
"key": "in",
"value": "header",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{BaseUrl}}/adatszolgaltatas/adatszotar/feorok",
"host": [
"{{BaseUrl}}"
],
"path": [
"adatszolgaltatas",
"adatszotar",
"feorok"
]
}
},
"response": []
}
],
"auth": {
"type": "apikey",
"apikey": [
{
"key": "key",
"value": "4A17D7EC-896F-4685-BA26-DBEC10AB3DFF",
"type": "string"
},
{
"key": "value",
"value": "teszt.newid",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
}
Results
[
{
"id": 0,
"nev": "string",
"szam": "string"
}
]
[
{
"szam": "0110",
"id": 153,
"nev": "Fegyveres szervek felsőfokú képesítést igénylő foglalkozásai"
},
{
"szam": "0210",
"id": 242,
"nev": "Fegyveres szervek középfokú képesítést igénylő foglalkozásai"
},
{
"szam": "0310",
"id": 485,
"nev": "Fegyveres szervek középfokú képesítést nem igénylő foglalkozásai"
},
{
"szam": "1110",
"id": 1,
"nev": "Törvényhozó, miniszter, államtitkár"
},
…
]
Vállalkozástípusok
A Vállalkozás típusainak lekérdezését biztosító interfész
API endpoint
URL | [BASE URL]/adatszolgaltatas/adatszotar/VallalkozasTipusok |
HTTP method | GET |
Protocol | HTTPS |
Port | 443 |
Authorization
No auth
Header
Key | Value |
X-API-Key | [API Key] |
Accept-Language | hu-HU (Default) |
Content-Type | application/json |
Cache-Control | no-cache |
REQUEST BODY
{}
Examples
Postman client
Request:
{
"info": {
"_postman_id": "bb1004f9-0b51-4961-b598-72a4cb544ae2",
"name": "AdatSzotar",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "VallalkozasTipusok",
"request": {
"auth": {
"type": "apikey",
"apikey": [
{
"key": "value",
"value": "{{ApiKeyValue}}",
"type": "string"
},
{
"key": "key",
"value": "{{ApiKeyName}}",
"type": "string"
},
{
"key": "in",
"value": "header",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{BaseUrl}}/adatszolgaltatas/adatszotar/VallalkozasTipusok",
"host": [
"{{BaseUrl}}"
],
"path": [
"adatszolgaltatas",
"adatszotar",
"VallalkozasTipusok"
]
}
},
"response": []
}
],
"auth": {
"type": "apikey",
"apikey": [
{
"key": "key",
"value": "4A17D7EC-896F-4685-BA26-DBEC10AB3DFF",
"type": "string"
},
{
"key": "value",
"value": "teszt.newid",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
}
Results
[
{
"id": 0,
"nev": "string"
}
]
[
{
"id": 0,
"nev": "Mikro"
},
{
"id": 1,
"nev": "KKV"
},
{
"id": 2,
"nev": "multi-nacionális"
}
]
ÁLLÁS (GET)
Adott időszakra sikeresen felküldött állás adatok lekérdezését biztosító interfész
API endpoint
URL | [BASE URL]/adatszolgaltatas/Allas |
HTTP method | GET |
Protocol | HTTPS |
Port | 443 |
Authorization
No auth
Header
Key | Value |
X-API-Key | [API Key] |
Content-Type | application/json |
Cache-Control | no-cache |
REQUEST Body
{}
Examples
Postman client
Request:
{
"info": {
"_postman_id": "289edae9-e9f7-4817-85da-2f9772fc5e92",
"name": "Allas",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Allas",
"request": {
"auth": {
"type": "apikey",
"apikey": [
{
"key": "value",
"value": "{{ApiKeyValue}}",
"type": "string"
},
{
"key": "key",
"value": "{{ApiKeyName}}",
"type": "string"
},
{
"key": "in",
"value": "header",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{BaseUrl}}/adatszolgaltatas/allas",
"host": [
"{{BaseUrl}}"
],
"path": [
"adatszolgaltatas",
"allas"
]
}
},
"response": []
}
],
"auth": {
"type": "basic",
"basic": [
{
"key": "username",
"value": "<Basic Auth Username>",
"type": "string"
},
{
"key": "password",
"value": "<Basic Auth Password>",
"type": "string"
}
]
},
"variable": [
{
"key": "baseUrl",
"value": "localhost:3000",
"type": "string"
}
]
}
Results
[AllasListDto{
feorId | integer($int32) |
megyeId | integer($int32) |
allasMegnevezese | string |
hirdetesSzovege | string |
vallalkozasTipusId | integer($int32) |
}]
[
{
"feorId": 333,
"megyeId": 4,
"allasMegnevezese": "Üzletember",
"hirdetesSzovege": "Üzleti szolgáltatási tevékenységet folytató egység vezetője",
"vallalkozasTipusId": 1
},
{
"feorId": 333,
"megyeId": 4,
"allasMegnevezese": "Üzletember",
"hirdetesSzovege": "Üzleti szolgáltatási tevékenységet folytató egység vezetője",
"vallalkozasTipusId": 1
},
{
"feorId": 378,
"megyeId": 2,
"allasMegnevezese": "Gyógyszerész",
"hirdetesSzovege": "Gyógyszerészt keresnek ",
"vallalkozasTipusId": 0
},
{
"feorId": 378,
"megyeId": 2,
"allasMegnevezese": "Gyógyszerész",
"hirdetesSzovege": "Gyógyszerészt keresnek ",
"vallalkozasTipusId": 0
}
]
ÁLLÁS (POST)
Állás adatok felküldése
API endpoint
URL | [BASE URL]/adatszolgaltatas/Allas |
HTTP method | POST |
Protocol | HTTPS |
Port | 443 |
Authorization
No auth
Header
Key | Value |
X-API-Key | [API Key] |
Accept-Language | hu-HU (Default) |
Content-Type | application/json |
Cache-Control | no-cache |
REQUEST Body
{
"allasok": [
{
"feorSzam": "string",
"megyeId": 0,
"vallalkozasTipusId": 0,
"allasMegnevezese": "string",
"hirdetesSzovege": "string"
}
]
}
Examples
Postman client
Request:
{
"info": {
"_postman_id": "289edae9-e9f7-4817-85da-2f9772fc5e92",
"name": "Allas",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Allas",
"request": {
"auth": {
"type": "apikey",
"apikey": [
{
"key": "value",
"value": "{{ApiKeyValue}}",
"type": "string"
},
{
"key": "key",
"value": "{{ApiKeyName}}",
"type": "string"
},
{
"key": "in",
"value": "header",
"type": "string"
}
]
},
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"allasok\": [\r\n {\r\n \"feorSzam\": \"2214\",\r\n \"megyeId\": 2,\r\n \"vallalkozasTipusId\": 0,\r\n \"allasMegnevezese\": \"Gyógyszerész\",\r\n \"hirdetesSzovege\": \"Gyógyszerészt keresnek \"\r\n },\r\n {\r\n \"feorSzam\": \"1334\",\r\n \"megyeId\": 4,\r\n \"vallalkozasTipusId\": 1,\r\n \"allasMegnevezese\": \"Üzletember\",\r\n \"hirdetesSzovege\": \"Üzleti szolgáltatási tevékenységet folytató egység vezetője\"\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{BaseUrl}}/adatszolgaltatas/allas",
"host": [
"{{BaseUrl}}"
],
"path": [
"adatszolgaltatas",
"allas"
]
}
},
"response": []
}
],
"auth": {
"type": "basic",
"basic": [
{
"key": "username",
"value": "<Basic Auth Username>",
"type": "string"
},
{
"key": "password",
"value": "<Basic Auth Password>",
"type": "string"
}
]
},
"variable": [
{
"key": "baseUrl",
"value": "localhost:3000",
"type": "string"
}
]
}
Results
Kód | Hibajelenség | Megoldás |
200 | Success | Minden rendben lezajlott |
400 | Bad Request | Hibás kérés A hiba oka a Body-ban található |
401 | Jogosultságkezelés probléma hiányzik vagy hibás az API-key a headerben. |
Elérhetőségek
Éles rendszer:
[BASE URL]:
ADATSZÓTÁRAK:
https://api.mer.ekreta.hu//adatszolgaltatas/adatszotar/
ÁLLÁS ADATOK KEZELÉSE
https://api.mer.ekreta.hu//adatszolgaltatas/allas/
TESZT rendszer:
[BASE URL]:
ADATSZÓTÁRAK:
https://mer.ekreta-uat.hu//adatszolgaltatas/adatszotar/
ÁLLÁS ADATOK KEZELÉSE
https://mer.ekreta-uat.hu//adatszolgaltatas/allas/
Adatminőség ellenőrzése
A MER fenntartja a jogot, hogy a beküldött adatok minőségét ellenőrizze. Ennek érdekében az állásközvetítő szoftverekkel kapcsolatos elvárások az adatok beküldése során a következőek:
- FEOR:
- Csak 4 karakter lehet. Tehát ha 0-val kezdődik egy FEOR szám akkor azt ki kell írni pl.: „0110”.
- Csak olyan FEOR szám adható meg, ami szerepel a rendszerben.
- MEGYE:
- Minden esetben megyeId-t kell beírni, amit a megyék lekérdezés ID mezője.
- VallalkozasTipusId:
- vallalkozasTipusId-t kell beírni, amit az adatszótár Vállalkozás típusa lekérdezés ID mezőjének felel meg.
- AllasMegnevezese:
- Nem lehet üres
- Maximum 255 karakter engedélyezett
- HirdetesSzoveg:
- Nem lehet üres
- Maximum 65536 karakter engedélyezett
Adatbeküldési linitek
- Egy feltöltési csomagban maximum 5000 sort lehet felküldeni.
- 1 percen belül maximum 300 kérés lehet.
- 1 órán belül maximum 3600 kérés lehet.