Authentifizierung
Alle Daten werden als Geschäftsobjekt oder Ressource gespeichert, und jede Ressource hat eine Ressourcen-URL, genau wie eine Webseite, wobei jede Ressource die Form/api/{resource_name} hat.
Stellen Sie sicher, dass Sie auf die URL mit https://
anstelle von http://zugreifen
, wenn Sie die Coupa-API verwenden. Jeder Coupa-Kunde verfügt über eine eigene URL in der Form {instance_name}.coupahost.com
. Beispiel: https://companyname.coupahost.com/api/users
.
Coupa empfiehlt, API-Anfragen mit OpenID Connect zu authentifizieren.
In der Vergangenheit wurden API-Anfragen vor der Unterstützung von OpenID Connect durch einen eindeutigen API-Schlüssel authentifiziert, der in Coupa generiert wurde. Diese Methode wird weiterhin unterstützt, wird jedoch in R35 vollständig veraltet sein. Alle API-Anforderungen, die diese Authentifizierungsmethode verwenden, müssen einen X-COUPA-API-KEY
" -Header, einen API-Schlüssel und den ACCEPT-HEADER mit dem Wert
application/xml
für XML-Antworten oder application/json
für JSON-Antworten übergeben. Ein Schlüssel kann von einem Admin-Benutzer aus dem Abschnitt API-Schlüssel der Registerkarte Setup erstellt werden. Der Schlüssel ist ein 40 Zeichen langer alphanumerischer Code mit Groß-/Kleinschreibung und ist einem API-Benutzer zugeordnet, der einem Admin-Benutzer auf Coupa entspricht. Alle Änderungen an Ressourcen über die API werden dem API-Benutzer zugeordnet.
Die API-Schlüsselsicherheit kann beispielsweise konfiguriert werden, indem Ablaufdaten festgelegt, ein Schlüssel widerrufen und konfiguriert werden, auf welche Objekte und Methoden ein Schlüssel Zugriff hat.
Verfall von API-Schlüsseln
R32 - OAuth2.0 ist die einzige verfügbare Option für Neukunden
R34 - neue API-Schlüssel können nicht mehr an bestehende Kunden ausgegeben werden
R35 - API-Schlüssel werden nicht mehr unterstützt
Weitere Details
Überprüfen Sie immer das Vorhandensein von Elementen in XML/JSON, bevor Sie den Wert abrufen, da sich die Coupa-Nutzlaststruktur in Zukunft ändern kann, sodass bestimmte Felder, die keine oder Nullwerte aufweisen, nicht angezeigt werden.
Welche Methoden werden von der API unterstützt?
GET (Read Data) - Eine HTTP-GET-Anforderung fragt Coupa ab und gibt Informationen im JSON- oder XML-Format zurück. Eine Anforderung am Ressourcenstamm listet die ersten 50 Objekte beginnend mit ID 1 auf. Verwenden Sie diese Argumente, um die Abfrage zu verfeinern.
PUT (Daten aktualisieren) - Eine HTTP-PUT-Anforderung an/api/{resource}/{id} versucht
, eine Ressource zu aktualisieren. Pro Anforderung kann nur eine Ressource aktualisiert werden und die Nutzlast sollte ein JSON- oder XML-Dokument mit den zu aktualisierenden Elementen sein. Nicht alle Felder sind über die API verfügbar und alle referenzierten Daten müssen bereits vorhanden sein, oder der Wert wird nicht geändert.
POST (Create Data) - Eine HTTP-POST-Anforderung an den Ressourcenstamm mit einer json - oder XML-Nutzlast versucht, eine neue Ressource zu erstellen. Bei Erfolg wird die Ressource mit der neuen ID zurückgegeben, die von Coupa generiert wird.
Das Löschen von Daten wird für keine Ressource über die API unterstützt. Benutzer können eine Teilmenge von Ressourcen mithilfe einer PUT-ANFRAGE deaktivieren.
Wann sollte ich die API verwenden?
Die Coupa-API ermöglicht das Erstellen, Aktualisieren und Abfragen einzelner Einträge und wird hauptsächlich zum Verwalten von Objekten in Coupa verwendet. Mit Standard-RESTful-Aktionen und definitiven Inputs und Outputs ist es die einfache tägliche Option für Non-Bulk-Aktionen. Auf diese Methoden kann jederzeit zugegriffen werden, und es sind Tools integriert, mit denen Sie einfach überprüfen können, ob ein Anruf erfolgreich durchlaufen wird, oder die Ausgabe von Antworten minimieren können. Dies dient in erster Linie dazu, einfache Einzelaktualisierungen vorzunehmen oder Daten abzufragen.
XML vs. json
Coupa unterstützt sowohl XML als auch json. Nachfolgend finden Sie einige grundlegende Informationen zu den einzelnen:
Die Extensible Markup Language (XML) ist ein Regelwerk zur Kodierung von Dokumenten in maschinenlesbarer Form. XMLs Designziele betonen Einfachheit, Allgemeingültigkeit und Benutzerfreundlichkeit über das Internet.
JavaScript Object Notation (json) ist ein leichter, textbasierter offener Standard, der für den Austausch von vom Menschen lesbaren Daten entwickelt wurde. Es leitet sich von der Programmiersprache JavaScript ab, um einfache Datenstrukturen und assoziative Arrays, sogenannte Objekte, darzustellen. Trotz seiner Beziehung zu JavaScript ist es sprachunabhängig, wobei Parser für die meisten Programmiersprachen verfügbar sind.
Json ist weniger ausführlich als XML, da XML das Öffnen und Schließen von Tags (oder in einigen Fällen weniger ausführliche selbstschließende Tags) erfordert, und json verwendet Name/Wert-Paare, die prägnant durch "{" und "}" für Objekte, "[" und "]" für Arrays, "," zur Trennung von Paaren und ":" zur Trennung von Name und Wert abgegrenzt werden.
Unterschiede zwischen XML und json in Coupa
Beispielanfragen/-antworten - XML vs. json
Unabhängig davon, für welche Methode Sie sich entscheiden, erfordert die Coupa-API, dass Sie sowohl Ihre Content-Typ- als auch Ihre Content-Accept-Header auf denselben Typ setzen. Nicht kombinieren.
Benutzung von GraphQL
GraphQL ist eine offene Spezifikation für eine API-Abfragesprache (daher die "QL" -Referenz), mit der Sie Ihre Integrationen reaktionsfähiger als je zuvor machen können, indem Sie die Möglichkeit haben, die benötigten Daten anzufordern und nicht mehr. GraphQL kann auch die Anzahl der Anrufe und der damit verbundenen Hin- und Rückfahrten reduzieren, indem alle benötigten Ressourcen in einer einzigen oder wenigen Anrufen abgerufen werden.
Weitere Informationen finden Sie unter Einführung von GraphQL.
Wann sollte ich SFTP Flat Files verwenden?
Mit flachen Dateien können Sie viele Datensätze über eine einzige Transaktion laden. Sobald eine Integration eingerichtet ist, wird sie basierend auf den eingestellten Parametern automatisch ausgeführt. Integrationsläufe und Fehler werden in der App verwaltet und geben Aufschluss über die Anzahl der hinzugefügten Teilnehmer, Fehlerdetails und darüber, wer automatisch wegen des Fehlers kontaktiert wurde. Dies wird in erster Linie verwendet, um Massenaktualisierungen oder -ergänzungen zu wichtigen Komponenten des Produkts wie Benutzern oder Lieferanten vorzunehmen.
Zusätzliche Informationen
wiki.tree(page.path)
Coupa unterstützt eine Reihe von Operatoren, mit denen Sie präzise Abfragen durchführen können.
Verwenden Sie das flache API-Format von Coupa, um die Datenmenge zu reduzieren, die Sie während einer Abfrage erhalten.
Verbesserte API-Schlüsselsicherheit mit Ablauf des API-Schlüssels und vom Administrator angegebenen Berechtigungen für APIs.
Kundenspezifischer Feld-Namespace
Alle neuen benutzerdefinierten Felder werden zu einem benutzerdefinierten Feld-Namespace hinzugefügt, um Namenskonflikte zu vermeiden und vom Kunden hinzugefügte Felder leichter identifizierbar zu machen.
Erfahren Sie mehr über die Arten von Argumenten, die Coupa in Verbindung mit Operatoren unterstützt.
Erfahren Sie, wie Sie Abfragen verwenden können, um die benötigten Daten schnell zu identifizieren und abzurufen.
Spezielle Aktionen und API-Notizen
Weitere Informationen zur Verwendung der Coupa-API.
- Inhalt
-
Die Coupa Core-API
-
Erste Schritte mit der API
- API-Schlüsselsicherheit
- API-Operatoren
- API-Rückgabeformate
- Argumente
- Namespace des benutzerdefinierten Felds
- Unterschiede zwischen XML und JSON in Coupa
- Ausnahmebehandlung und Fehlercodes
- Einführung in GraphQL
- Abfrageoptionen
- Beispielanforderungen/Antworten - XML vs. JSON
- Besondere Aktionen und API-Hinweise
- Übergang zu OAuth 2.0 und OIDC
- Orchestration Documents
-
Ressourcen
-
Referenzdatenressourcen
- Konten-API (/accounts)
- Kontotypen-API (/account_types)
- API für Kontovalidierungsregeln (/account_validation_rules)
- Adress-API (/address)
- Ankündigungs-API (/Durchsagen)
- Budgetzeilen-API (/budget lines)
- API für Geschäftseinheiten (/business_entities)
- Inhaltsgruppen-API (/business_groups)
- Währungen API (/currency)
- Datendateiquellen-API (/data_file_sources)
- Abteilungen-API (/departments)
- Wechselkurs-API (/exchange_rates)
- API für finanzielle Gegenparteien (/financial_counterparties)
- Artikel-API (/items)
- API für juristische Dokumente (/legal_documents)
- Suchwerte-API (/lookup_values)
- API für übereinstimmende Zuordnungen (/matching_allocations)
- Zahlungsbedingungen API (/payment_terms)
- Projekte-API (/projects)
- Preiskarten-API
- Zahlungsempfängeradressen-API (/suppliers/address)
- Versandbedingungen API (/shipping_terms)
-
Lieferanten-API (/suppliers)
- Kontakt-API des Kundendiensts
- API für Diversitätszuordnung
- APIs für Diversitätskategorien und Unterkategorien
- API der Zertifizierungsstelle für Diversität
- Proxy-Lieferanten-API
- Punchout-Site-API
- Lieferanten-API-Beispielaufrufe
- Lieferantenartikel-API (/supplier_items)
- Beispielaufrufe für Lieferantenartikel
- Zahlungsempfänger-API des Lieferanten
- Lieferanten-Sites-API (/supplier_sites)
- Lieferanten-Benutzer-API
- Lieferanteninformation API (/supplier_information)
- API für Lieferanteninformations-Sites (/supplier_information_sites)
- API für Steuerregistrierungen von Lieferanteninformationen (/supplier_information_tax_registrations)
- Aufgaben-API (/tasks)
- API für Steuerregistrierungen (/tax_registrations)
- Benutzer-API (/users)
-
Gemeinsame Ressourcen
- Kontogruppen-API
- Alternative API
- Betragsbestandteil-API
- Bestandskennzeichen-API
- Anlagen-API
- Anhangsdatei-API
- Großmengenpreis-API
- Kommentar-API
- Warengruppen-API
- Chargen-API für permanente Inventur
- Anbieterkonto-API entwerfen
- Formular-API
- Mitgliedschafts-API für Gruppenkauf
- Zahlungs-API
- Budgetzeitraum-API
- Zweck-API
- RA CLMA Vertrags-API
- RA-Risikoanfrage API
- API für RA-Risikoanforderungsbeziehung
- API für RA-Risikoanforderungsbewertung
- API für Änderung der Bestellkopfzeile des Lieferanten
- Tagging-API
- Tag-API
- Maßeinheit-API
-
Transaktionsressourcen
- Genehmigungs-API (/approvals)
- Versandvorabmitteilungen API (/asn)
- API für Gebühren (/invoices)
-
Vertrags-API (/contracts)
- Vertrags-API - Beispielaufrufe
- Vertragsklassifizierungs-API
- Vertragsklauseln-API
- Referenz-API für Vertragsklauseln
- Vertragsdetail-API
- API für Vertragsstreitigkeiten
- Vertragspartei API
- Kontakt-API der Vertragspartei
- Vertragsvorlage API (/contracts/templates)
- Vertragsbedingungen API
- Vertragstypen-API
- API für Länderunterteilung
- API für geistiges Eigentum und Daten
- API für Reason Insights
- Ereignis-API für Reason Insights
- Zahlungs-API (/coupa_pay/payments)
- Coupa Pay-Kontoauszüge API (/coupa_pay/statements)
- API für benutzerdefinierte Objekte (/custom_objects/id)
- API für Zeilen der permanenten Inventur (/cycle_count_lines)
- Datendateiquellen-API (/data_file_sources)
- Standard-API für Empfängerstandorte (/default_receive_locations)
- Standard-Empfängerstandort-API (/Standard-Empfängerstandort)
- API für einfache Formularantworten (/easy_form_responses)
-
Ausgaben-API (/expense_reports)
- Auditstatus-API
- Ausgaben-API-Beispielaufrufe
- Ausgaben-Artefakt-API
- API für Ausgabenteilnehmer
- Typ API für Ausgabenteilnehmer
- API für Ausgabenbarvorschuss
- Ausgabenkategorie-API
- API für Übersetzung der Ausgabenkategorie
- Ausgabenzeilen-API
- API für die Zuweisung von Ausgabenpositionen
- Teilnehmer-API der Ausgabenzeile
- Ausgabenposition Barvorschuss API
- Importierte Daten der Ausgabenzeile - API
- Ausgabenposition Kilometerleistung API
- API für die Zuweisung von Kilometerständen in der Ausgabenzeile
- Tagessatz-API der Ausgabenzeile
- API für Steuern der Ausgabenzeile
- API für virtuelle Karte der Ausgabenzeile
- API für Vorabgenehmigung von Ausgaben
- API für Ausgabenvorabgenehmigungszeile
- API für Ausgabenberichte
- Vorabgenehmigungs-API für Ausgabenberichte
- Reise-API für Ausgaben
- Ausgabenreisesegment-API
- API für Ausgabenverletzung
- Virtual Card-API für Ausgaben
- Aufgegliederte Ausgabenzeilen-API
- API für juristische Person
- Integrations-API (/integrations)
-
Rechnungs-API (/invoices)
- Grund-API für Anfechtungen
- API für fehlgeschlagene Toleranzen
- API für eingehende Rechnung
- API-Beispielaufrufe für Rechnungen
- API für Rechnungsgebühren
- API für Rechnungsgebührenzuordnung
- Rechnungsposition-API
- API-Beispielaufrufe für Rechnungszahlungen
- API des registrierten Unternehmens
- Steuerzeilen-API
- Quellensteuerposition API
- Objektübersetzungs-API (/uoms/uom_id/translations)
- Bestelllisten-API (/order_pads)
- Kreditoren-API (/payables/)
- Auswahllisten/Erfüllungsreservierungs-API (/Auswahllisten)
- Bestellungs-API (/purchase_orders)
-
Empfangs-API
- Anpassungscode-API
- API für Bestandsanpassungen (/inventory_adjustments)
- API für Bestandsverbrauch (/inventory_consumption)
- Chargen-API für Bestandstransaktion
- API für Bestandsübertragungen (/inventory_transfers)
- Empfangstransaktionen API (/receive_transactions)
- API-Beispielaufrufe für Wareneingänge
- API für Rückgabe an Lieferantentransaktionen (/return_to_supplier_transactions)
- Beleganforderungs-API (/receipt_requests)
- Anforderungs-API (/requisitions)
- Sourcing-API (/quote_requests)
- Lieferantenrisiko-Feed-API (/supplier_risk_aware_feed)
-
Referenzdatenressourcen
-
Erste Schritte mit der API
- Bauen Sie auf der Coupa-Plattform auf
- CCW Flat Files (CSV)
-
Coupa Core Flat Files (CSV)
-
Flat File (CSV)-Export
-
Standard CSV Exports
- Kontotyp Export
- Versandvorabmitteilungen exportieren
- Rohstoffexport
- Vertragsexport
- Export von Coupa Pay-Gebühren
- Coupa Pay-Zahlungsexport
- Datendateiquellen-Export
- Delegationsexport
- Easy Form-Widget-Antwortexport
- Wechselkursexport
- Export der Vorabgenehmigung von Ausgaben
- Export von Ausgabenberichten
- Integrationsfehlerexport
- Integrationsverlaufsdatensatzexport
- Export der Bestandsbilanz
- Bestandstransaktionen (Belege) exportieren
- Export von Rechnungen
- Artikelexport
- Suchwerte exportieren
- Objektübersetzungsexport
- Änderungsexport der Bestellung
- Zuweisungsexport für Bestellpositionsänderung
- Export der Bestellpositionsänderung
- Verbindlichkeiten: Zuweisung
- Verbindlichkeiten :: Ausgaben
- Verbindlichkeiten :: Vorabgenehmigung von Ausgaben Export
- Kreditorenrechnungsexport
- Export des Beschaffungsmeilensteins
- Projektexport
- Projekt-Link-Export
- Export von Bestellungen
- Export von Zahlungsempfängeradressen
- Anforderungsexport
- Sourcing-Export
- Sourcing-Angebotsanforderungsexport
- Sourcing-Angebotsantwortexport
- Export von Coupa Pay-Kontoauszügen
- Direkter Ausgabenexport für Lieferanten-Diversitätsbericht
- Export indirekter Ausgaben für Lieferanten-Diversitätsbericht
- Export von Zusammenfassungen des Lieferanten-Diversitätsberichts
- Export von Lieferanteninformationen
- Seite „Lieferanteninformationen“
- Lieferant-Site
- Steuercode-Export
- Steuercoderegel-Export
- Steuerregistrierungsexport
- TCS-Steuerzeilenexport
- Benutzergruppen-Export
- Export Arbeitsbestätigung/Kopfzeile (Service-/Stundennachweisheader)
- Export von Arbeitsbestätigung/Position (Service-/Stundennachweisposition)
-
Standard CSV Exports
- Erste Schritte
-
Flat File (CSV)-Import
- Kontoimport
- Kontoart (CoA) Import
- Import von Kontovalidierungsregeln
- Import der Genehmigungskette
- Versandvorabmitteilung Import
- Budgetzeilenimport
- Budgetzeilenanpassungsimport
- Import Geschäftseinheit
- Rohstoffimport
- Import von Warengruppenübersetzungen
- Adressimport
- Inhaltsgruppen-Import
- Vertragsimport
- Abteilungsimport
- Unternehmensimport
- Wechselkurs-Import
- Import von Ausgabenkilometern
- Import der dynamischen Kategoriegrenze für Ausgabenaktion
- Import der Ausgabenkategorie
- Import von Steuersätzen der Ausgabenkategorie
- Import der Übersetzung der Ausgabenkategorie
- Import der Ausgabenimport-Kategoriezuordnung
- Import Transaktionsfiltertyp für Ausgabenimport Zuordnung
- Import der Benutzerzuordnung für Ausgabenimport
- Import der Ausgabenzahlung
- Import externer Bestellungen
- Externe Zahlungen
- Formulare (einfache Formulare) importieren
- Import von Integrationskontakten
- Integrationsimport
- Chargenimport Bestandsbilanz
- Import von Rechnungen
- Import der Rechnungszahlung
- Artikelimport
- Lader für rechtsgültige Zahlungsbelege
- Import von Suchwerten
- Objektinstanzimport
- Import von Objektübersetzungen
- Verbindlichkeiten :: Extern :: Kreditorenimport
- Import der Zahlungsbedingungen
- Projektimport
- Import von Bestelländerungen
- Angebotsanforderungszeilenimport
- Bestandstransaktionen (Belege) Import
- Import von Zahlungsempfängeradressen
- Anforderungsimport
- Import der lieferbaren Verfolgung
- Lieferantenimport
- Lieferantenrisiko-Feed-Import
- Lieferanten-Site-Import
- Steuercode-Import
- Steuercoderegel-Import
- Steuersatzimport
- Steuerreferenz-Import
- Steuerregistrierungsimport
- Import von Treasury-Cashflow-Dateien
- Benutzerimport
- Import von Benutzergruppen
- Lagerortimport
- Import von Service-/Stundennachweisen
-
Flat File (CSV)-Export
- Coupa Core-Anwendung - IP-Adressen
- Alte Formate
- Risk Assess Quick Integration
- Coupa Core User Authentication (SSO)
- The CCW API
- The CSO API