Spendint API - POST /sn_spend_intg/spendint/orderack

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Aktualisiert Bestellinformationen für den Fall, dass ein Benutzer ein Produkt aus einem Drittpartei-Katalog kauft. Wenn der Benutzer den Bezahlvorgang durchführt, wird eine Bestellposition erstellt, damit Genehmigungen und andere Aufgaben für den Kauf abgeschlossen werden können.

    Wenn eine Bestellung in der ServiceNow-Datenbank generiert wird, wird die Bestellung in die folgenden Tabellen verschoben:
    • Ausgehende Bestellung: Enthält den Auftragsheader.
    • Ausgehende Bestellposition: Enthält die Auftragspositionen.

    Lieferanten müssen diese Tabellen abfragen und die für sie ausstehenden Bestellungen abrufen. Lieferanten sollten eine bereichsbezogene App für Workflow-Studio-Aktionen erstellen, um die Integration mit der ServiceNow-Datenbank durchzuführen.

    Fragen Sie die Tabellen mit den folgenden Parametern ab:
    • sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20 for header
    • sysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20 for header
    Wenn eine Bestellanforderungsposition in eine Bestellposition konvertiert wird, werden die folgenden Prozesse ausgeführt:
    1. Die Bestellung und die Bestellposition werden ggf. an Enterprise Resource Planning (ERP) übermittelt.
    2. Die Bestellung und die Bestellposition werden mit der Kunden-ID, der Lieferanten-ID, die Kaufauftragsnummer, dem Bestelldatum, dem Bestellbetrag, der Bestellbetragwährung und den Bestellpositionen über die Integration an die Drittpartei übertragen.
    3. Die Bestellung und die Bestellposition verbleiben im Status „Ausstehende Übermittlung“, bis sowohl von der Drittpartei-Katalogintegration als auch von ERP eine Bestätigungsnachricht eingeht. Nachdem die Bestätigung eingegangen ist, wird der Status in „Bestellt“ aktualisiert. Wenn keine ERP-Integration beteiligt ist, ist eine Bestätigungsnachricht nur von der Drittpartei-Integration erforderlich.

    Statustabellen

    Um den Status der Anforderung zur Auftragsbestätigung 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 Anforderung zur Auftragsbestätigung fehlgeschlagen ist. Um eine Auftragsbestätigungsantwort zu erhalten, fragen Sie die Tabelle „Auftragsbestätigungsfehler“ mit dem folgenden Parameter ab:

    sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20

    Die Detailinformationen 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/orderack

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    Modus Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration.

    Datentyp: Zeichenfolge

    Gültige Werte:
    • async: asynchroner Modus.
    • sync: synchroner Modus.

    Standard: async

    Tabelle : 3. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    customer_id Erforderlich. Bezeichner für den Kunden.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    order_number Erforderlich. Bestellnummer, die der Kunde für diesen Auftrag angegeben hat.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    sales_order_lines Liste der Objekte, die die Kundenauftragspositionen mit eindeutigen Aktualisierungen für die Käufe in diesem Auftrag definieren.

    Datentyp: Array

    "sales_order_lines":[
      {
        "estimated_arrival_date": "String",
        "line_number": "String",
        "sales_order_line_number": "String"
      }
    ]
    sales_order_lines.estimated_arrival_date Voraussichtliches Ankunftsdatum der Bestellung.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Format: JJJJ-MM-TT

    sales_order_lines.line_number Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wurde.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    sales_order_lines.sales_order_line_number Verkaufsauftragspositionsnummer, die vom Lieferanten generiert wurde. Diese Nummer ist nur für Überarbeitungen dieses Kaufs erforderlich.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    sales_order_number Nummer oder Wert, die/der vom Lieferanten für diesen Auftrag generiert wird.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    status_code Erforderlich. Status des übermittelten Auftrags, der bestätigt, ob der Auftrag erfolgreich erteilt wurde.

    Datentyp: Zeichenfolge

    Gültige Werte:
    • confirmed: Auftrag erfolgreich erteilt.
    • rejected: Auftrag nicht erteilt.
    status_message Nachricht, die an einen Statuscode angehängt ist. Beispielsweise könnte die Nachricht lauten, dass der Auftrag erfolgreich erteilt wurde und im Lieferrückstand ist.

    Datentyp: Zeichenfolge

    Maximale Länge: 1.000

    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.

    Tabelle : 4. Anforderungsheader
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Hinweis:
    Für Procurement Integration Framework wird nur das Datenformat application/json unterstützt.
    Tabelle : 5. Antwort-Header
    Kopfzeile 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.

    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 Verkaufsauftragsnummer, Verkaufsauftragspositionsnummer 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/orderack" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    {"root":[{
      "customer_id": "ACME CORP",
      "supplier_id": "SUP-123456",
      "third_party_import_id": "undefined",
      "order_number": "PO08903323",
      "sales_order_number": "SO03323212",
      "status_code": "CONFIRMED",
      "status_message": "BACKORDERED",
      "sales_order_lines":[
        {
          "line_number": "POL6789876",
          "sales_order_line_number": "SOL5678909",
          "estimated_arrival_date": "YYYY-MM-DD"
        }
      ]
    }
    ]}
    

    Mögliche Antworten:

    // Success response:
    {
        "result": {
            "response": "success"
        }
    }
    
    // Error response:
    {
        "result": {
            "response": [
                {
                    "customer_id": "ACME CORP",
                    "supplier_id": "SUP-123456",
                    "third_party_import_id": "undefined",
                    "status_code": "failure",
                    "error_response_body": [
                        {
                            "sales_order_number": "SO03323212",
                            "sales_order_line_number": "SOL5678909",
                            "error_message": "Field Value empty/Formatting issue Purchase order number\nField Value empty/Formatting issue Purchase order line number\n"
                        }
                    ]
                }
            ]
        }
    }