Spendint-API – /sn_spend_intg/Spendint/catalog VERÖFFENTLICHEN

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 7 Minuten Lesedauer
  • Ermöglicht Lieferanten das Veröffentlichen mehrerer Kataloge zum Erstellen von Lieferantenprodukten, Modellprodukten, Verträgen und Preisdatensätzen.

    In Katalog API-Integration: Wenn Sie Daten aus einem Drittparteikatalog erhalten, können Sie:
    1. Erstellen Sie neue Drittparteikategorien, und ordnen Sie diese Kategorien Modellkategorien zu.
      • Falls verfügbar, verwenden Sie den Standardcode der Vereinten Nationen für Produkte und Services (UNSPSC) und dann den Kategorienamen.
      • Wenn UNSPSC nicht verfügbar ist, verwenden Sie nur den Kategorienamen.
    2. Nachdem Sie eine Drittparteikategorie einer Modellkategorie zugeordnet haben, verwenden Sie die Herstellerteilenummer (MPN), um ein vorhandenes Produktmodell zu finden, falls eines verfügbar ist.
      1. Wenn ein Produktmodell für die MPN gefunden wird, aktualisieren Sie das Produktmodell mit allen Änderungen, und erstellen oder aktualisieren Sie dann alle Lieferantenprodukte, die sich auf das Produktmodell beziehen.
      2. Wenn für die MPN kein Produktmodell vorhanden ist, gehen Sie wie folgt vor:
        1. Eine Produktmodellklasse ist normalerweise in der Modellkategorie verfügbar, auf die die Drittparteikategorie für das Produkt verweist. Verwenden Sie diese Produktmodellklasse, um die Produktmodelltabelle abzurufen, in der das Produktmodell erstellt werden soll, z. B. Hardware, Software, Verbrauchsgüter und so weiter. Wenn keine Produktmodellklasse verfügbar ist, erstellen Sie das Produktmodell in der Basisproduktmodelltabelle.
        2. Nachdem die richtige Produktmodellklasse identifiziert wurde, erstellen Sie wie folgt ein neues Produktmodell in der richtigen Klasse:
          • Hersteller, Herausgeber oder Anbieter müssen dem Hersteller im Produktmodell zugeordnet werden.
          • Der Produktname aus der API muss dem Namen im Produktmodell zugeordnet werden.
          • 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 kompatiblen Produktdatensätze zwischen dem aktuellen Produktmodell und den anderen Produktmodellen.
          • Produktattribute aus der API müssen in der zugehörigen Liste „Produktattribute“ für das Produktmodell erstellt oder aktualisiert werden.
    3. 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

    Verwenden Sie die folgenden Tabellen, um die Zuordnungen von Drittpartei-Kategorien, -Modellen und -Einheiten durchzuführen:
    • Drittparteikategorien: Speichert alle Drittparteikategoriedatensätze für den ShoppingHub-Administrator, um sie internen vorhandenen Modellkategorien zuzuordnen.
    • Drittpartei-Modellzuordnungen: Speichert alle Zuordnungsinformationen zwischen Produktmodellen und Drittpartei-Modellkategorien.
    • Drittpartei-Einheiten: Speichert alle Drittpartei-Einheitsdatensätze für den ShoppingHub-Administrator, um sie den Produkteinheiten des Lieferanten zuzuordnen.
    • Zuordnungen von Drittpartei-Einheiten: Speichert alle Zuordnungsinformationen zwischen Produktmodellen und Drittpartei-Einheiten.
    Hinweis:
    Ein Drittpartei-Integrationsprodukt wird automatisch veröffentlicht, wenn sowohl die Drittparteikategorie als auch die Drittparteieinheit ordnungsgemäß zugeordnet sind.

    Verkaufsdaten des Lieferantenprodukts

    Ein Lieferantenprodukt wird eingestellt und nicht mehr im Katalog veröffentlicht, wenn es sein Verkaufsenddatum erreicht hat. Die Startdatum des Vertriebs Und Verkaufsenddatum Felder im Formular „Lieferantenprodukt“ werden über die Drittpartei-Integration aus ausgefüllt Katalog API.

    Statustabellen

    Um den Status der Massenproduktimportanforderung 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 Massenimportanforderung fehlgeschlagen ist. Für die Antwort auf Massenproduktimport fragen Sie die Katalogfehlertabelle mit dem folgenden Parameter ab:

    Sysparm_query=outbound_error.Supplier_ID=<supplier_id>^outbound_error.State=20

    Details zur Kunden-ID, Lieferanten-ID, zum Fehlertyp, zur eindeutigen Importsatz-ID und zum Status finden Sie in der Tabelle „ausgehender Status“, der übergeordneten Fehlertabelle.

    URL-Format

    /api/sn_spend_intg/spendint/catalog

    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
    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 von Objekten, die Produkte definieren, die erstellt oder aktualisiert werden sollen. Jede Transaktion hat ein Limit von 1000 Produkten.

    Datentyp: Array

    "products": [
      {
        "available_units": "String",
        "available_for_country": [Array],
        "bundled_components": [Array],
        "contract_agreement": {Object},
        "delivery_time": "String",
        "images": [Array],
        "manufacturer": "String",
        "mpn": "String",
        "parent_bundle": "String",
        "product_attributes": {Object},
        "product_category_name": "String",
        "product_description": "String",
        "product_name": "String",
        "sku": "String",
        "unit": "String",
        "unspsc": "String",
      }
    ]
    Products.available_units Erforderlich für Produkte, die auf Lager gehalten werden. Dieser Wert gibt die Menge der Einheiten an, die für dieses Produkt verfügbar sind.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Products.available_for_Country Liste der Ländercodes, in denen das Lieferantenprodukt gekauft werden kann. Wenn kein Land angegeben ist, kann ein Anwender aus einem beliebigen Land das Produkt kaufen.

    Datentyp: Array

    "available_for_country": ["US","IN","GB"]
    Products.Bundled_components Gilt nur für Szenarien beim Senden eines Produktpakets als Teil der Katalog-Nutzlast und gilt nur für die Nutzlasten des übergeordneten Pakets. Dieser Wert enthält den Verweis auf die untergeordneten Paketkomponenten. Die Liste der MPN und Mengen für die untergeordneten Paketkomponenten werden hier verwaltet.
    Hinweis:
    Da dieselbe untergeordnete Paketkomponente innerhalb eines Pakets mehrmals hinzugefügt werden kann, ist die eingegebene Menge das Unterscheidungsmerkmal zwischen denselben untergeordneten Paketkomponenten.
    Die untergeordneten Paketkomponenten und ihre Details (MPN und Mengen) müssen demselben Lieferanten zugeordnet werden.

    Datentyp: Array

    "bundled_components": [
      {
        "mpn": "String",
        "quantity": "String"
      }
    ]
    Products.Contract_Agreement Details des Vertrags für ein Produkt.
    Hinweis:
    Dies ist für untergeordnete Bündelkomponenten nicht erforderlich.

    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

    products.delivery_time Geschätzte Anzahl der Tage, die für den Versand eines Produkts an den Kunden erforderlich sind. Dieser Wert muss die Anzahl der Tage darstellen und eine ganze Ganzzahl sein.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Produkte.Bilder Liste der Zeichenfolgen, die die Bild-URLs für das Lieferantenprodukt angeben.

    Datentyp: Array

    Produkte.Hersteller Erforderlich. Unternehmen, das das Produkt herstellt, veröffentlicht oder bereitstellt. Dies ist nicht der Lieferant oder Wiederverkäufer des Produkts.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    Produkte.mpn Erforderlich. Bezeichner für ein Produkt, das vom Hersteller, Herausgeber oder Anbieter bereitgestellt wird.
    Hinweis:
    Dies ist für übergeordnete Händlerpakete nicht erforderlich, wenn der SKU-Wert verfügbar ist.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    Products.parent_Bundle Gilt nur für Szenarien beim Senden eines Produktpakets als Teil der Katalognutzlast und gilt nur für die Nutzlasten der untergeordneten Paketkomponente. Im Falle einer untergeordneten Bündelkomponente wird hier der Verweis auf das übergeordnete Element beibehalten. Die übergeordneten MPN- und SKU-Werte werden ebenfalls hier festgelegt.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    products.product_attributes Liste der Schlüssel-Wert-Paare, die Produktattribute definieren, z. B. „Farbe“: „Leerzeichen Grau“ . Mehrere Attribute für ein Produkt sind zulässig. Allerdings sollten nur die Attribute, die sich auf die Preisgestaltung oder Lagerverfügbarkeit auswirken, über die API bereitgestellt werden.

    Datentyp: Objekt

    products.product_category_name Erforderlich. Name, den Sie eingeben, wenn Sie nicht festlegen unspscEigenschaft. Dieser Name ist die Kategorie, zu der ein Produkt gehört. Dieser Kategoriename kann in einem Commerce-Szenario verwendet werden, um für das Produkt einzukaufen. Beispielsweise könnte ein Steckdosenprodukt zu einer Bürogerätekategorie gehören.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    products.product_description Vollständige Beschreibung des Produkts, das einem Käufer innerhalb einer Commerce-Experience angezeigt wird.
    Hinweis:
    Es wird empfohlen, dass der Lieferant hier so beschreibend wie möglich ist, insbesondere für Produktpaketkatalogelemente, bei denen untergeordnete Paketkomponenten vorhanden sind.

    Datentyp: Zeichenfolge

    Maximale Länge: 65000

    products.product_name Erforderlich. Name des Produkts.

    Datentyp: Zeichenfolge

    Maximale Länge: 1000

    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

    Produkte.Einheit Erforderlich. Einheit oder Rate, zu der das Produkt vom Lieferanten verkauft wird. Beispiel: Teile, Stunden usw.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Produkte.unspsc Erforderlich. Bezeichner, den Sie eingeben, wenn Sie nicht festlegen product_category_nameEigenschaft. Dieser Bezeichner ist der UNSPSC für die Kategorie, zu der ein Produkt gehört. Beispielsweise 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 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, 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"
                        }
                    ]
                }
            ]
        }
    }