Zum Hauptinhalt springen

Migration von der Costed BOM API zu den neuen Endpunkten von Luminovo

Aktualisieren Sie Daten in Ihrem ERP – legen Sie Bauteile an, aktualisieren Sie Preise und füttern Sie Bestellungen mit einer Reihe neuer Endpunkte.

Verfasst von Fabian Heldt

ℹ️ Nutzen Sie diesen Leitfaden, wenn Ihre Integration mit der Luminovo API (zum Beispiel aus Ihrem ERP) den Costed-BOM-Endpunkt aufruft und Sie auf die neuen Endpunkte umstellen müssen. Für Schnittstellen zu Lieferanten-APIs (Live-Preise und Bestände) lesen Sie Aktivieren Sie direkte Schnittstellen (APIs) zu Ihren Lieferanten.

Was sich ändert

Der Endpunkt Get Costed BOM ist veraltet (deprecated):

  • GET /rfqs/{id}/costed-bom

  • GET /projects/{id}/costed-bom

(Beide liefern dieselben Daten – in Luminovo sind ein Projekt und eine RfQ dasselbe.)

Der Costed-BOM-Endpunkt wurde ursprünglich entwickelt, um den Excel-Export der Costed BOM von Luminovo in einem einzigen API-Aufruf eins zu eins abzubilden. Dadurch wurde die Antwort sehr groß, ihre Erzeugung bei größeren BOMs langsam und die zuverlässige Integration schwieriger.

Wir haben diesen alten Endpunkt durch eine Reihe kleinerer, fokussierter Endpunkte ersetzt. Jeder liefert einen einzelnen, klar definierten Teil des Gesamtbilds – Projekte, Sourcing-Szenarien, Einkaufsoptionen, Angebote und Komponentendaten – sodass Ihre Integration schneller, vorhersehbarer und einfacher zu warten ist.

Zeitplan: Der Costed-BOM-Endpunkt funktioniert weiterhin, erhält jedoch keine weiteren Verbesserungen. Bitte planen Sie Ihre Migration bis zum 1. Januar 2027.
​

Einige Daten auf Ebene der BOM-Positionen sind über die neuen Endpunkte noch nicht verfügbar (siehe Kapitel "Noch nicht verfügbar" unten). Wenn Ihre Integration darauf angewiesen ist, wenden Sie sich bitte vor Beginn der Migration an Ihren Customer Success Manager.


Die neuen Endpunkte

Die folgenden Endpunkte decken Projekte, Bauteildaten, Angebote, Einkaufsoptionen und Kosten ab. Einige Daten aus dem Costed-BOM-Endpunkt, vor allem Bauteilnummern und Notizen pro BOM-Position, sind noch nicht verfügbar – siehe Noch nicht verfügbar.

Ab sofort verfügbar

Endpunkt

Methode & Pfad

Accept-Header

GET /projects

application/api.luminovo.project-overview-v1+json

GET /projects/{id}

application/api.luminovo.project-v1+json

GET /projects/{id}/tree

application/api.luminovo.assembly-ids-v1+json

GET /sourcing-scenarios/{id}

application/api.luminovo.sourcing-scenario-v2+json

GET /sourcing-scenarios/{id}/purchase-options

application/api.luminovo.sourcing-scenario-v1+json

GET /sourcing-scenarios/{id}/cost-breakdown

application/api.luminovo.sourcing-scenario-v1+json

POST /offers/find

application/api.luminovo.offer-v1+json

GET /offers/{id}

application/api.luminovo.offer-v1+json

POST /offers/bulk

application/api.luminovo.offer-v1+json

GET /off-the-shelf-parts/{id}

application/api.luminovo.off-the-shelf-part-v1+json

GET /components/ipn/{ipn}

application/api.luminovo.component-v1+json

GET /components

application/api.luminovo.component-v1+json

GET /calculations/assembly-costs

application/api.luminovo.assembly-cost-v1+json

*Get part liefert die vollständigen Stammdaten eines Katalogbauteils: Hersteller, MPN, Beschreibung, technische Eigenschaften, Gehäuse, Compliance und Lebenszyklus. Für viele Bauteile in einem Aufruf verwenden Sie POST /off-the-shelf-parts/bulk.

**Get BOM tree liefert nur die Baugruppen-IDs eines Projekts. Designatoren und Mengen pro Baugruppe für jede BOM-Position liefert Get cost breakdown.

