Upload von opentrans Dateien per http

Hier wird beschrieben, wie mittels des Data Exchange Endpoints opentrans Dateien per http an den ordermanager zur Verarbeitung übermittelt werden können.

Data Exchange Endpoint

HTTP POST Endpoint ist verfügbar unter Adresse

https://[om_Zielsystem]/modules/opentrans/api/v1/dataexchange?projectName=[projectName]&senderId=[senderId]&receiverId=[receiverId]&messageId=[messageId]

Query Parameter:

ParameterDatentypMuss/KannBeschreibung
projectNamestringmusswird durch Administrator konfiguriert und geliefert.
senderIdstringmusswird durch Administrator konfiguriert und geliefert.
receiverIdstringmusswird durch Administrator konfiguriert und geliefert.
messageIdstringmussDateiname oder ID der Nachricht zur Identifikation.
Wird vom aufrufenden System festgelegt. 
Eindeutigkeit erwünscht, aber keine Pflicht.

Mit dem Request muss eine XML-Datei in OpenTrans Format mitgeschickt werden. Endpoint führt keine Validierung durch. Alle Dateien sind akzeptiert und erst später bei der Bearbeitung validiert.

Request muss als multipart/form-data geschickt werden.

Der Endpoint setzt die Übergabe eines API-Key (X-Authorization) im Header voraus. Dies muss zuvor per API angefordert werden, siehe unten.

Authorization

Jeder Request muss Header X-Authorization mit dem API-Key enthalten.

Authentication

HTTP POST Endpoint ist verfügbar unter Adresse

https://[om_Zielsystem]/api/v1/Access/LoginApi

Request muss mit dem Header Content-Type: application/json geschickt werden.

Als Inhalt des Requests muss JSON Struktur geschickt werden

{
     "username": "string",
     "password": "string"
}

Benutzername und Passwort werden durch Administrator konfiguriert und geliefert.

Endpoint liefert API-Key als Response zurück. Die im Response enthaltenen doppelten Hochkomma sind nicht Teil des API-Key.

Beispiel 

(das sind keine echte Daten)

Authentication

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
"username": "User1", \
"password": "Password1" \
}' 'https://dev.bestellung.com/api/v1/Access/LoginApi'


API-Key wird als Response zurückgeliefert.

DataExchange Endpoint

curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'X-Authorization: AAPPIIKKEEYY'
{"type":"formData"} 'https://dev.bestellung.com/modules/opentrans/api/v1/dataexchange?projectName=project1&senderId=sender1&receiverId=receiver1&messageId=1234'