Spendint-API
Die Spendint-API bietet Endpunkte, die Katalog-, Preis-, Verfügbarkeits-, Bestell-, Versand- und Rechnungsinformationen von einer Drittpartei an die ServiceNow-Instanz weiterleiten. Diese API ist Teil von Framework für Source-to-Pay-Integration Anwendung.
Diese API erfordert die Store-Anwendung Procurement Integration Framework (com.Glide.sn_spend_intg) und wird in bereitgestellt sn_Ausgaben_intg Namespace. Informationen hierzu finden Sie unter Procurement File Transfer Framework.
Für den Zugriff auf diese API benötigen Sie die Rolle sn_spend_intg.procurement_integrator.
Spendint API - POST /sn_spend_intg/spendint/catalog
Ermöglicht Lieferanten, mehrere Kataloge zum Erstellen von Lieferantenprodukten, Modellprodukten, Verträgen und Preisdatensätzen zu veröffentlichen.
- Erstellen Sie neue Drittpartei-Kategorien und ordnen Sie diese Kategorien Modellkategorien zu.
- Wenn verfügbar, verwenden Sie den United Nations Standard Products and Services Code (UNSPSC) und dann den Kategorienamen.
- Wenn der UNSPSC nicht verfügbar ist, verwenden Sie nur den Kategorienamen.
- Nachdem Sie einer Modellkategorie eine Drittpartei-Kategorie zugeordnet haben, verwenden Sie die Teilenummer des Herstellers (Manufacturer Part Number, MPN) für die Suche nach einem vorhandenen Produktmodell, sofern eines verfügbar ist.
- Wenn ein Produktmodell für die MPN gefunden wird, aktualisieren Sie das Produktmodell mit allen Änderungen und erstellen oder aktualisieren anschließend alle Lieferantenprodukte, die sich auf das Produktmodell beziehen.
- Wenn für die MPN kein Produktmodell vorhanden ist, gehen Sie folgendermaßen vor:
- Eine Produktmodellklasse ist normalerweise für die Modellkategorie verfügbar, auf die die Drittpartei-Kategorie für das Produkt verweist. Verwenden Sie diese Produktmodellklasse, um die Produktmodelltabelle abzurufen, in der das Produktmodell erstellt werden soll, z. B. Hardware, Software, Verbrauchsmaterialien usw. Wenn keine Produktmodellklasse verfügbar ist, erstellen Sie das Produktmodell in der Produktmodell-Basistabelle.
- Nachdem Sie die richtige Produktmodellklasse ermittelt haben, erstellen Sie folgendermaßen ein neues Produktmodell in der richtigen Klasse:
- Hersteller, Herausgeber oder Anbieter sind dem Hersteller im Produktmodell zuzuordnen.
- Der Produktname aus der API muss dem Namen im Produktmodell zugeordnet werden.
- Die MPN aus der API muss die Modellnummer aktualisieren.
- Die Produktbeschreibung aus der API muss die Beschreibung im Produktmodell aktualisieren.
- Die Modellkategorie muss mit der Produktkategorie aktualisiert werden, auf die im Datensatz der Drittpartei-Kategorie verwiesen wird.
- Die Produktkategorie muss mit der Produktkategorie aktualisiert werden, auf die im Datensatz der Drittpartei-Kategorie verwiesen wird.
- Wenn die Ersatzprodukte in der API Werte enthalten, erstellen Sie die Ersatzproduktdatensätze zwischen dem aktuellen Produktmodell und den anderen Produktmodellen.
- Wenn die kompatiblen Produkte in der API Werte enthalten, erstellen Sie die Datensätze der kompatiblen Produkte zwischen dem aktuellen Produktmodell und den anderen Produktmodellen.
- Produktattribute aus der API müssen in der zugehörigen Liste der Produktattribute für das Produktmodell erstellt oder aktualisiert werden.
- Wenn ein Produktmodell verfügbar ist, verwenden Sie die Teilenummer des Lieferanten, um die Lieferantenprodukte zu erstellen oder zu aktualisieren, die sich auf das Produktmodell beziehen.
Drittpartei-Zuordnung
- Drittpartei-Kategorien: Speichert alle Datensätze der Drittpartei-Kategorien für den ShoppingHub-Administrator, um sie den vorhandenen internen Modellkategorien zuzuordnen.
- Drittpartei/Modell-Zuordnungen: Speichert alle Informationen zu Zuordnungen zwischen Produktmodellen und Drittpartei-Modellkategorien.
- Drittpartei-Einheiten: Speichert alle Datensätze von Drittpartei-Einheiten, die der ShoppingHub-Administrator den Produkteinheiten des Lieferanten zuordnen soll.
- Drittpartei/Einheit-Zuordnungen: Speichert alle Informationen zu Zuordnungen zwischen Produktmodellen und Drittpartei-Einheiten.
Verkaufsdaten des Lieferantenprodukts
Ein Lieferantenprodukt wird eingestellt und nicht mehr im Katalog veröffentlicht, wenn es sein Enddatum für den Verkauf erreicht hat. Die Felder Startdatum für Verkauf und Enddatum für Verkauf im Formular „Lieferantenprodukt“ werden durch die Drittpartei-Integration aus der Katalog-API ausgefüllt.
Statustabellen
Um den Status der Anforderung für den Massenimport eines Produkts zu erfahren, führen Sie mithilfe der Tabelle „REST-APIs“ einen REST-Aufruf in der ServiceNow-Datenbank durch. Die Antwort der API listet die Datensätze auf, bei denen die Massenimportanforderung fehlgeschlagen ist. Um die Antwort auf den Massenimport eines Produkts zu erhalten, fragen Sie die Tabelle „Katalogfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/catalog
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| customer_id | Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| catalog_id | Bezeichner für den Kataloginhalt, der von einem Kunden erworben werden kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products | Liste der Objekte, die Produkte zu erstellende oder zu aktualisierende Produkte definieren. Jede Transaktion hat ein Limit von 1.000 Produkten. Datentyp: Array |
| products.available_units | Erforderlich für Produkte, die auf Lager gehalten werden. Dieser Wert gibt die Anzahl der Einheiten an, die für dieses Produkt verfügbar sind. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.available_for_country | Liste mit den Codes der Länder, in denen das Lieferantenprodukt erworben werden kann. Wenn kein Land angegeben ist, kann das Produkt von Benutzern aus beliebigen Ländern erworben werden. Datentyp: Array |
| products.bundled_components | Gilt nur für Szenarien, in denen ein Produktpaket als Teil der Katalognutzlast gesendet wird, und gilt nur für die Nutzlasten des übergeordneten Pakets. Dieser Wert enthält den Verweis auf die untergeordneten Paketkomponenten. Hier werden die Liste der Herstellerteilenummern und die Mengen für die untergeordneten Paketkomponenten verwaltet. Hinweis: Die untergeordneten Paketkomponenten und ihre Details (Herstellerteilenummern und Mengen) sind demselben Lieferanten zuzuordnen.Da dieselbe untergeordnete Paketkomponente innerhalb eines Pakets mehrmals hinzugefügt werden kann, ist die eingegebene Menge das Unterscheidungsmerkmal zwischen identischen untergeordneten Paketkomponenten. Datentyp: Array |
| products.contract_agreement | Details des Vertrags für ein Produkt. Hinweis:
Dies ist für untergeordnete Paketkomponenten nicht erforderlich. Datentyp: Objekt |
| products.contract_agreement.contract_end_date | Datum, an dem die Vertragslaufzeit endet. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| products.contract_agreement.contract_number | Erforderlich. Nummer des aktiven Vertrags, der dem Produkt zugeordnet ist. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.contract_agreement.contract_start_date | Datum, an dem die Vertragslaufzeit beginnt. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| products.contract_agreement.negotiated_currency | Erforderlich. Währung des ausgehandelten Preises. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.contract_agreement.negotiated_price | Erforderlich. Stückpreis eines Produkts, wie vertraglich mit dem Lieferanten oder Reseller ausgehandelt. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.delivery_time | Geschätzte Anzahl der Tage, die der Versand eines Produkts an einen Kunden dauert. Dieser Wert muss der Anzahl an Tagen entsprechen und eine ganze Zahl sein. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.images | Liste der Zeichenfolgen, die die Bild-URLs für das Lieferantenprodukt angeben. Datentyp: Array |
| products.manufacturer | Erforderlich. Unternehmen, das das Produkt herstellt, veröffentlicht oder bereitstellt. Dies ist nicht der Lieferant oder Reseller des Produkts. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.mpn | Erforderlich. Bezeichner für ein Produkt, der vom Hersteller, Herausgeber oder Anbieter bereitgestellt wird. Hinweis:
Dies ist für übergeordnete Reseller-Pakete nicht erforderlich, wenn der SKU-Wert verfügbar ist. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.parent_bundle | Gilt nur für Szenarien, in denen ein Produktpaket als Teil der Katalognutzlast gesendet wird, und gilt nur für die Nutzlasten der untergeordneten Paketkomponente. Bei einer untergeordneten Paketkomponente wird hier der Verweis auf das übergeordnete Element beibehalten. Der übergeordnete MPN- und der übergeordnete SKU-Wert werden hier ebenfalls festgelegt. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.product_attributes | Liste der Schlüssel/Wert-Paare, die Produktattribute definieren, z. B. „Farbe“: „Space Grey“. Für jedes Produkt sind jeweils mehrere Attribute zulässig. Über die API sollten jedoch nur die Attribute bereitgestellt werden, die sich auf die Preisgestaltung oder die Lagerverfügbarkeit auswirken.Datentyp: Objekt |
| products.product_category_name | Erforderlich. Name, den Sie eingeben, wenn Sie die Eigenschaft unspsc nicht festlegen. Dieser Name entspricht der Kategorie, zu der ein Produkt gehört. Dieser Kategoriename kann in einem Commerce-Szenario verwendet werden, um das Produkt zu kaufen. Zum Beispiel könnte das Produkt „Steckdosenleiste“ zu einer Kategorie „Büroausstattung“ gehören. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.product_description | Vollständige Beschreibung des Produkts, die dem Käufer in einer Einkaufs-Experience angezeigt wird. Hinweis:
Der Lieferant sollte das Produkt hier so genau wie möglich beschreiben, insbesondere, wenn es sich bei den Katalogelementen um Produktpakete handelt, für die untergeordnete Paketkomponenten verfügbar sind. Datentyp: Zeichenfolge Maximale Länge: 65.000 |
| products.product_name | Erforderlich. Name des Produkts. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| products.sku | Erforderlich. Nummer, die von einem Lieferanten generiert wird und ein Produkt eindeutig identifiziert, das von diesem Lieferanten verkauft wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.unit | Erforderlich. Einheit oder Tarif für den Verkauf dieses Produktes durch den Lieferanten. Beispiele: Stücke, Stunden usw. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.unspsc | Erforderlich. Bezeichner, den Sie eingeben, wenn Sie die Eigenschaft product_category_name nicht festlegen. Dieser Bezeichner entspricht dem UNSPSC für die Kategorie, zu der ein Produkt gehört. Zum Beispiel ist der UNSPSC-Code 43210000 der Bezeichner für die Produktkategorie „Computer“. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach SKU, MPN und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/catalog" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP-12347898",
"supplier_id": "SUP-123456",
"third_party_import_id": "DELL1234567",
"products": [
{
"product_name": "Apple MacBook Pro 13 Core i7",
"mpn": "Z0WQ-20004301931",
"sku": "55788741",
"manufacturer": "Apple",
"product_category_name": "Computer",
"parent_bundle": "920-0045362002",
"bundled_components": {
"mpn": "Z0WQ-20004301931",
"quantity": "4",
},
"unspsc": "43211500",
"product_description": "Apple MacBook Pro 13 Core i7 2.8GHz 16GB 512GB - Touch Bar - Space Gray",
"product_attributes": {
"Color": "Space Grey",
"RAM": "16GB",
"Screen Size": "13inch"
},
"images": ["http://test123.image1.png", "http://test123.image2.jpeg"],
"unit": "Each",
"available_units": "4",
"available_for_country": ["US","IN","GB"],
"delivery_time": "4",
"contract_agreement": {
"contract_number": "34567892",
"contract_start_date": "YYYY-MM-DD",
"contract_end_date": "YYYY-MM-DD",
"negotiated_price": "456",
"negotiated_currency ": "USD"
}
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DELL1234567",
"status_code": "failure",
"error_response_body": [
{
"sku": "55788741",
"mpn": "Z0WQ-20004301931",
"error_message": "Field Value empty/Formatting issue Negotiated currency \n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spendint/price
Aktualisiert alle Preise für Lieferantenproduktdatensätze.
Wenn die Preisgestaltung für Lieferantenproduktdatensätze verfügbar ist, verwendet die API die Produkt-SKU für die Suche nach einem vorhandenen Lieferantenprodukt. Wenn ein passendes Lieferantenprodukt vorhanden ist, wird der entsprechende Vertragspreis aktualisiert. Wenn kein passendes Lieferantenprodukt gefunden wird, wird eine Fehlermeldung generiert, die besagt, dass das Produkt, für das Sie die Preisgestaltung aktualisieren möchten, nicht vorhanden ist.
Statustabellen
Um den Status der Preisimportanforderung zu erfahren, führen Sie in der ServiceNow-Datenbank mit der Tabelle „REST-APIs“ einen REST-Aufruf durch. Die Antwort der API listet die Datensätze auf, bei denen die Preisimportanforderung fehlgeschlagen ist. Fragen Sie für die Antwort auf einen Preisimport die Tabelle „Preisfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Details zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/price
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| catalog_id | Erforderlich. Bezeichner für den Kataloginhalt, der von einem Kunden erworben werden kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| customer_id | Erforderlich. Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products | Liste der Objekte, die Produkte zu erstellende oder zu aktualisierende Produkte definieren. Jede Transaktion hat ein Limit von 1.000 Produkten. Datentyp: Array |
| products.contract_agreement | Details des Vertrags für ein Produkt. Datentyp: Objekt |
| products.contract_agreement.contract_end_date | Datum, an dem die Vertragslaufzeit endet. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| products.contract_agreement.contract_number | Erforderlich. Nummer des aktiven Vertrags, der dem Produkt zugeordnet ist. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.contract_agreement.contract_start_date | Datum, an dem die Vertragslaufzeit beginnt. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| products.contract_agreement.negotiated_currency | Erforderlich. Währung des ausgehandelten Preises. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.contract_agreement.negotiated_price | Erforderlich. Stückpreis eines Produkts, wie vertraglich mit dem Lieferanten oder Reseller ausgehandelt. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.sku | Erforderlich. Nummer, die von einem Lieferanten generiert wird und ein Produkt eindeutig identifiziert, das von diesem Lieferanten verkauft wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach SKU und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/price" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "ACME CORP",
"catalog_id": "AB-1234323",
"supplier_id": "SUP-123456",
“third_party_import_id”: “DEL789876",
"products": [
{
"sku": "5578874",
"contract_agreement": {
"contract_number": "34567892",
"contract_start_date": "YYYY-MM-DD",
"contract_end_date": "YYYY-MM-DD",
"negotiated_price": "456",
"negotiated_currency ": "USD"
}
}
]
}
]}
Mögliche Antworten:
// Success response:
{
“result”: {
“response”: “success”
}
}
// Error response:
{
“result”: {
“response”: [
{
“customer_id”: “ACME CORP”,
“supplier_id”: “SUP-123456”,
“third_party_import_id”: “DEL789876",
“status_code”: “failure”,
“error_response_body”: [
{
“sku”: “5578874”,
“error_message”: “The product for which you are trying to update pricing does not exist\nField Value empty/Formatting issue Negotiated currency\nField Value empty/Formatting issue Contract start date\nField Value empty/Formatting issue Contract end date\n”
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spendint/availability
Aktualisiert die Verfügbarkeit für Lieferantenproduktdatensätze.
Wenn Lieferantenproduktdatensätze verfügbar sind, verwendet die API die Produkt-SKU für die Suche nach einem vorhandenen Lieferantenprodukt. Wenn ein passendes Lieferantenprodukt vorhanden ist, wird das entsprechende Feld available_units aktualisiert. Wenn kein passendes Lieferantenprodukt gefunden wird, wird eine Fehlermeldung generiert, die besagt, dass das Produkt, für das Sie die Verfügbarkeit aktualisieren möchten, nicht vorhanden ist.
Statustabellen
Um den Status der Anforderung zum Aktualisieren der Verfügbarkeit zu erfahren, führen Sie mit der Tabelle „REST-APIs“ einen REST-Aufruf in der ServiceNow-Datenbank durch. Die Antwort der API listet die Datensätze auf, bei denen die Anforderung zum Aktualisieren der Verfügbarkeit fehlgeschlagen ist. Um eine Antwort zur Aktualisierung der Verfügbarkeit zu erhalten, fragen Sie die Tabelle „Verfügbarkeitsfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Die Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/availability
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| catalog_id | Erforderlich. Bezeichner für den Kataloginhalt, der von einem Kunden erworben werden kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| customer_id | Erforderlich. Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products | Liste der Objekte, die die zu aktualisierenden Produkte definieren. Jede Transaktion hat ein Limit von 1.000 Produkten. Datentyp: Array |
| products.available_units | Erforderlich für Produkte, die auf Lager gehalten werden. Anzahl der für dieses Produkt verfügbaren Einheiten. Datentyp: Zeichenfolge Maximale Länge: 40 |
| products.sku | Erforderlich. Nummer, die von einem Lieferanten generiert wird und ein Produkt eindeutig identifiziert, das von diesem Lieferanten verkauft wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| products.unit | Erforderlich. Einheit oder Tarif für den Verkauf dieses Produktes durch den Lieferanten. Beispiele: Stücke, Stunden usw. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_id | Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Ermöglicht einer Drittpartei, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach SKU und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.servicenow.com/api/sn_spend_intg/spendint/availability" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"products": [
{
"sku": "5578874",
"unit": "Each",
"available_units": "20"
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
Error response:
{
"result": {
"response": [
{
"customer_id": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"status_code": "failure",
"error_response_body": [
{
"sku": "5578874",
"error_message": "The product for which you are trying to update availability does not exist\nField Value empty/Formatting issue Unit\n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spendint/orderack
Aktualisiert Bestellinformationen für den Fall, dass ein Benutzer ein Produkt aus einem Drittpartei-Katalog kauft. Wenn der Benutzer den Bezahlvorgang durchführt, wird eine Bestellposition erstellt, damit Genehmigungen und andere Aufgaben für den Kauf abgeschlossen werden können.
- Ausgehende Bestellung: Enthält den Auftragsheader.
- Ausgehende Bestellposition: Enthält die Auftragspositionen.
Lieferanten müssen diese Tabellen abfragen und die für sie ausstehenden Bestellungen abrufen. Lieferanten sollten eine bereichsbezogene App für Workflow-Studio-Aktionen erstellen, um die Integration mit der ServiceNow-Datenbank durchzuführen.
sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20 for headersysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20 for header
- Die Bestellung und die Bestellposition werden ggf. an Enterprise Resource Planning (ERP) übermittelt.
- Die Bestellung und die Bestellposition werden mit der Kunden-ID, der Lieferanten-ID, die Kaufauftragsnummer, dem Bestelldatum, dem Bestellbetrag, der Bestellbetragwährung und den Bestellpositionen über die Integration an die Drittpartei übertragen.
- Die Bestellung und die Bestellposition verbleiben im Status „Ausstehende Übermittlung“, bis sowohl von der Drittpartei-Katalogintegration als auch von ERP eine Bestätigungsnachricht eingeht. Nachdem die Bestätigung eingegangen ist, wird der Status in „Bestellt“ aktualisiert. Wenn keine ERP-Integration beteiligt ist, ist eine Bestätigungsnachricht nur von der Drittpartei-Integration erforderlich.
Statustabellen
Um den Status der Anforderung zur Auftragsbestätigung zu erfahren, führen Sie in der ServiceNow-Datenbank mit der Tabelle „REST-APIs“ einen REST-Aufruf durch. Die Antwort der API listet die Datensätze auf, bei denen die Anforderung zur Auftragsbestätigung fehlgeschlagen ist. Um eine Auftragsbestätigungsantwort zu erhalten, fragen Sie die Tabelle „Auftragsbestätigungsfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Die Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/orderack
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| customer_id | Erforderlich. Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| order_number | Erforderlich. Bestellnummer, die der Kunde für diesen Auftrag angegeben hat. Datentyp: Zeichenfolge Maximale Länge: 40 |
| sales_order_lines | Liste der Objekte, die die Kundenauftragspositionen mit eindeutigen Aktualisierungen für die Käufe in diesem Auftrag definieren. Datentyp: Array |
| sales_order_lines.estimated_arrival_date | Voraussichtliches Ankunftsdatum der Bestellung. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| sales_order_lines.line_number | Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wurde. Datentyp: Zeichenfolge Maximale Länge: 40 |
| sales_order_lines.sales_order_line_number | Verkaufsauftragspositionsnummer, die vom Lieferanten generiert wurde. Diese Nummer ist nur für Überarbeitungen dieses Kaufs erforderlich. Datentyp: Zeichenfolge Maximale Länge: 40 |
| sales_order_number | Nummer oder Wert, die/der vom Lieferanten für diesen Auftrag generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| status_code | Erforderlich. Status des übermittelten Auftrags, der bestätigt, ob der Auftrag erfolgreich erteilt wurde. Datentyp: Zeichenfolge Gültige Werte:
|
| status_message | Nachricht, die an einen Statuscode angehängt ist. Beispielsweise könnte die Nachricht lauten, dass der Auftrag erfolgreich erteilt wurde und im Lieferrückstand ist. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach Verkaufsauftragsnummer, Verkaufsauftragspositionsnummer und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/orderack" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"order_number": "PO08903323",
"sales_order_number": "SO03323212",
"status_code": "CONFIRMED",
"status_message": "BACKORDERED",
"sales_order_lines":[
{
"line_number": "POL6789876",
"sales_order_line_number": "SOL5678909",
"estimated_arrival_date": "YYYY-MM-DD"
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_number": "SO03323212",
"sales_order_line_number": "SOL5678909",
"error_message": "Field Value empty/Formatting issue Purchase order number\nField Value empty/Formatting issue Purchase order line number\n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spendint/shipment
Verwenden Sie diesen Endpunkt, um Updates für Käufe von Drittparteien zu akzeptieren.
Statustabellen
Um den Status der Versandanforderung zu erfahren, führen Sie in der ServiceNow-Datenbank mit der Tabelle „REST-APIs“ einen REST-Aufruf durch. Die Antwort der API listet die Datensätze auf, bei denen die Versandaktualisierung fehlgeschlagen ist. Um eine Versandantwort zu erhalten, fragen Sie die Tabelle „Versandfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Die Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/shipment
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| customer_id | Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| order_number | Erforderlich. Kaufauftragsnummer, die der Kunde für diese Bestellung angegeben hat. Datentyp: Zeichenfolge Maximale Länge: 40 |
| sales_order_number | Erforderlich. Nummer oder Wert, die/der vom Lieferanten für diesen Auftrag generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines | Liste der Versandpositionen, die die Seriennummer, IMEI-Nummer und Asset-Tag-Details der Assets enthalten kann. Datentyp: Array |
| shipment_lines.actual_shipment_date | Datum, an dem die Sendung den Standort des Lieferanten verlässt. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| shipment_lines.estimated_arrival_date | Datum, an dem die Sendung voraussichtlich am angegebenen Standort ankommt. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| shipment_lines.line_number | Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines.planned_shipment_date | Datum, an dem die Sendung den Standort des Lieferanten verlassen soll. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| shipment_lines.product_details | Liste der Objekte, die die Details zu den verschickten Produkten definieren. Zu den Optionen gehören die Seriennummer, die IMEI-Nummer und Asset-Tag-Details. Datentyp: Array |
| shipment_lines.product_details.asset_tag | Asset-Tag des verschickten Produkts. Datentyp: Zeichenfolge Maximale Länge: 100 |
| shipment_lines.product_details.imei | IMEI-Nummer des verschickten Produkts. Datentyp: Zeichenfolge Maximale Länge: 100 |
| shipment_lines.product_details.serial_number | Erforderlich. Seriennummer des verschickten Produkts. Datentyp: Zeichenfolge Maximale Länge: 100 |
| shipment_lines.sales_order_line_number | Verkaufsauftragspositionsnummer, die vom Lieferanten generiert wird. Diese Nummer ist nur für Überarbeitungen dieses Kaufs erforderlich. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines.shipping_address | Adresse, an die die Produkte geliefert werden. Datentyp: Objekt |
| shipment_lines.shipping_address.city | Name der Stadt, an die die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| shipment_lines.shipping_address.country | Land, an das die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines.shipping_address.name | Name des Kunden, an den die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| shipment_lines.shipping_address.state | Bundesland, an das die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| shipment_lines.shipping_address.street | Name der Straße, an die die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| shipment_lines.shipping_address.zip_code | Postleitzahl oder PIN-Code, an die bzw. den die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines.shipment_quantity | Erforderlich. Anzahl der Produkte, die als physische Waren versendet werden. Die Nummer sollte die Menge der Produkte bezeichnen, die in der Sendung enthalten sind. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipment_lines.shipping_carrier | Versandunternehmen, das das Produkt an den angegebenen Standort liefert, z. B. FedEx, UPS, USPS etc. Datentyp: Zeichenfolge Maximale Länge: 100 |
| shipment_lines.ship_to | Name des Empfängers, an den die Produkte geliefert werden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| shipment_lines.tracking_number | Nachverfolgungsnummer, die vom Versandunternehmen für den gesamten Kauf oder für einen Teil des Kaufs angegeben wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_shipment_number | Erforderlich. Identifikationsnummer, die für diesen Versand generiert wird. Normalerweise wird diese Nummer von einem ERP- (Enterprise Resource Planning) oder Auftragsverfolgungssystem generiert. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach Verkaufsauftragspositionsnummer, Verkaufsauftragsnummer, Versandnummer des Lieferanten und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/shipment" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id" : "ACME CORP",
"supplier_id" : "SUP-123456",
"third_party_import_id": "DEL2134324",
"supplier_shipment_number" : "TN-YU67898723",
"order_number": "PO0001002",
"sales_order_number": "SO00223002",
"shipment_lines": [
{
"line_number": "POL0001005",
"sales_order_line_number": "SOL0231325",
"shipment_quantity": "4",
"shipping_carrier": "FedEx",
"tracking_number": "E-901290092",
"shipping_address":
{
"name" : "1640 Camino Del Rio North #202, San Diego,CA",
"street" : "1640 Camino Del Rio North",
"city" : "San Diego",
"state" : "CA",
"zip_code" : "92108-1512",
"country" : "US"
},
"ship_to": "John doe",
"planned_shipment_date": "YYYY-MM-DD",
"actual_shipment_date": "YYYY-MM-DD",
"estimated_arrival_date": "YYYY-MM-DD",
"product_details": [
{
"serial_number": "FL1234-23242319001",
"imei": "2134890294",
"asset_tag": ""
},{
"serial_number": "FL1234-23242319110",
"imei": "245499003",
"asset_tag": ""
}
]
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL2134324",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL0231325",
"sales_order_number": "SO00223002",
"supplier_shipment_number": "TN-YU67898723",
"error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spendint/invoice
Akzeptiert Rechnungen von Drittanbietern.
Wenn sich die Bestellung und Bestellpositionen im Status „Ausstehende Übermittlung“ befinden und die Kundenaufträge und Kundenauftragspositionen nicht ausgefüllt sind, sind der Versand und die Rechnungsübermittlung durch den externen Reseller nicht zulässig. Dies ist nur zulässig, wenn der Status der Bestellung und der Bestellpositionen „Bestellt“ lautet. Außerdem gibt es keine Einschränkungen bezüglich der Abfolge von Versand und Rechnungsübermitlung.
- Auf Lieferung wartend: Wenn keine Belege vorhanden sind, wurde entweder die Bestellung teilweise geliefert oder die Rechnung muss genehmigt werden.
- Rechnung bestätigt: Wenn die Bestellung geliefert wurde und der Rechnungsbetrag mit dem Gesamtbetrag der Bestellung übereinstimmt.
- Überprüfung erforderlich: Wenn die Bestellung geliefert wurde und der Rechnungsbetrag nicht mit dem Gesamtbetrag der Bestellung übereinstimmt.
Wenn eine gültige Rechnung für eine Position gebucht wird, kann dieselbe Rechnung nicht aktualisiert werden.
Wenn die vorgelegte Rechnung keine Kaufauftragsnummer enthält, wird die Rechnung abgelehnt und Sie erhalten eine Fehlermeldung, die besagt, dass eine oder mehrere der vorgelegten Rechnungen keine Kaufauftragsnummer haben. Wenn die vorgelegte Rechnung eine Kaufauftragsnummer hat, diese aber nicht mit der Bestellung übereinstimmt oder keine Bestellung vorhanden ist, wird eine Fehlermeldung angezeigt. Die Meldung besagt, dass für eine oder mehrere Rechnungen keine Bestellung vorhanden ist, die der Bestellnummer der Rechnung entspricht. Außerdem wird die Rechnung abgelehnt, wenn der vom Drittpartei-Reseller übermittelte Rechnungsbetrag nicht mit dem in Rechnung gestellten Betrag übereinstimmt.
Statustabellen
Um den Status der Rechnungsanforderung zu erfahren, führen Sie in der ServiceNow-Datenbank mit der Tabelle „REST-APIs“ einen REST-Aufruf durch. Die Antwort der API listet die Datensätze auf, bei denen die Rechnungserstellung fehlgeschlagen ist. Um eine Antwort für die Rechnung zu erhalten, fragen Sie die Tabelle „Rechnungsfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Die Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/invoice
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| currency | Erforderlich. Währung für die Zwischensumme, die Steuern und den Versand. Die Zwischensumme, die Steuern und der Versand müssen in derselben Währung angegeben sein. Datentyp: Zeichenfolge Maximale Länge: 40 |
| customer_id | Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| discounts | Rabatte, die auf die Rechnung angewendet werden. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| invoice_date | Erforderlich. Datum, an dem dem Kunden eine Rechnung ausgestellt wurde. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| invoice_lines | Liste der Objekte, die die Positionen definieren, die für Käufe in dieser Bestellung in Rechnung gestellt werden. Datentyp: Array |
| invoice_lines.invoiced_line_amount | Erforderlich. Gesamtkosten (ohne Steuern und Versand), die einem Kunden für eine bestimmte Bestellposition in Rechnung gestellt werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.invoiced_quantity | Erforderlich. Menge der Waren oder Dienstleistungen, die einem Kunden in Rechnung gestellt wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.line_number | Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.sales_order_line_number | Erforderlich. Verkaufsauftragspositionsnummer, die vom Lieferanten generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.supplier_invoice_line_number | Erforderlich. Identifikationsnummer, die von einem Lieferanten für diese Rechnungsposition generiert wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| other_charges | Andere zusätzliche Gebühren, die der Rechnung zugeordnet sind. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| order_number | Erforderlich. Kaufauftragsnummer, die der Kunde für diese Bestellung angegeben hat. Datentyp: Zeichenfolge Maximale Länge: 40 |
| remit_to_address | Erforderlich. Standort, an den eine Zahlung ergeht. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| sales_order_number | Erforderlich. Nummer oder Wert, die/der vom Lieferanten für diesen Auftrag generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipping | Erforderlich. Gesamtversandkosten für den gesamten Kauf. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Zwischensumme | Erforderlich. Gesamtbetrag des an den Lieferanten zu zahlenden Geldbetrags ohne Steuern und Versandkosten. Datentyp: Zeichenfolge Maximale Länge: 40 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_invoice_number | Erforderlich. Identifikationsnummer, die von einem Lieferanten für diese Rechnung generiert wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_tax_id | Steuerbezeichner, der dem Drittpartei-Reseller zugeordnet ist. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| tax | Erforderlich. Gesamtbetrag der Steuern, die für den Kauf in Rechnung gestellt werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| tax_rate | Steuersatz in Prozent, der für den Auftrag angewendet wird. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
| total_amount_invoiced | Erforderlich. Gesamtbetrag des an den Lieferanten zu zahlenden Geldbetrags, einschließlich Steuern und Versandkosten. Datentyp: Zeichenfolge Maximale Länge: 40 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach Verkaufsauftragspositionsnummer, Verkaufsauftragsnummer, Lieferantenrechnungsnummer, Lieferantenrechnungspositionsnummer und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/invoice" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"supplier_invoice_number": "QAAP89873220071",
"supplier_tax_id": "TIN000000",
"order_number": "POL7987633",
"sales_order_number": "SO0000000081",
"invoice_date": "YYYY-MM-DD",
"subtotal": "6000",
"tax_rate": "10%",
"tax": "600",
"shipping": "120",
"other_charges": "100",
"discounts": "200",
"total_amount_invoiced": "6620",
"remit_to_address": "1640 Camino Del Rio North #202, San Diego,CA",
"currency": "USD",
"invoice_lines": [
{
"supplier_invoice_line_number": "QA789A867877ABN32251",
"line_number": "POL587667",
"sales_order_line_number": "SOL00000081",
"invoiced_quantity": "45",
"invoiced_line_amount": "4000"
},
{
"line_number": "POL587668",
"supplier_invoice_line_number": "78987323",
"sales_order_line_number": "SOL98769",
"invoiced_quantity": "12",
"invoiced_line_amount": "2000"
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL00000081",
"sales_order_number": "SO0000000081",
"supplier_invoice_number": "QAAP89873220071",
"supplier_invoice_line_number": "QA789A867877ABN32251",
"error_message": "The invoice do not have a corresponding purchase order which matches the purchase order number of the invoice provided\n"
}
]
}
]
}
}