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 Tabellen | gesperrte Felder |
---|---|
Auftrag | PKUUID_20 |
Auftragspositio | PKUUID_16 |
AuftragsKosten | PKUUID_63 |
PosKonstanten | PKUUID_55 |
PosKalkulationszeiten | PKUUID_148 |
PosKalkulationsMaterial | PKUUID_149 |
KalkBereiche | PKUUID_44 |
KalkGruppen | PKUUID_45 |
DokumentMengen | PKUUID_145 |
Betriebsauftrag | PKUUID_100 |
BetriebsPos | PKUUID_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üssel | Werte | Definition |
---|---|---|
response | JSON, HTML | bestimmt 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 |
update | true, false | bestimmt ob ein bestehender Datensatz aktualisiert wird, hierbei ist der zusätzliche Parameter AuftragsNr (ProjektNr e.g. PK-0003) zwingend erforderlich |
Bezeichnung | beliebige 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":""}}