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”
}
]
}
]
}
}