Produktbestellung – API-Entwicklerleitfaden öffnen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Verwenden Sie Offene API für Produktbestellung Dient zum Erstellen, Aktualisieren und Abrufen von Produktauftragsinformationen.

    Dieser Entwicklerleitfaden enthält Informationen zum erweitern von Offene API für Produktbestellung Um verschiedene Anpassungen vorzunehmen.

    Erweitert die API „Produktbestellung öffnen“

    Die Offene API für Produktbestellung Kann durch Bearbeitung von Skripteinbindungen erweitert werden.

    Diese Skripteinbindungen sollten nur bearbeitet werden, wenn die Konsequenzen der Änderungen verstanden werden.
    • TMFProductOrderAPIUtil : Enthält Funktionen zur Verarbeitung von POST-Anforderungen.
    • TMFProductOrderGetAPIUtil : Enthält Funktionen zur Verarbeitung von GET-Anforderungen.
    • ProduktbestellerErweiterungOOB : Enthält Hilfsfunktionen, die Funktionen in unterstützen TMFProductOrderAPIUtil Und TMFProductOrderGetAPIUtil .
    • ProductOrderProcessor : Eine leere Skripteinbindungsdatei. Verwenden Sie diese Datei, um alle Funktionen zu definieren, aus denen Sie überschreiben möchten ProduktbestellerErweiterungOOB .

    Erweitern Sie Offene API für Produktbestellung Um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Um zu ändern, welche Anforderungstext-Parameter zum Erstellen einer Produktbestellung erforderlich sind oder nicht, überschreiben Sie die Funktion GetProductOrderSchema() Enthalten in ProduktbestellerErweiterungOOB Skripteinbindung.

    Die Funktion GetProductOrderSchema() Liest das Schema aus TMFOrderAPIKonstanten Skripteinbindung. TMFOrderAPIKonstanten Ist geschützt und kann nicht bearbeitet werden, daher können Sie das Schema nicht einfach aktualisieren. Stattdessen muss ein neues Schema aus einer anderen Datei gelesen werden. Sie können überschreiben GetProductOrderSchema() Zum Lesen eines neuen Schemas. Zum Überschreiben GetProductOrderSchema() , Schreiben Sie eine Funktion mit demselben Namen in ProductOrderProcessor Skripteinbindung. Die neue Funktion in ProductOrderProcessor Wird von aufgerufen TMFProductOrderAPIUtil Um den Standard zu ersetzen GetProductOrderSchema() Funktion in ProduktbestellerErweiterungOOB .

    In diesem Beispiel GetProductOrderSchema() Gibt ein anwenderdefiniertes Schema zurück, das in einer neuen Konstantendatei definiert ist.
    // ProductOrderProcessor
    
    var ProductOrderProcessor = Class.create();
    ProductOrderProcessor.prototype = Object.extendsObject(ProductOrderExtensionOOB, {
       // Define overriding functions here
       // Function name and parameters must be identical to the function it overrides
    
       getProductOrderSchema: function() {
          //Define your own custom schema in a new constant file
          return JSON.parse(Constants.SCHEMA.CREATE_PRODUCT_ORDER);
       },
    
       type: 'ProductOrderProcessor'
    });

    Validierung des Anforderungstexts

    Überschreiben Sie, um eine zusätzliche Validierung für den Anforderungstext durchzuführen ProduktbestellerErweiterungOOB Funktionen. ProduktbestellerErweiterungOOB Enthält die folgenden vier Hilfsfunktionen, die zurückgeben Wahr Standardmäßig.
    • ValidatePostRequest() – Angerufen von ProcessCreateOrder() In TMFProductOrderAPIUtil .
    • ValidateProductObj() – Angerufen von ProcessCreateOrder() In TMFProductOrderAPIUtil .
    • ValidateRelatedPartyObj() – Angerufen von ProcessCreateOrder() In TMFProductOrderAPIUtil .
    • ValidateGetRequest() – Angerufen von ProcessGetOrder() In TMFProductOrderGetAPIUtil .
    Wenn eine Hilfefunktion zurückgegeben wird Falsch , Stoppt den API-Vorgang. Überschreiben Sie, um eine anwenderdefinierte Validierung anzuwenden ProduktbestellerErweiterungOOB Hilfsfunktionen durch Erstellen von Funktionen mit identischen Namen und Parametern in ProductOrderProcessor . Diese neuen ProductOrderProcessor Funktionen werden von aufgerufen TMFProductOrderAPIUtil Und TMFProductOrderGetAPIUtil Um den Standard zu ersetzen ProduktbestellerErweiterungOOB Hilfsfunktionen.
    In diesem Beispiel eine Funktion in ProductOrderProcessor Überschreibt eine Standardfunktion in ProduktbestellerErweiterungOOB Dient zum Durchführen einer Validierung für productOrderItemAttribut.
    // ProductOrderProcessor
    
    var ProductOrderProcessor = Class.create();
    ProductOrderProcessor.prototype = Object.extendsObject(ProductOrderExtensionOOB, {
        // Define overriding functions here
        // Function name and parameters must be identical to the function it overrides
    
        validatePostRequest: function(orderObject, details) {
            // Returning false terminates the POST request
            // Make sure to push error message in details array in case of error
            if (gs.nil(orderObject.productOrderItem)) {
                details.push(new TMFCommonOrderAPIUtil().getErrorDetailsObj(TMFOrderAPIConstants.MESSAGES.MISSING_ORDER_ITEM, '/'));
                return false;
            }
            return true;
        },
    
        type: 'ProductOrderProcessor'
    });

    Zusätzliche REST-Vorgänge

    Um zusätzliche Vorgänge zu erstellen, die über die vorhandenen GET- und POST-Vorgänge hinausgehen, Erstellen Sie zusätzliche geskriptete REST-Ressourcen Für Offene API für Produktbestellung . Die Logik der neuen geskripteten REST-Ressourcen muss mit den vorhandenen Vorgängen übereinstimmen. Definieren Sie Funktionen für die neuen Vorgänge in einer neuen Skripteinbindung.

    Feldzuordnung

    Beim Erstellen von Datensätzen ordnet die API Anforderungstext-Parameter Datensatzfeldern zu. Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.

    ProduktbestellerErweiterungOOB Enthält die folgenden Funktionen zum Zuordnen eines POST-Anforderungstexts zu einem GlideRecord.
    • TransformOrderGr()
    • TransformOrdnerLineItemGr()
    • GetLineItemPrice()
    • TransformPriceOrderTypeAndState()
    • TransformCustLineItmContact()
    • TransformOrderItemChar()
    ProduktbestellerErweiterungOOB Enthält die folgenden Funktionen zum Zuordnen eines GlideRecord zu einem Antwortobjekt für GET- oder POST-Anforderungen.
    • TransformPostOrderResponse()
    • TransformGetOrderResponse()
    • TransformProductObj()
    • TransformRelatedPartyCustomerLineItem()
    • TransformOrderItemRelationship()
    • TransformGetOrdLineItmResponse()
    • TransformProductCharacteristics()
    • TransformProductSpecification()
    Passen Sie Feldzuordnungen an, um Daten für zusätzliche Felder hinzuzufügen und abzurufen oder die Standardzuordnungen für Felder zu ändern. Überschreiben Sie, um die Feldzuordnungen anzupassen ProduktbestellerErweiterungOOB Ordnen Sie Funktionen zu, indem Sie Funktionen mit identischen Namen und Parametern in erstellen ProductOrderProcessor . Diese neuen ProductOrderProcessor Funktionen werden von verwendet TMFProductOrderAPIUtil Und TMFProductOrderGetAPIUtil Um den Standard zu ersetzen ProduktbestellerErweiterungOOB Zuordnungsfunktionen.
    In diesem Beispiel zwei Funktionen in ProductOrderProcessor Überschreiben Sie die Standardfunktionen in ProduktbestellerErweiterungOOB Um Zuordnungen für zu erstellen external_idUnd sys_idFelder.
    // ProductOrderProcessor
    
    var ProductOrderProcessor = Class.create();
    ProductOrderProcessor.prototype = Object.extendsObject(ProductOrderExtensionOOB, {
        // Define overriding functions here
        // Function name and parameters must be identical to the function it overrides
    
        transformOrderGr: function(requestObject, orderGr) {
            orderGr.external_id = requestObject.externalId;
            return orderGr;
        },
    
        transformPostOrderResponse: function(orderObject, orderGr) {
            orderObject.id = orderGr.getValue('sys_id');
            return orderObject;
        },
    
        type: 'ProductOrderProcessor'
    });