Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 14 Nächste Version anzeigen »

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


AttributWert
Erforderliche Parameter--
Optionale ParameterresponseHTML | JSON
Beispielhttp://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 ParameterToken
Konkretes Beispielhttp://meinserver:8080/4DAction/api_ping?token=F9608E0E6CBD4177A02FB5934AAD2B4F

Response

JSON

{
	"httpcode":"200",
	"calledmethod":"api_ping",
	"restapi":"restintegration_active",
	"theapi":"Aktivitäten",
	"applicationType":"Einzelplatz",
	"pfVersion":"2021.2.0",
	"currentTime":"12:42:17",
	"currentDate":"11.06.21",
	"IPAddress":"192.168.0.171",
	"HostPort":"8080",
	"result":
	{
		"valid":true,
		"itemsync":true,
		"integration":true,
		"httpcode":"200",
		"api":"Aktivitäten",
		"personalnr":"1000",
		"calledapi":"APIPinger"
	},
	"secure":
	{
		"available":true,
		"domain":"profacto.dyndns.info",
		"route":"https://profacto.dyndns.info",
		"rewrite":"https://profacto.dyndns.info/4DAction/api_ping?token=1B8783AC4124429E9B62E63F1333FC14"
	}
}




Der Hauptrumpf der JSON-Response gibt allgemeine Informationen zur Anbindung und dahinter liegendem Webserver zurück.







Das Objekt hinter dem Schlüsselwort "result" beschreibt die mit dem übergebenen Token definierte API und der Konfiguration.





Das Objekt hinter dem Schlüsselwort "secure" enthält Informationen die aussagen der Webserver-Zugriff auch verschlüsselt (HTTPS) erfolgen kann mit der entsprechenden Domain, Route (einschließlich Protokoll), sowie einer alternative um den gegebenen api_ping-Aufruf verschlüsselt durchzuführen.

{"
	httpcode":"401",
	"api_reachable":true,
	"valid_token":false
}


Ein Beispiel-Aufruf von api_ping ohne gültigen Token

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


  • Keine Stichwörter