API-Logging
Das Logging der API-Methoden erfolgt in getrennten Ordnern je nach API allgemein oder OTA für die CAD-ERP-Integration im Speziellen im Logs-Verzeichnis neben der Datenbank jeweils in die Ordner API und OTA.
Jeder Aufruf erzeugt eine JSON-Datei (idealerweise per Firefox aufrufbar, sofern kein anderer Viewer vorhanden ist): dabei ist das Schema folgendermaßen
Je aufrufendem Token wird ein eigener Ordner angelegt, die Dateien sind dann mit dem Datum, Uhrzeit, Token und einem Methoden-Kürzel (zB GET für api_get oder andere 'get'-Aufrufe oder PUT für alle api_put_*-Aufrufe versehen, zB so:
Logs/API/31FC6A14217241929BA959F92E2B66B7/2021_05_24_11:30_31FC6A14217241929BA959F92E2B66B7_PUT.json
Mittels der Systeminfo und dem Button Logs... oder dem Aufruf api_view_log?token=<APIPinger-Token> wird ein Webfilter für die diversen Logs aufgerufen.
Von wo aus man sich das ganze koprimiert als zip per email zusenden oder direkt laden kann.
Der Aufruf kann aber auch programmatisch erfolgen per api_get_log?token=<APIPinger-Token>&logmode=<OTA|API>&transfer=<direct|email>
API-Methoden und Tokens
api_getapilist - Auflistung aller API's
Erforderliche Parameter:
Token
Konkretes Beispiel:
http://meinServer:8080/4DAction/api_getapilist?token=5E05A427CD134432A28F2DAF11EC500E
In der JSON-Rückmeldung wird eine Liste aller verfügbaren Schnittstellen im Feld 'APIList' zurückgegeben:
{"error":"","success":true,"APIList":["Integration","Zeiterfassung","APIPinger","Produktion","Kunden","Kontakte","Lieferanten","Artikel","Lager","Bestellung","Personal","Aktivitäten","Projekte","Dateien","extragroup"]}
api_get_personaltokens - Auflistung aller verfügbaren Tokens für den durch die PersonalNr bestimmten Nutzer
Erforderliche Parameter:
Token, personalnr
Optionale Parameter:
response
Konkretes Beispiel:
http://meinserver:8080/4DAction/api_get_personaltokens?token=31FC6A14217241929BA959F92E2B66B7&response=JSON&personalnr=10
Die Response enthält in dem Feld mit dem Schlüssel 'tokens' einen Array mit Key-Value-Paaren in denen die zur Personalnummer zugehörigen Tokens aufgeführt werden:
{"error":"","success":true,"startProcess":49010633,"responseMode":"JSON","personalnr":"10","tokens":[{"API":"Produktion","Token":"66B4E4AE9AD14F62ABA8B17C44C2D712"},{"API":"Zeiterfassung","Token":"F076373C3D85493980C3E9F1333228A5"},{"API":"Kunden","Token":"A87467689F3D462B96A9B9D97565BA53"},{"API":"Zeiterfassung","Token":"41356A67726F4D219330ED924AE68E63"},{"API":"Projekte","Token":"6BB20FDAAA5F45DD9B7197876B398398"},{"API":"Artikel","Token":"C07F35B9EC4248BCAC23CBE1AF896C7E"},{"API":"Kontakte","Token":"5223EE4D186449B0BDBE9ED7EC53F747"},{"API":"Integration","Token":"F9608E0E6CBD4177A02FB5934AAD2B4F"},{"API":"Lager","Token":"286787D9329D4F0E9410E58DB57B7FCC"},{"API":"APIPinger","Token":"65EAC9645D7F4DA3AD1FCE69D2172ADF"},{"API":"Lieferanten","Token":"EDCD868258EA463D8608F0C06D52D391"},{"API":"Personal","Token":"31FC6A14217241929BA959F92E2B66B7"},{"API":"Lager","Token":"FC2C1BA325E44B8F9386141E70C69984"},{"API":"APIPinger","Token":"9BA269DCBBE8431AA4CDEB9567CFBB06"},{"API":"Lager","Token":"295C5618AEBB4BB58C8F6B2D80C27FA2"},{"API":"Bestellung","Token":"C900BFE22DFF4B75917837006E247932"}],"endProcess":49010636,"processingTime":3,"errorMsg":""}
api_getmytokens - Auflistung aller verfügbaren Tokens die zu dem übergebenen Token zuzuordnen sind
Erforderliche Parameter:
Token
Konkretes Beispiel:
http://meinServer:8080/4DAction/api_getapilist?token=5E05A427CD134432A28F2DAF11EC500E
In der JSON-Rückmeldung wird eine Liste aller verfügbaren Schnittstellen im Feld 'APIList' zurückgegeben:
{"error":"","success":true,"APIList":["Integration","Zeiterfassung","APIPinger","Produktion","Kunden","Kontakte","Lieferanten","Artikel","Lager","Bestellung","Personal","Aktivitäten","Projekte","Dateien","extragroup"]}
Gesonderte API-Methode
api_license_redirect
Zeigt den Status der verfügbaren API & OTA Lizenzen an
Aufruf
Attribut | Wert | |
---|---|---|
Erforderliche Parameter | - | - |
Optionale Parameter | response | HTML | JSON |
Beispiel | http://meinserver:8080/4DAction/api_license_redirect |
Response
HTML
JSON
{ "error": "licenses_exceeded", "url": "http://meinserver:8080/4DAction/api_license_redirect?response=HTML", "errorMsg": "Lizenzen für API oder OTA erschöpft, weitere Infos unter http://meinserver:8080/4DAction/api_license_redirect?response=HTML", "clients": 3, "otaAvailable": 3, "apiAvailable": 5, "AddOnAPICalls": 2, "otainUse": 0, "apiInUse": 1, "otatokenslots": [], "apitokenslots": [{ "timestamp": 7623977, "iptoken": "192.168.0.171" }] }
api_ping - Gibt eine Response zurück, ob eine API verfügbar ist
Aufruf
Attribut | |
---|---|
Erforderliche Parameter | - |
Optionale Parameter | Token |
Konkretes Beispiel | http://meinserver:8080/4DAction/api_ping?token=F9608E0E6CBD4177A02FB5934AAD2B4F |
Response
api_sandbox - Gibt eine HTML-Seite wieder zur Verwendung des Proglove Handschuhs
Aufruf
Es sind keine Parameter erforderlich und auch keine optionalen Parameter verfügbar
Konkretes Beispiel:
http://meinserver:8080/4DAction/api_sandbox
Gibt eine HTML-Seite zurück mit der man über den Proglove Handschuh erfasste URL's aufrufen kann
Response
HTML