Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

API-Methoden und Tokens

Logging 

api_get_log

Erforderliche Parameter:  API-Administration-Token

Konkretes Beispiel: http://meinServer:8080/4DAction/api_getlog?token=5E05A427CD134432A28F2DAF11EC500E

Parameter sind 

logmode: API | OTA

logtoken: ein geloggtes Token - logmode muß dazu passend gesetzt werden

logmethod: Filterkürzel zu den Methoden: 

OTA

KürzelFunktion
APIFehler, im Log steht was los ist.
ARTÜbertragung der Artikel
AUFÜbertragung der Projekte (Aufträge)
DLTAktualisierung der Positionen
POSÜbertragung der Positionen
STKÜbertragung der Stückliste
TXTÜbertragung der Texturen
KLKÜbertragung der Kalkulation

API

KürzelFunktion
GETDaten abgefragen
PUTDaten ändern oder anlegen

startdate: inklusives Datum von dem an in den Logs gefiltert werden soll

starttime: Uhrzeit zum Startdatum, von wann an die Logs gefiltert werden sollen

enddate: inklusives Datum ab dem an in den Logs gefiltert werden soll

starttime = Uhrzeit zum Enddatum, bis wann an die Logs gefiltert werden sollen

transfer:

  • directtransfer  -  gibt sofern verfügbar das die passenden logfiles per zip-Datei zurück
  • emailtransfer - sendet eine email an den parameter

email: email-Adresse für den email-transfer 

api_view_log

Wir per SytemInfo direkt aufgerufen oder per obiger Methode

Die Parameter sind dieselben wir für api_get_log, ausgenommen logmethod, startdate, starttime, enddate, endtime.

Letztlich ruft api_view_log nur ein UI für api_get_log auf, kann aber passend vorbesetzt werden.

api_getapilist - Auflistung aller API's

Erforderliche Parameter: 

API-Pinger-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 das Token und das API bestimmten Nutzer

Übergeben wird ein gültiges Token aus dem Bereich Personal und eine Personalnummer. Außerdem optional ein API. Zurückgeliefert wird das Token für das übergebene API zu diesem Mitarbeiter oder alle Tokens zum übergebenen Mitarbeiter. Dies hat zur Konsequenz, dass ein Mitarbeiter mit Zugriff auf den API-Bereich Personal sich alle Tokens anderer Mitarbeiter ziehen kann.

Erforderliche Parameter:

Personal-Token, PersonalNr, API

Optionale Parameter:

response

Konkretes Beispiel:

http://meinserver:8080/4DAction/api_get_personaltokens?token=31FC6A14217241929BA959F92E2B66B7&response=JSON&API=Projekte

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 der im Token übergebenen Personalnr zuzuordnen sind

Erforderliche Parameter: 

API-Pinger-Token, PersonalNr

Konkretes Beispiel:

http://meinServer:8080/4DAction/api_getapilist?token=5E05A427CD134432A28F2DAF11EC500E&personalnr=10

In der JSON-Rückmeldung wird eine Liste aller verfügbaren Schnittstellen im Feld 'APIList' zurückgegeben:

{"error":"","success":true,"Tokens":[{"API": "Produktion", "Token":"66B4E4AE9AD14F62ABA8B17C44C2D712" },{"API": "Projekte", "Token":"F076373C3D85493980C3E9F1333228A5" }]}

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

Codeblock
languagejs
linenumberstrue
{
  "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

Codeblock
languagejs
linenumberstrue
{
	"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.


Codeblock
languagejs
linenumberstrue
{"
	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