Spendint API - POST /sn_spend_intg/spendint/shipment

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 5 Minuten Lesedauer
  • Verwenden Sie diesen Endpunkt, um Updates für Käufe von Drittparteien zu akzeptieren.

    Wenn Sie Daten empfangen, müssen Sie die Versanddaten über die Verkaufsauftragspositionsnummer mit einer Bestellposition abgleichen. Sie können die Nachverfolgungsnummer verwenden, um nach einem vorhandenen Versanddetail-Datensatz zu suchen, der sich auf die Bestellposition bezieht. Wenn kein solcher Datensatz gefunden wird, erstellen Sie einen neuen Versanddetail-Datensatz. Wenn für die Versanddaten keine Bestellung oder Bestellposition vorhanden ist, wird eine Fehlermeldung angezeigt, die besagt, dass die Bestellung für diesen Versand nicht vorhanden ist.
    Hinweis:
    Wenn sich die Bestellung und Bestellpositionen im Status „Ausstehende Übermittlung“ befinden und die Kundenaufträge und Kundenauftragspositionen nicht ausgefüllt sind, sind der Versand und die Rechnungsübermittlung durch den externen Reseller nicht zulässig. Dies ist nur zulässig, wenn der Status der Bestellung und der Bestellpositionen „Bestellt“ lautet. Außerdem gibt es keine Einschränkungen bezüglich der Abfolge von Versand und Rechnungsübermitlung.

    Statustabellen

    Um den Status der Versandanforderung 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 Versandaktualisierung fehlgeschlagen ist. Um eine Versandantwort zu erhalten, fragen Sie die Tabelle „Versandfehler“ 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/shipment

    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 Bezeichner für den Kunden.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    order_number Erforderlich. Kaufauftragsnummer, die der Kunde für diese Bestellung angegeben hat.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

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

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines Liste der Versandpositionen, die die Seriennummer, IMEI-Nummer und Asset-Tag-Details der Assets enthalten kann.

    Datentyp: Array

    "shipment_lines": [
      {
        "actual_shipment_date": "String",
        "estimated_arrival_date": "String",
        "line_number": "String",
        "planned_shipment_date": "String",
        "product_details": [Array],
        "sales_order_line_number": "String",
        "shipping_address": {Object},
        "shipping_carrier": "String",
        "shipment_quantity": "String",
        "ship_to": "String",
        "tracking_number": "String"
      }
    ]
    shipment_lines.actual_shipment_date Datum, an dem die Sendung den Standort des Lieferanten verlässt.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Format: JJJJ-MM-TT

    shipment_lines.estimated_arrival_date Datum, an dem die Sendung voraussichtlich am angegebenen Standort ankommt.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Format: JJJJ-MM-TT

    shipment_lines.line_number Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wird.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines.planned_shipment_date Datum, an dem die Sendung den Standort des Lieferanten verlassen soll.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    Format: JJJJ-MM-TT

    shipment_lines.product_details Liste der Objekte, die die Details zu den verschickten Produkten definieren. Zu den Optionen gehören die Seriennummer, die IMEI-Nummer und Asset-Tag-Details.

    Datentyp: Array

    "product_details": [
      {
        "asset_tag": "String",
        "imei": "String",
        "serial_number": "String"
      }
    ]
    shipment_lines.product_details.asset_tag Asset-Tag des verschickten Produkts.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    shipment_lines.product_details.imei IMEI-Nummer des verschickten Produkts.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    shipment_lines.product_details.serial_number Erforderlich. Seriennummer des verschickten Produkts.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

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

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines.shipping_address Adresse, an die die Produkte geliefert werden.

    Datentyp: Objekt

    "shipping_address":
      {
        "city": "String",
        "country": "String",
        "name": "String",
        "state": "String",
        "street": "String",
        "zip_code": "String"
      }
    shipment_lines.shipping_address.city Name der Stadt, an die die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 1.000

    shipment_lines.shipping_address.country Land, an das die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines.shipping_address.name Name des Kunden, an den die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 1.000

    shipment_lines.shipping_address.state Bundesland, an das die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 1.000

    shipment_lines.shipping_address.street Name der Straße, an die die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 1.000

    shipment_lines.shipping_address.zip_code Postleitzahl oder PIN-Code, an die bzw. den die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines.shipment_quantity Erforderlich. Anzahl der Produkte, die als physische Waren versendet werden. Die Nummer sollte die Menge der Produkte bezeichnen, die in der Sendung enthalten sind.

    Datentyp: Zeichenfolge

    Maximale Länge: 40

    shipment_lines.shipping_carrier Versandunternehmen, das das Produkt an den angegebenen Standort liefert, z. B. FedEx, UPS, USPS etc.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    shipment_lines.ship_to Name des Empfängers, an den die Produkte geliefert werden.

    Datentyp: Zeichenfolge

    Maximale Länge: 100

    shipment_lines.tracking_number Nachverfolgungsnummer, die vom Versandunternehmen für den gesamten Kauf oder für einen Teil des Kaufs angegeben 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

    supplier_shipment_number Erforderlich. Identifikationsnummer, die für diesen Versand generiert wird. Normalerweise wird diese Nummer von einem ERP- (Enterprise Resource Planning) oder Auftragsverfolgungssystem generiert.

    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 Verkaufsauftragspositionsnummer, Verkaufsauftragsnummer, Versandnummer des Lieferanten 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/shipment" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    {"root":[{
      "customer_id" : "ACME CORP",
      "supplier_id" : "SUP-123456",
      "third_party_import_id": "DEL2134324",
      "supplier_shipment_number" : "TN-YU67898723",
      "order_number": "PO0001002",
      "sales_order_number": "SO00223002",
      "shipment_lines": [
        {
          "line_number": "POL0001005",
          "sales_order_line_number": "SOL0231325",
          "shipment_quantity": "4",
          "shipping_carrier": "FedEx",
          "tracking_number": "E-901290092",
          "shipping_address":
            {
              "name" : "1640 Camino Del Rio North #202, San Diego,CA",
              "street" : "1640 Camino Del Rio North",
              "city" : "San Diego",
              "state" : "CA",
              "zip_code" : "92108-1512",
              "country" : "US"
            },
          "ship_to": "John doe",
          "planned_shipment_date": "YYYY-MM-DD",
          "actual_shipment_date": "YYYY-MM-DD",
          "estimated_arrival_date": "YYYY-MM-DD",
          "product_details": [
            {
              "serial_number": "FL1234-23242319001",
              "imei": "2134890294",
              "asset_tag": ""
            },{
              "serial_number": "FL1234-23242319110",
              "imei": "245499003",
              "asset_tag": ""
            }
          ]
        }
      ]
    }
    ]}

    Mögliche Antworten:

    // Success response:
    {
        "result": {
            "response": "success"
        }
    }
    
    // Error response:
    {
        "result": {
            "response": [
                {
                    "customer_id": "ACME CORP",
                    "supplier_id": "SUP-123456",
                    "third_party_import_id": "DEL2134324",
                    "status_code": "failure",
                    "error_response_body": [
                        {
                            "sales_order_line_number": "SOL0231325",
                            "sales_order_number": "SO00223002",
                            "supplier_shipment_number": "TN-YU67898723",
                            "error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
                        }
                    ]
                }
            ]
        }
    }