💡 Die Kostensummen auf Baugruppenebene (Materialkosten, Fertigungskosten und zusätzliche Kosten sowie die Information, ob die Kalkulation eingefroren ist) liefert Get calculated assembly cost. Die Sourcing-Kosten eines Sourcing-Szenarios, aufgeschlüsselt nach Baugruppe und BOM-Position, liefert Get cost breakdown. Für jede Baugruppe enthält die Antwort ihre eigenen Kosten und die aus ihren Unterbaugruppen aufsummierten Kosten, für jede BOM-Position außerdem Designatoren, Menge pro Baugruppe, Sourcing-Status und ausgewählte Angebote.


So werden die alten Daten den neuen Endpunkten zugeordnet

Der Costed-BOM-Endpunkt kombinierte vier Arten von Informationen. Hier sehen Sie, wo sich diese jetzt befinden:

| In der Costed BOM | Jetzt verfügbar über |
| --- | --- |
| BOM-Struktur – Projekte, Baugruppen, Designatoren, Mengen | Get all projects · Get a project · Get BOM tree (Baugruppen-IDs) · Get cost breakdown (Designatoren und Mengen pro BOM-Position) |
| Bauteil- & Komponentendaten – IPN, MPN, Hersteller, Beschreibung, Compliance, Lebenszyklus | Bauteil- & Komponentendaten – MPN, Hersteller, Beschreibung, Compliance, Lebenszyklus des ausgewählten Bauteils; IPNs in Ihrer Komponentenbibliothek
​
​Bauteilnummern pro BOM-Position (IPN, CPN) sind noch nicht verfügbar. |
| Sourcing & Preisgestaltung – Angebote, ausgewählte Einkaufsoptionen, Lieferant, Stückpreis, MOQ/MPQ, Verfügbarkeit | Get purchase options · Find offers · Get an offer · Get offers |
| Kostenübersichten – Stück-/Gesamtkosten pro Baugruppe | Get calculated assembly cost · Get cost breakdown |

Noch nicht verfügbar

Für die folgenden Daten aus dem Costed-BOM-Endpunkt gibt es in der öffentlichen API noch keinen Ersatz. Wir arbeiten daran, diese Lücken zu schließen. Wenn Sie auf einige davon angewiesen sind, wenden Sie sich bitte an Ihren Customer Success Manager.

Daten im Costed-BOM-Endpunkt

Status in den neuen Endpunkten

Bauteilnummern wie auf der BOM-Position angegeben: IPN, CPN, MPN sowie die IPN-Beschreibung

Noch nicht verfügbar. Angebote liefern die IPN nur bei Lager- und ERP-Angeboten; Distributorangebote liefern die MPN des ausgewählten Bauteils.

Notizen zur BOM-Position und das Kennzeichen „herstellerfrei“ (manufacturer free)

Noch nicht verfügbar

Bauteiloptionen pro BOM-Position (freigegebene und ausstehende Bauteile)

Noch nicht verfügbar

Baugruppentyp und Baugruppennotizen

Noch nicht verfügbar

Beistellung (Consignment)

Teilweise: als sourcing_status = "Consigned" in Get cost breakdown

Einstellungen des Sourcing-Szenarios (Lieferzeitpräferenz, bevorzugte und freigegebene Lieferanten, Überschusspräferenz, maximales Angebotsalter, Verpackung, Lagerstandorte)

Noch nicht verfügbar. Get a sourcing scenario liefert nur die Währungseinstellungen.

Alternative Lösungen (gültige Lösungen, Lösungen mit Warnungen oder Fehlern), Lösungs- und Bauteilwarnungen, Sourcing-Notizen

Noch nicht verfügbar. Es wird nur das ausgewählte Angebot geliefert.

Herkunft des Angebots (zum Beispiel Distributor-API, Angebotsanfrage, Import, manuell)

Noch nicht verfügbar

Versandzeit in Tagen; Ausschuss- und Überschussmengen

Noch nicht verfügbar. Ausschuss und Überschuss werden als Kosten geliefert, nicht als Mengen.


Migration nach Anwendungsfall

1. Interne Bauteilnummern (IPNs) für Bauteile anlegen, die noch keine haben

