Spendint-API – NACH /sn_spend_intg/Spendint/price
Aktualisiert alle Preise für Lieferantenproduktdatensätze.
Wenn Preise für Lieferantenproduktdatensätze verfügbar sind, verwendet die API die Produkt-SKU, um ein vorhandenes Lieferantenprodukt zu finden. Wenn ein übereinstimmendes Lieferantenprodukt vorhanden ist, wird der entsprechende Vertragspreis aktualisiert. Wenn kein übereinstimmendes Lieferantenprodukt gefunden wird, wird eine Fehlermeldung generiert, die angibt, dass das Produkt, für das Sie die Preise aktualisieren möchten, nicht vorhanden ist.
Statustabellen
Um den Status der Preisimportanforderung zu erfahren, führen Sie einen REST-Aufruf in durch ServiceNowDatenbank, die verwendet Tabelle REST-API. Die Antwort der API listet die Datensätze auf, bei denen die Preisimportanforderung fehlgeschlagen ist. Um eine Preisimportantwort zu erhalten, fragen Sie die Tabelle „Preisfehler“ mit dem folgenden Parameter ab:
Sysparm_query=outbound_error.Supplier_ID=<supplier_id>^outbound_error.State=20
Sie finden die Details zur Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Importsatz-ID und Status 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 für asynchrone und synchrone Modi für die Integration von Drittparteien. Datentyp: Zeichenfolge Gültige Werte:
Standard: Asynchron |
| 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 von Objekten, die Produkte definieren, die erstellt oder aktualisiert werden sollen. Jede Transaktion hat ein Limit von 1000 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 Vertragsbedingung 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.closed_currency | Erforderlich. Währung des ausgehandelten Preises. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Products.Contract_Agreement.closed_price | Erforderlich. Stückpreis eines Produkts, wie durch einen Vertrag mit dem Lieferanten oder Wiederverkäufer ausgehandelt. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Produkte.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 Händler oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, mit dem eine Drittpartei einen Zeichenfolgenwert übergeben kann, 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 werden auf diese Aktion in einer bestimmten Weise angewendet.
| Header | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/jsonOder application/xml. Standard: application/json |
| Header | 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. |
Antworttext-Parameter (JSON)
Diese Antworttextparameter werden empfangen, wenn sie im synchronen Modus abgefragt werden.| Name | Beschreibung |
|---|---|
| Error_response_body | Beschreibung der Fehler, aufgeführt 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”
}
]
}
]
}
}