Promail REST API 2.0 ist ein einfacher Wege um Daten mit der Promail Plattform auszutauschen und zu bearbeiten.
Mit dem Order-API können Aufträge an Promail übermittelt werden.
Basis HTTP
Das API ist HTTP-basiert. Das heisst das API kann mit HTTP Bibliotheken wie cURL oder urllib genutzt werden.
Dadurch kann das API direkt im Browser genutzt werden.
Host url
Anfragen können an die url https://test.deal1.ch/PromailRESTorderV2.php geschickt werden.
Json
Die Abfragen sind in der JavaScript Sprache "Json" an das API zu schicken.
Beispiele unten.
POST
Das API reagiert auf die API Send-Methoden und steuert unterschiedliche Funktionen an.
Die Methode POST wird verwendet um Daten wie Lieferaufträge an Promail zu übermitteln.
Zugriffsschlüssel und API_Name
Um das API verwenden zu können, müssen die korrekten Zugriffsschlüssel und der gewünschte API-Name im API-Aufruf enthalten sein.
Das API verwendet 3 Schlüssel, welche beim API-Aufruf übergeben werden.
"Key" = x6R38e94z721GtUp (der Key steht in Bezug zu ihrem Promail-Konto).
"PrivatKey" = Muss bei Promail beantragt werden.
"Your_Email" = Die Emailadresse ihres Hauptkontos. Promail erteilt ihnen gerne Auskunft.
Mit "API-Name" wird die entsprechende Schittstelle ausgewählt. Partner/Kunden erhalten die Zugriffsschlüssel durch Anfrage-Mail an office@promail-ag.ch.
POST Lieferaufträge übermitteln
Im folgenden PHP-Beispiel-Code werden 2 Aufträge mit cURL übermittelt:
Erklärungen
Der Beispielcode übermittelt drei Datensätze für zwei Aufträge. Auftrag mit lieferschein_nr 1234 hat zwei SKU's. Auftrag mit lieferschein_nr 1235 hat eine SKU.
Auf diese Art können bis zu 500 Datensätze übermittelt werden.
key
bei Promail beantragen
mandatory
privatkey
bei Promail beantragen
mandatory
your_email
bei Promail beantragen
mandatory
api_name
mit "Order" wird das API angesteuert, welches Aufträge ins Promail-WMS übermittelt
mandatory
lieferschein_nr
Auftragsnummer ihres Auftrags
mandatory
emp_firma
Empfänger-Firma oder Empfänger-Name
mandatory
emp_name
Name in Empfänger-Firma
emp_strasse
Empfängerstrasse (ev. mit Hausnummer)
mandatory
emp_hausnr
Hausnummer, wenn nicht bereits in der emp_strasse
(mandatory)
emp_plz
Empfänger PLZ
mandatory
emp_ort
Empfänger Ort
mandatory
emp_land
Land des Empfängers
mandatory
emp_email
Email des Empfängers
emp_tel
Tel des Empfängers
versandart
Wenn nichts steht, wird Kundenstandard verwendet. Weitere Optionen sind "B-Post", "B-Post Einschreiben", "Nachnahme Paket", "A-Post", "Midibrief A-Post", "Midibrief A-Post Einschreiben", "Nachnahme Paket". weitere Informationen
versandbemerkung
Wenn nichts steht, wird Kundenstandard verwendet. Weitere Optionen sind zum Besispiel "Ersatz", "Leichte Verpackung" oder mit Promail abgesprochene Instruktionen.
rechnungsart
Wenn nichts steht, wird Kundenstandard verwendet. Weitere Optionen sind "Vorkasse", "Nachnahme".
total_betrag
Rechnungssumme des Auftrags
currency
"CHF"
mandatory
artikel_name
Name des Artikels
artikel_nr
Artikelnummer (SKU) des Artikels
mandatory
lot
lot des Artikels
mhd
Mindesthaltbarkeit des Artikels
anzahl
Anzahl der zu liefernden Artikelmenge
mandatory
preis
Preis eines Artikels
Alle Positionen mit der gleichen Lieferschein_Nr werden zu einem Auftrag zusammen gezogen.
Fehlermeldungen+Erfolgsmeldungen
Bei einem erfolgreichen Aufruf des API's wird ein http-status 200 gesendet.
Wenn der Aufruf nicht erfolgreich war, wird ein http-status 401 gesendet.
Folgende Fehlermeldungen sind möglich:
"message": "No data received" / status 401
api hat keine Daten erhalten
"message": "Could not convert json" / status 401
api konnte Daten nicht als Json erkennen
"message": "key is missing" / status 401
api hat keinen key-wert gefunden
"message": "privatkey is missing" / status 401
api hat keinen privatkey-wert gefunden
"message": "your_email is missing" / status 401
api hat keinen email-wert gefunden
"message": "api_name is missing" / status 401
api hat keinen api-name-wert gefunden
"message": "order-API has not been sent with POST-methode" / status 401
Order-api muss mit POST-Method gesendet werden
"message": "key is wrong" / status 401
key-wert ist falsch
"message": "your privatkey or email is wrong" / status 401
privatkey oder email ist falsch
"message": "all ANZAHL records have been uploaded" / status 200
api-call war erfolgreich
"not in database": "Artikelnummer" / status 200
api-call war werfolgreich, aber einige Artikelnummern sind unbekannt