Serviceauftrag – API-Entwicklerleitfaden öffnen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Verwenden Sie Serviceauftrag – API öffnen Dient zum Erstellen, Aktualisieren und Abrufen von Serviceauftragsinformationen.

    Dieser Entwicklerleitfaden enthält Informationen zum erweitern von Serviceauftrag – API öffnen Um verschiedene Anpassungen vorzunehmen.

    Erweiterung der API „Serviceauftrag öffnen“

    Die Serviceauftrag – API öffnen Kann durch Bearbeitung von Skripteinbindungen erweitert werden.

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

    Erweitern Sie Serviceauftrag – API öffnen Um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Um zu ändern, welche Anforderungstext-Parameter zum Erstellen eines Serviceauftrags erforderlich sind oder nicht, überschreiben Sie die Funktion GetServiceOrderSchema() Enthalten in ServiceOrderExtensionOOB Skripteinbindung.

    Die Funktion GetServiceOrderSchema() 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 GetServiceOrderSchema() Zum Lesen eines neuen Schemas. Zum Überschreiben GetServiceOrderSchema() , Schreiben Sie eine Funktion mit demselben Namen in ServiceOrderProcessor Skripteinbindung. Die neue Funktion in ServiceOrderProcessor Wird von aufgerufen TMFServiceOrderAPIUtil Um den Standard zu ersetzen GetServiceOrderSchema() Funktion in ServiceOrderExtensionOOB .

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

    Validierung des Anforderungstexts

    Überschreiben Sie, um eine zusätzliche Validierung für den Anforderungstext durchzuführen ServiceOrderExtensionOOB Funktionen. ServiceOrderExtensionOOB Enthält die folgenden vier Hilfsfunktionen, die zurückgeben Wahr Standardmäßig.
    • ValidatePostRequest() – Angerufen von ProcessPostOrder() In TMFServiceOrderAPIUtil .
    • ValidateServiceObj() – Angerufen von ProcessPostOrder() In TMFServiceOrderAPIUtil .
    • ValidateRelatedPartyObj() – Angerufen von ProcessPostOrder() In TMFServiceOrderAPIUtil .
    • ValidateGetRequest() – Angerufen von ProcessGetOrder() In TMFServiceOrderGetAPIUtil .
    Wenn eine Hilfefunktion zurückgegeben wird Falsch , Stoppt den API-Vorgang. Überschreiben Sie, um eine anwenderdefinierte Validierung anzuwenden ServiceOrderExtensionOOB Hilfsfunktionen durch Erstellen von Funktionen mit identischen Namen und Parametern in ServiceOrderProcessor . Diese neuen ServiceOrderProcessor Funktionen werden von aufgerufen TMFServiceOrderAPIUtil Und TMFServiceOrderGetAPIUtil Um den Standard zu ersetzen ServiceOrderExtensionOOB Hilfsfunktionen.
    In diesem Beispiel eine Funktion in ServiceOrderProcessor Überschreibt eine Standardfunktion in ServiceOrderExtensionOOB Dient zum Durchführen einer Validierung für serviceOrderItemAttribut.
    // ServiceOrderProcessor
    
    var ServiceOrderProcessor = Class.create();
    ServiceOrderProcessor.prototype = Object.extendsObject(ServiceOrderExtensionOOB, {
        // 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.serviceOrderItem)) {
                details.push(new TMFCommonOrderAPIUtil().getErrorDetailsObj(TMFOrderAPIConstants.MESSAGES.MISSING_ORDER_ITEM, '/'));
                return false;
            }
            return true;
        },
    
        type: 'ServiceOrderProcessor'
    });

    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 Serviceauftrag – API öffnen . 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.

    ServiceOrderExtensionOOB Enthält die folgenden Funktionen zum Zuordnen eines POST-Anforderungstexts zu einem GlideRecord.
    • TransformOrderGr()
    • TransformOrdnerLineItemGr()
    • TransformCustLineItmContact()
    • TransformOrderItemChar()
    ServiceOrderExtensionOOB Enthält die folgenden Funktionen zum Zuordnen eines GlideRecord zu einem Antwortobjekt für GET- oder POST-Anforderungen.
    • TransformPostOrderResponse()
    • TransformGetOrderResponse()
    • TransformServiceObj()
    • TransformRelatedPartyCustomerLineItem()
    • TransformOrderItemRelationship()
    • TransformGetOrdLineItmResponse()
    • TransformServiceMerkmal()
    • TransformServiceSpecification()

    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 ServiceOrderExtensionOOB Ordnen Sie Funktionen zu, indem Sie Funktionen mit identischen Namen und Parametern in erstellen ServiceOrderProcessor . Diese neuen ServiceOrderProcessor Funktionen werden von verwendet TMFServiceOrderAPIUtil Und TMFServiceOrderGetAPIUtil Um den Standard zu ersetzen ServiceOrderExtensionOOB Zuordnungsfunktionen.

    In diesem Beispiel zwei Funktionen in ServiceOrderProcessor Überschreiben Sie die Standardfunktionen in ServiceOrderExtensionOOB Um Zuordnungen für zu erstellen external_idUnd sys_idFelder.
    // ServiceOrderProcessor
    
    var ServiceOrderProcessor = Class.create();
    ServiceOrderProcessor.prototype = Object.extendsObject(ServiceOrderExtensionOOB, {
        // 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: 'ServiceOrderProcessor'
    });