Document toolboxDocument toolbox

API - Projekte

api_get

Diese generische Methode ist hier dokumentiert: API & OTA-Integration#Datenlesenmitapi_get

Die Optionen innerhalb der Projekte API sind hier gelistet

Verfügbare Tabellengesperrte Felder
Auftrag 

PKUUID_20

Auftragspositio

PKUUID_16

AuftragsKosten

PKUUID_63

PosKonstantenPKUUID_55
PosKalkulationszeitenPKUUID_148
PosKalkulationsMaterialPKUUID_149
KalkBereichePKUUID_44
KalkGruppen

PKUUID_45

DokumentMengenPKUUID_145
BetriebsauftragPKUUID_100
BetriebsPosPKUUID_101

Hilfreiche api_get-Aufrufe für Projekte

Projekte abrufen

mit AuftragsNr, Bauvorhaben, Bezeichnung, Erfassungsdatum, Lieferwoche, Status und KundenNr

http://meinserver:8080/4DAction/api_get?token=F9608E0E6CBD4177A02FB5934AAD2B4F&table=Auftrag&fields=AuftragsNr,Bauvorhaben,Bezeichnung,Erfassungsdatum,Lieferwoche,Status,KundenNr

Projektpositionen abrufen

Für gegebenes Projekt mit der Nummer S004 mit AuftragsNr, PositionsNr, ArtikelTypNr, Menge, Status und Verkaufspreis

http://meinserver:8080/4DAction/api_get?token=F9608E0E6CBD4177A02FB5934AAD2B4F&query=AuftragsNr%20=%20S004&table=Auftragspositio&fields=AuftragsNr,PositionsNr,Status,ArtikelTypenNr,Anzahl,VKPreis

Projekte API testen

Wir haben auf GitHub und unseren FTP-Servern Templates bereitgestellt mit denen Sie die API's von profacto ausprobieren können. Mit dem Projekte API Template können Sie schnell und unkompliziert Aufrufe der API durchführen und das Ergebnis begutachten.

Projekte - API-Methoden

api_get_qr - Gibt eine Liste aller Projekte

Erforderliche Parameter: 

Token

Konkretes Beispiel:

http://meinServer:8080/4DAction/api_get_qr?token=5E05A427CD134432A28F2DAF11EC500E

Es wird eine Übersicht von allen Projekten, einschließlich Bauvorhaben, Kommission und Status zurück gegeben.

api_put_project (Alle API) - Projekt anlegen

Erforderliche Parameter: 

Bauvorhaben

Ausgeschlossene Parameter:

PKUUID_20

Optionale Parameter:

SchlüsselWerteDefinition
responseJSON, HTMLbestimmt die Art der API-Response
textupdatemode

default: Standardtexte aus Voreinstellungen

customer: Texte wie im Kunden hinterlegt

none: Texte lassen

bestimmt wie Textbausteine für den gegebenen Kunden aktualisiert werden können
paymentupdatemode

default: Zahlungsbedingungen mit den aus dem Kunden hinterlegten Werten überschreiben

none: Werte aus dem Projekt stehen lassen

bestimmt ob die Zahlungskonditionen des Projekts oder des Kunden maßgeblich sind
updatetrue, falsebestimmt ob ein bestehender Datensatz aktualisiert wird, hierbei ist der zusätzliche Parameter AuftragsNr (ProjektNr e.g. PK-0003) zwingend erforderlich
Bezeichnungbeliebige Zeichenkette (e.g. Holz-Elemente)definiert die Bezeichnung des Projekts

Konkretes Beispiel:

http://meinServer:8080/4DAction/api_put_project?token=41356A67726F4D219330ED924AE68E63&AuftragsNr=S019&update=true&Bauvorhaben=Altbau&Bezeichnung=kleines%20Nebenprojekt&textupdatemode=0&paymentupdatemode=1&response=JSON

In der JSON-Rückmeldung wird auch die neue vergebene AuftragsNr zurückgeliefert:

{"success":true,"error":"","wasUpdate":false,"AuftragsNr":"S014","processingTime":7819,"errorMsg":""}

Die AuftragsNr wird automatisch hochgezählt und ist nicht erforderlich bei Neuanlage. Bei Aktualisierungen von bestehenden Projekten ist der Parameter allerdings zwingend erforderlich.

