Spendint-API – /sn_spend_intg/Spendint/catalog VERÖFFENTLICHEN
Ermöglicht Lieferanten das Veröffentlichen mehrerer Kataloge zum Erstellen von Lieferantenprodukten, Modellprodukten, Verträgen und Preisdatensätzen.
- 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.
- Nachdem Sie eine Drittparteikategorie einer Modellkategorie zugeordnet haben, verwenden Sie die Herstellerteilenummer (MPN), um ein vorhandenes Produktmodell zu finden, falls eines verfügbar ist.
- 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.
- Wenn für die MPN kein Produktmodell vorhanden ist, gehen Sie wie folgt vor:
- 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.
- 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.
- 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
- 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.
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
| 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 |
|---|---|
| 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 | 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 |
| 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: Die untergeordneten Paketkomponenten und ihre Details (MPN und Mengen) müssen demselben Lieferanten zugeordnet werden.Da dieselbe untergeordnete Paketkomponente innerhalb eines Pakets mehrmals hinzugefügt werden kann, ist die eingegebene Menge das Unterscheidungsmerkmal zwischen denselben untergeordneten Paketkomponenten. Datentyp: Array |
| Products.Contract_Agreement | Details des Vertrags für ein Produkt. Hinweis:
Dies ist für untergeordnete Bündelkomponenten nicht erforderlich. 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 |
| 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.
| 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, 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"
}
]
}
]
}
}