Integration von PO's und PO-Änderungen in Ihr ERP
Schritt-für-Schritt-Anleitungen zur Integration Ihrer Coupa-Bestellungen und -Bestelländerungen in Ihr ERP.
Einleitung
Sie können dieses Dokument auch als Microsoft Word-Dokument herunterladen: Coupa-Bestellungen an ERP.docx
Allgemeine Überlegungen zur API-Einrichtung
- Erste Schritte mit der Coupa-API
- API-Schlüsselsicherheit (wird irgendwann abgelehnt)
- Open Connect API Access (ab R29)
- Json/XML
- GraphQL (ab R30)
Begrenzte Nutzlast - Felder & API-Filter
Die API von Coupa gibt standardmäßig viele Daten zurück (z. B. vollständige Objekte für zugehörige Objekte). Die API-Rückgabe-Nutzlasten können sehr groß und daher langsam sein. Dies kann ein Problem für Kunden sein, die die Fremddaten nicht benötigen, ganz zu schweigen vom unnötigen Ressourcenverbrauch.
Um die Dinge zu vereinfachen, hat Coupa das Konzept der „Felder“ -Parameter und API-Filter, die eine begrenzte JSON- oder XML-Antwort anstelle des gesamten Schemas und aller Zuordnungen für ein Objekt zurückgeben.
- API-Antwortfilter
- API: Verwendung des neuen API-Abfrageparameters "fields", Alternative zu "return object"
In diesem Artikel beschriebene Anwendungsfälle
In diesem Dokument wird davon ausgegangen, dass die Bestellnummer im ERP von der Coupa-Bestellnummer bestimmt wird. Dieser Artikel beschreibt die 3 verschiedenen Optionen zur Integration von Coupa-Bestellungen in Ihr ERP(sowohl für die Erstellung als auch für die Aktualisierung).
Diese Optionen ändern die Art und Weise, wie Sie Ihre Integrationen von Coupa aus überwachen können:
- Option 1: Einfache Überwachung basierend auf benutzerdefinierten Feldern, die Sie im Auftragskopf definieren
- Alternative 2: Erweiterte Überwachung mit Integrationsverlaufsdatensätzen
- Option 3: Vollständige Coupa-Integrationsüberwachung nutzen
Für die 3 Optionen werden die Coupa-POs basierend auf dem Export-Flag in das ERP gepusht.
Im Fehlerfall ist bei der Integration einer Bestellung eine manuelle Änderung der Bestellung in der Coupa-UI erforderlich: Diese Änderung setzt das Export-Flag zurück und die Bestellung wird daher im nächsten Durchlauf berücksichtigt
Coupa schlägt vor, dass Sie sich an den Coupa-Support wenden, um diese Option zu aktivieren: Für jede Änderung Bestellung zuletzt exportiert um zurücksetzen. Diese Einstellung gilt nur für die Benutzeroberfläche. Änderungen, die mit API vorgenommen werden, ändern den Exportstatus nicht.
Dedizierte Integration und Kontakt für API erstellen
Für Option 2 & 3 müssen Sie Folgendes erstellen:
- Eine dedizierte Integration für jede API-Orchestrierung, die Sie implementieren
- Ein oder mehrere Integrationskontakt (e) für jede Integration, der/die bei fehlgeschlagener Integration benachrichtigt wird/werden
Coupa schlägt vor, dass Sie sich an den Coupa-Support wenden, um diese Option zu aktivieren: Link zu Integrationsverlauf nach Dokumenttyp aktivieren. Diese Einstellung fügt einen Link auf der Einrichtungsseite hinzu, um den vollständigen Integrationsverlauf pro Dokumenttyp anzuzeigen
Option 1: Einfache Überwachung basierend auf benutzerdefinierten Feldern
Beschreibung
In diesem Szenario fügen wir für jede Bestellung den aktuellen Integrationsstatus in ein oder mehrere benutzerdefinierte Felder für den Bestellkopf ein. Wir haben ein benutzerdefiniertes Feld cf-integration-status
mit dem Namen Integrationsstatus hinzugefügt
. Verwenden Sie die Standard-Bestelldatentabelle, um den Integrationsstatus Ihrer Dokumente unter dieser URL zu verfolgen: https://<your instance hostname>/order_headers
.
Orchestrierungsdiagramm
Details zu Schritten / API-Aufrufen
Schritt 1 |
Rufen Sie die Liste und Details der Coupa-Bestellungen ab, die im ERP erstellt/aktualisiert werden sollen.Zu den |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
|
Beispiel-URL |
https://<your instance hostname>/api/purchase_orders?filter=<your API filter name>&offset=10&exportiert=false&show_deleted_lines=true&status[in]=ausgestellt,storniert,geschlossen |
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
* = show_deleted_lines=true ist für Bestelländerungen
Schritt 2 |
Einzelbestellung als exportiert markieren |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
N/A * |
Antwort Körperprobe |
|
* Für diesen Aufruf benötigen Sie keine Nutzdaten, wenn Sie "?exported=true" in die URL aufnehmen. Dort erfolgt die Erstellung/Aktualisierung der PO im ERP.
Schritt 3 |
Aktualisieren Sie benutzerdefinierte Felder für die Berichterstellung |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
oder
|
Antwort Körperprobe |
oder
|
Alternative 2: Erweiterte Überwachung mit Integrationsverlauf
Beschreibung
In diesem Szenario müssen wir für jede Bestellung:
- Den vorherigen Integrationsverlaufsdatensatz für das Dokument auflösen
- Einen Integrationsverlaufsdatensatz erstellen
- Eine Warnung an den Integrationskontakt im Fehlerfall erstellen
Jedes Dokument enthält die Details des Integrationsverlaufs:
Verwenden Sie die Standard-PO-Integrationsverlaufsdatentabelle, um den Integrationsstatus Ihrer Dokumente zu verfolgen. Sie finden es unter: https://<your instance hostname>/integration_history_records/purchase_orders
.
Sie können einen Filter nach Antwortcode verwenden, um zwischen erfolgreich replizierten und fehlgeschlagenen Dokumenten zu unterscheiden.
Orchestrierungsdiagramm
Details zu Schritten / API-Aufrufen
Schritt 1 |
Rufen Sie die Liste und Details der Coupa-Bestellungen ab, die im ERP erstellt/aktualisiert werden sollen.Zu den |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
Schritt 2 |
Einzelbestellung als exportiert markieren |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Hier erfolgt die Erstellung/Aktualisierung der PO im ERP.
Schritt 3a |
Ungelösten Integrationsverlaufsdatensatz abrufen |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 3b |
Vorherigen Integrationsverlaufsdatensatz auflösen |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 4a |
Integrationsverlauf erstellen (erfolgreich) |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Schritt 4b |
Integrationsverlauf erstellen (Fehler) und Benachrichtigung an den Integrationskontakt |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Option 3: Vollständige Coupa-Integrationsüberwachung nutzen
Beschreibung
In diesem Szenario erstellen wir einen Integrationslauf, der
- Ausschreibungsstatus (ausstehend/gestartet/fehlerhaft/erfolgreich/fehlgeschlagen)
- Die totale Anzahl von bearbeiteten Bestellungen
- Die Anzahl von Erfolgen und Fehlern
- Die Liste von Integrationsfehlern und deren Status (behoben oder nicht)
Für jede Bestellung:
- Den vorherigen Integrationsverlaufsdatensatz für das Dokument auflösen
- Einen Integrationsverlaufsdatensatz erstellen
- Erstellen Sie im Fehlerfall einen Integrationsfehler und eine Warnung an den Integrationskontakt
Sie können alle Integrationsausführungen für Ihre Integration überwachen unter: https://<your instance hostname>/integrations/<your integration id>/integration_runs
.
Verwenden Sie die Standard-PO-Integrationsfehlertabelle, um alle Bestellungen mit ausstehender Lösung für Integrationsfehler aufzulisten. Es befindet sich unter: https://<your instance hostname>/integration_errors
.
Verwenden Sie die Standard-PO-Integrationsverlaufsdatentabelle, um alle erfolgreich integrierten Bestellungen aufzulisten. Es befindet sich unter: https://<your instance hostname>/integration_history_records/purchase_orders
.
Orchestrierungsdiagramm
Details zu Schritten / API-Aufrufen
Schritt 1 |
Integrationsausführung erstellen |
---|---|
Methode |
BEITRAG |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Schritt 2 |
Rufen Sie die Liste und Details der Coupa-Bestellungen ab, die im ERP erstellt/aktualisiert werden sollen.Zu den |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
filter=<your API filter name> |
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
Schritt 3 |
Integrationsausführung starten |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Schritt 4 |
Einzelbestellung als exportiert markieren |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Hier erfolgt die Erstellung/Aktualisierung der PO im ERP.
Schritt 5a |
Ungelösten Integrationsverlaufsdatensatz abrufen |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 5b |
Vorherigen Integrationsverlaufsdatensatz auflösen |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 6a |
Ungelösten Integrationsfehlerdatensatz abrufen |
---|---|
Methode |
ABFRAGEN |
API |
|
Query-Parameter |
|
Beispiel-URL |
|
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 6b |
Vorherigen Integrationsverlaufsdatensatz auflösen |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Schritt 7a |
Integrationsverlauf erstellen (Erfolg) |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
fields=["id","document-id","status"] |
Beispiel-URL |
|
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Schritt 7b |
Integrationsfehler erstellen und Benachrichtigung an den Integrationskontakt |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
|
Antwort Körperprobe |
|
Schritt 8 |
Integrationsausführung erfolgreich beendet |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|
Wenn während des Integrationslaufs ein allgemeiner Fehler auftritt
Schritt x |
Raise Failure für den Integrationslauf |
---|---|
Methode |
PUT |
API |
|
Query-Parameter |
Nicht zutreffend |
Abfrage Hauptteilmuster |
Nicht zutreffend |
Antwort Körperprobe |
|