Spendint-API – NACH /sn_spend_intg/Spendint/price

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • 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

    Tabelle : 1. Pfad-Parameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    Modus Unterstützung für asynchrone und synchrone Modi für die Integration von Drittparteien.

    Datentyp: Zeichenfolge

    Gültige Werte:
    • Asynchron: Asynchroner Modus.
    • Synchronisierung: Synchroner Modus.

    Standard: Asynchron

    Tabelle : 3. Anforderungstext-Parameter (XML oder JSON)
    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": {Array},
        "sku": "String"
      }
    ]
    Products.Contract_Agreement Details des Vertrags für ein Produkt.

    Datentyp: Objekt

    "contract_agreement": {
      "contract_end_date": "String",
      "contract_number": "String",
      "contract_start_date": "String",
      "negotiated_currency ": "String",
      "negotiated_price": "String"
    }
    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.

    Tabelle : 4. Anforderungskopfzeilen.
    Header Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/jsonOder application/xml.

    Standard: application/json

    Hinweis:
    Nur die application/jsonDas Datenformat wird für das Beschaffungsintegrations-Framework unterstützt.
    Tabelle : 5. Antwort-Header
    Header Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion.

    Tabelle : 6. Statuscodes
    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”
                        }
                    ]
                }
            ]
        }
    }