Update Mai 2022 | API
Die FrachtPilot API hilft dir eigene Erweiterungen und Automatisierungen von FrachtPilot zu entwickeln. Du hast damit Zugriff auf fast alle Daten in FrachtPilot und kannst sie auch verändern. So können Daten von und zu anderen Apps oder Shops übertragen werden.
Die FrachtPilot API folgt dem REST-Ansatz und erlaubt die Standard HTTP-Anfragemethoden (GET, POST, PUT, PATCH und DELETE) und Antwort-Codes. Alle Anfragen werden an https://my.frachtpilot.de/api_v2/ gestellt und alle Antworten geben JSON zurück.
Hier findest du die FrachtPilot API Dokumentation
Vorbereitung
Gib uns bitte Bescheid per Mail an support@frachtpilot.de, wenn du die API nutzen möchtest, dann schalten wir dir die API gerne frei.
In der Personalmanagement kannst du nach dem Freischalten Benutzerzugänge zur API anlegen und einen API-Key zur Authentisierung erzeugen. Die Rechte zum Lesen und Bearbeiten von Objekten erfolgt anhand der Rechte des dafür angelegten Benutzers.
Speicher die erzeugten API-Keys sicher ab und gebe niemandem Zugriff darauf.
Wir empfehlen die Vergabe einer E-Mail-Adresse pro API-Schlüssel, damit der API-Schlüssel nur in Kombination mit der E-Mail-Adresse verwendet werden kann.
Authentisierung
Für die Authentisierung wird neben dem API-Schlüssel auch ein CSRF-Token benötigt.
Beispiel in Python:
import hashlib
from datetime import datetime
import requests
api_key = 'Beispiel-API-Schlüssel1337'
mail = 'name@host.de' # auch ein leerer String möglich, wenn Nutzer keine E-Mail hat
date = datetime.now()
date = date.strftime("%Y-%m-%d")
csrf = mail + '.' + date
csrf_token = hashlib.md5(csrf.encode())
payload = {'X-AUTH-TOKEN': api_key, 'X-CSRF-TOKEN': csrf_token.hexdigest()}
response = requests.get('https://my.frachtpilot.de/api_v2/accounts?page=1', headers=payload)
Hinweise
- Derzeit gibt es keine Limits für die API. Daher bitten wir darum, schlank zu programmieren und die Anzahl der Requests nur auf die notwendige Anzahl zu beschränken und häufig benötigte Daten lokal zwischenzuspeichern. Außerdem sollte die Anzahl der parallel ausgeführten Requests niedrig sein.
- Wir behalten uns vor, Limits für die Anzahl der möglichen Requests einzuführen.
- Bei schädlicher Nutzung der API behalten wir uns vor, den API-Zugang für das jeweilige System dauerhaft zu deaktivieren.