B2B-API

Die FabParts-API

Die volle Bestell-Pipeline als REST-API: Datei hochladen, Sofort-Schätzung, exakter Preis aus echtem Slice, Farb-Lagerbestand, Bestellung mit Zahlungslink, Lieferstatus. Registrierung per E-Mail, Authentifizierung per API-Key.

Schnellstart

1. Registrieren, der API-Key kommt per E-Mail:

curl -X POST https://fabparts.de/api/v1/registrierung \
  -H "content-type: application/json" \
  -d '{"email": "einkauf@deine-firma.de", "firma": "Muster GmbH"}'

2. Datei hochladen und Sofort-Schätzung bekommen (der Key gehört in den Header X-Api-Key):

curl -X POST https://fabparts.de/api/v1/angebot \
  -H "X-Api-Key: fpk_DEIN_KEY" \
  -F "datei=@halterung.stl" \
  -F material=PLA -F subtyp=Matte -F preset=standard \
  -F layer=0.20 -F stueckzahl=10

Antwort: ein Angebot mit id, Prüf-Ampel (check) und Schätzspanne in Cent. Bei Bambu-Studio-Projektdateien mit mehreren Druckplatten kommt zusätzlich eine teile-Liste, ein Angebot je Platte.

3. Exakten Preis berechnen (echter Slice auf unseren Produktionsprofilen, dauert bis zu etwa zwei Minuten):

curl -X POST https://fabparts.de/api/v1/angebot/FP-DEINE-ANGEBOTS-ID/preis \
  -H "X-Api-Key: fpk_DEIN_KEY"

Antwort: {"status": "bestellbar", "preisCent": ..., "versandCent": ...}. Der Preis ist verbindlich, solange das Angebot bestellbar ist.

Alle Endpunkte

EndpunktZweck
POST /api/v1/registrierungKonto anlegen, Key per Mail. Ohne Key aufrufbar.
GET /api/v1/kontoEigenes Konto: Limits, heutiger Verbrauch, Bestell-Freigabe.
GET /api/v1/farbenBestellbare Farben je Material/Ausführung, live aus dem Lagerbestand.
POST /api/v1/angebotDatei hochladen (STL, 3MF, OBJ, multipart), Sofort-Schätzung.
POST /api/v1/angebot/:id/preisExakter Preis aus echtem Slice.
POST /api/v1/angebot/:id/stueckzahlStückzahl eines bestellbaren Angebots ändern (ohne neuen Slice), Body {"stueckzahl": 25}.
POST /api/v1/bestellungBestellung anlegen, Antwort enthält die Stripe-Zahlungs-URL. Erst nach Freischaltung.
GET /api/v1/bestellung/:id/statusBestell- und Lieferstatus (bezahlt, in Produktion, versendet, Tracking).
POST /api/v1/nachbestellenAus einer früheren Bestellung frische Angebote mit gleicher Konfiguration anlegen, Body {"bestellungId": "FP-B-..."}.

Feldnamen sind deutsch und identisch zur Weboberfläche (dieselbe Pipeline dahinter). Beträge sind immer ganze Cent, inklusive 19 % MwSt.

Bestellen über die API

Bestellen erfordert eine einmalige manuelle Freischaltung deines Kontos (kurze Prüfung durch uns, du bekommst eine E-Mail). Danach:

curl -X POST https://fabparts.de/api/v1/bestellung \
  -H "X-Api-Key: fpk_DEIN_KEY" \
  -H "content-type: application/json" \
  -d '{
    "positionen": [{"angebotId": "FP-...", "bambuColorId": "10101"}],
    "kunde": {"email": "einkauf@deine-firma.de", "name": "Muster GmbH",
              "strasse": "Beispielweg 1", "plz": "32791", "ort": "Lage"},
    "zustimmung": {"agb": true, "widerruf_kenntnis": true, "angaben_geprueft": true},
    "versandArt": "versand",
    "dateiAufbewahren": true
  }'

Antwort: {"id": "FP-B-...", "url": "https://checkout.stripe.com/..."}. Die Zahlung läuft über den Stripe-Link (Karte, PayPal); nach Zahlungseingang startet die Produktion automatisch und dein System kann den Status pollen. Die zustimmung-Flags bestätigen AGB, den Ausschluss des Widerrufsrechts bei Anfertigung nach Kundenspezifikation und die Prüfung der Angaben; sie sind Pflicht.

Limits und Freischaltung