Ziel: Für Bauteile, die in Ihrem ERP noch keine interne Bauteilnummer haben, legen Sie die IPN mithilfe der Bauteildaten von Luminovo an.

  1. Rufen Sie Ihre Komponentenbibliothek aus Luminovo ab:

    1. List components (GET /components) liefert eine paginierte Liste aller Komponenten in Ihrem Mandanten – blättern Sie durch, bis Sie alle gelesen haben.

    2. Rufen Sie die Liste aller MPNs ab, die mit Ihren IPNs verknüpft sind.

  2. Rufen Sie die Einkaufsoptionen für das Sourcing-Szenario ab (GET /sourcing-scenarios/{id}/purchase-options) und rufen Sie die zugehörigen Angebote über ihre offer_id ab (GET /offers/{id} für ein Angebot oder POST /offers/bulk für viele in einem Aufruf).

    1. Extrahieren Sie die MPN und den Hersteller aus den Angebotsdaten

  3. Vergleichen Sie die Daten aus 2(a) mit den Daten aus 1(b). Wenn die MPN zu keiner IPN gehört, verwenden Sie die MPN-Daten, um ein neues Bauteil in Ihrem ERP-System anzulegen.
    :::callout backgroundColor="#feedaf80" borderColor="#fbc91633"
    ⚠️ Die MPN stammt aus dem ausgewählten Angebot, nicht aus der BOM-Position, und kann daher von der MPN in der BOM abweichen. Außerdem kann eine MPN in Ihrer Komponentenbibliothek mit mehreren IPNs verknüpft sein. Prüfen Sie diese Fälle manuell, statt sie automatisch in Ihr ERP zu schreiben.
    :::


2. Preise für Bauteile mit Luminovo-Daten aktualisieren

Ziel: Aktualisieren Sie die Preise in Ihrem ERP mit den aktuellen Angebotsdaten von Luminovo.

  1. Sammeln Sie die Bauteil-IDs, für die Sie Preise abrufen möchten. Sie finden diese an Ihren Komponenten (aus List components oder Get component by IPN – die linked_parts enthalten ihre Bauteil-IDs).

  2. Rufen Sie Find offers (POST /offers/find) mit den Bauteil-IDs in filters.part_ids auf, bis zu 1.000 pro Anfrage. Jede ID braucht ihre Art als Präfix, zum Beispiel OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012. Die id eines Katalogbauteils in linked_parts ist die reine UUID, ergänzen Sie das Präfix OffTheShelf: also selbst.

  3. Die Antwort ist eine flache Liste von offers. Jedes Angebot enthält sein linked_part (darüber ordnen Sie das Angebot Ihrem Bauteil zu), den Lieferanten, die Verfügbarkeit und eine oder mehrere price_breaks – jede Preisstaffel hat einen unit_price wie { "amount": "0.0520", "currency": "EUR" } sowie minimum_order_quantity und minimum_packaging_quantity.

  4. Die Antwort ist paginiert: Standardmäßig liefert sie bis zu 100 Angebote (mit limit bis zu 1.000). Solange pagination.has_more den Wert true hat, rufen Sie den Endpunkt erneut mit denselben Filtern auf und setzen cursor auf pagination.next_cursor.

  5. Wählen Sie den relevanten Preis aus und schreiben Sie ihn in Ihr ERP zurück.

💡 Möchten Sie nur die Preise, die Luminovo tatsächlich für ein Sourcing-Szenario ausgewählt hat (statt aller verfügbaren Marktangebote)? Verwenden Sie Get purchase options (nächster Abschnitt) – jedes ausgewählte Angebot enthält seinen Preis.


3. Bestellungen mithilfe von Einkaufsoptionen vorausfüllen

Ziel: Erstellen Sie Bestellungen in Ihrem ERP, vorausgefüllt aus den von Luminovo ausgewählten Einkaufsoptionen.

  1. Get all projects (GET /projects) → das Projekt finden.

  2. Get a project (GET /projects/{id}) → die Antwort listet die Sourcing-Szenarien des Projekts auf; nehmen Sie die gewünschte Sourcing-Szenario-ID. (Optional: Rufen Sie Get a sourcing scenario (GET /sourcing-scenarios/{id}) für dessen Bedarfe, Währung und Einstellungen auf.)

  3. Get purchase options (GET /sourcing-scenarios/{id}/purchase-options) → die Liste der ausgewählten Angebote, bereit für die Erstellung von Bestellungen. Jeder Eintrag enthält:

    • quantity – die Anzahl der zu bestellenden Angebotseinheiten

    • unit_of_measurement – was eine Angebotseinheit darstellt (z. B. 1 Stück oder 5 m Kabel)

    • purchase_quantity – die Gesamtmenge in Basiseinheiten (quantity × unit_of_measurement.value)

    • unit_price – der Preis einer Angebotseinheit

    • minimum_order_quantity und minimum_packaging_quantity

    • offer_id

  4. (Optional) Verwenden Sie die offer_id mit Get an offer (GET /offers/{id}) oder sammeln Sie die IDs für Get offers (POST /offers/bulk), um das vollständige Angebot abzurufen – Lieferant, alle Preisstaffeln und Verfügbarkeit.

  5. Ordnen Sie jede Einkaufsoption einer Bestellposition in Ihrem ERP zu.

Die Antwort dieses Endpunkts ist speziell darauf ausgelegt, dass ERP-Systeme Bestellungen erstellen können.

Hat dies deine Frage beantwortet?