Wird ein neues Projekt erzeugt, so wird automatisch auch ein Projektordner nach dem in den Voreinstellungen definierten Regelwerk für Projektordner erzeugt.

api_put_projectpos - Projektposition anlegen

Erforderliche Parameter: 

AuftragsNr, PositionsNr, Anzahl

Optionale Parameter:

response, update, append

PositionsNr automatisch bestimmen lassen:

Mit dem optionalen Parameter append=True können Sie die PositionsNr auf 0 setzen. In diesem Fall wird die höchste PositionsNr ermittelt und um 1 hochgezählt

Konkretes Beispiel:

http://meinserver:8080/4DAction/api_put_projectpos?token=41356A67726F4D219330ED924AE68E63&response=JSON&AuftragsNr=08/15&PositionsNr=5&Anzahl=5

In der Response steht dann im Erfolgsfall die AuftragsNr und die PositionsNr wie übergeben:

{"success":true,"error":"","wasUpdate":false,"AuftragsNr":"08/15","PositionsNr":5,"processingTime":28575,"errorMsg":""}

api_getposdelta - Ermittelt die für das übergebene Projekt seit dem als zweiten Parameter gegebenen Zeitstempel erfolgten Änderungen an Projektpositionen

Erforderliche Parameter: 

projectnr, sinceutc

Optionale Parameter:

responseikelNr, Bezeichnung, Breite, Höhe, Tiefe, Einzelpreis, Rabatt, Gesamtpreis, Alt, DokumentNr, Status, Hopsasa, Suchfeld2, Suchfeld3, Suchfeld4

Konkretes Beispiel:

http://meinserver:8080/4DAction/api_getposdelta?token=41356A67726F4D219330ED924AE68E63&response=JSON&projectnr=08/15&sinceutc=0

In der Response steht dann ob das Projekt gefunden wurde und die Positionen ab dem gegebenen Zeitpunkt:

{"project": true,"givenprojectnr": "M003","error": "no_posdeltas_found"}

api_get_project_doccopylist (API Projekte) - Liste aller Belege zu einem gegebenen Projekt

Erforderliche Parameter: 

Token, key

Konkretes Beispiel:

http://meinServer:8080/4DAction/api_get_project_doccopylist?token=5E05A427CD134432A28F2DAF11EC500E&key=10023

Der Parameter key entspricht der Projektnummer des Projekts, kann alternative auch eine fortlaufende Nummer sein was aber nicht zu empfehlen ist da es schnell passieren kann daß man den falschen Datensatz erwischt. In dem zurückgegebene JSON Objekt wird in dem Feld items ein Array mit allen zugehörigen Belegen wiedergegeben.

{"items":[{"name":" Bestellung ZEG Bautzen","status":800,"date":"16.02.17","docNr":130045,"comment":"Bestellung ZEG Bautzen","user":"Krtek Maulwurf","id":1274},{"name":" Bestellung Becher - Köln","status":800,"date":"24.05.17","docNr":130051,"comment":"Bestellung Becher - Köln","user":"Krtek Maulwurf","id":1285}],"status":"ok","resultStatus":{"success":true,"wasUpdate":false,"key":"10023","processingTime":31806,"errorMsg":""}}

api_get_project_filelist - Liefert eine Liste aller Dateien, die einem Projekt zugeordnet sind

Erforderliche Parameter: 

Token, key

Konkretes Beispiel:

http://meinServer:8080/4DAction/api_get_project_doccopylist?token=5E05A427CD134432A28F2DAF11EC500E&key=S004

Der Parameter 'key' entspricht der Projektnummer des Projekts, kann alternative auch eine fortlaufende Nummer sein was aber nicht zu empfehlen ist da es schnell passieren kann daß man den falschen Datensatz erwischt. In dem zurückgegebene JSON Objekt wird in dem Feld 'items' ein Array mit allen zugehörigen Dateien wiedergegeben.

{"items":[{"name":"Rechnung Nur als Beleg erzeugt","status":5,"date":"20.09.16","docNr":1010030,"comment":"Nur als Beleg erzeugt","user":"Krtek Maulwurf","id":1206},{"name":" Mahnstufe: 1","status":999,"date":"28.11.16","docNr":1242,"comment":"Mahnstufe: 1","user":"Krtek Maulwurf","id":1242}],"status":"ok","resultStatus":{"success":true,"wasUpdate":false,"key":"S004","processingTime":51198,"errorMsg":""}}